Pages

March 13, 2007

wxWidgets

wxWidgets ဆိုတာ Cross Platforms မွာသံုးလို ့ရတဲ့ GUI တည္ေဆာက္တဲ့ toolkit တစ္ခုပါ။ wxWidgets သံုးထားတဲ့ GUI ေတြဟာ တျခား ဟာေတြထက္စာရင္ ပိုၿပီး အဆင္ေျပတယ္။ အင္း.. သူကေတာ့ native look and feel လို ့ ေျပာထားပါတယ္။ ခက္တယ္.. တခ်ိဳ ့စကားလံုးေတြက ကိုယ့္ဟာကိုေတာ့ သိေပမယ့္ ျပန္ေရးဆို မေရးတတ္ေတာ့ဘူး။ ထားပါ .. wxWidgets အေၾကာင္း ဆက္ေျပာဦးမယ္။


ဒီ wxWidgets Library ကို C++ သံုးၿပီးေရးထားတာပါ။ wxWidgest ကို လာရွာၾကည့္မယ္ဆို C++ အတြက္ Framework ျဖစ္တယ္ဆိုၿပီး ေရးထားတာေတြ ေတြ ့ရတယ္။ C++ တစ္ခုအတြက္ သံုးလို ့ရတာ မဟုတ္ဘူး။ တျခား Programming Langauges ေတြမွာလည္း သံုးလို ့ရပါတယ္။ BASIC (wxBasic), Common Lisp (wxCL), D programming (wxD), Eiffel (wxEiffel) , Erlang (wxErlang), Haskell (wxHaskell), Java (wx4j), JavaScript (wxJS), C#/.NET (wx.NET), Lua programming (wxLua), Perl (wxPerl), Python (wxPython), Ruby (wxRuby), Smalltalk (wxSqueak) ေတြမွာ ခုလက္ရွိ သံုးႏိုင္ပါတယ္။ wxWidgets က လက္ရွိ support လုပ္တဲ့ Porgramming Lists ကို ၾကည့္လိုက္တာ တခ်ိဳ ့ Programming Langauges ေတြကိုဆို ကၽြန္မ ၾကားေတာင္ မၾကားဖူးဘူး။ ေနာက္ထပ္ တျခား programming langauges ေတြမွာ သံုးလို ့ရေအာင္ ဆက္ၿပီ develope လုပ္ေနၾကတယ္ သိရပါတယ္။

wxWidgets ဟာ Cross Platforms လို ့ေျပာထားတာနဲ ့ ဘယ္ platforms ေတြမွာ သံုးလို ့ရလဲ သိခ်င္လို ့ ရွာၾကည့္လိုက္ေတာ့ Windows, Apple Macintosh, Linux/Unix (X11, Motif, and GTK+), OpenVMS နဲ ့OS/2 ေတြမွာ သုံးႏိုင္တယ္သိရတယ္။ ေနာက္ၿပီး embedded system မွာ သံုးလို ့ရေအာင္လုပ္ေနတာက under developement လို ့ ေျပာထားေတာ့ ဒီထက္ပိုၿပီး နာမည္ၾကီးလာဦးမယ္ ထင္ပါတယ္။

"wxWidgets enables a program to compile and run on several computer platforms with minimal or no code changes." တဲ့.. ကၽြန္မတို ့လို software developer ေတြ အႀကိဳက္ေပါ့။ ဘာမွ code ေတြေျပာင္းစရာမလုိပဲ Platform အကုန္မွာ အဆင္ေျပေနရင္ ပိုေတာင္ ၾကိဳက္ေသးတယ္။ ဘာမွ ေရးစရာမလိုရင္ ပိုေတာင္ ၾကိဳက္ၾကဦးမယ္ထင္တယ္။

wxWidgets က Native AIPs ေတြကို ေခၚသံုးထားတာသိရတယ္။ ဒီလို Native APIs ေတြကို ေခၚသံုးရင္ အျပင္အဆင္ အဆင္ေျပရံုတင္မက တျခား Custom APIs ေတြကို သံုးၿပီး ေရးထားတာထက္ ပိုလည္း ျမန္တယ္။ " wxWidgets code prefers calling a native widget on the platform, instead of reimplementing custom widgets. This leads to a faster, more native looking interface when compared to toolkits like Swing (for Java) "

wxWidgets နဲ ့ ေရးထားတဲ့ screens shots ေလးေတြ ၾကည့္ခ်င္တယ္ဆို ဒီမွာ ၾကည့္လို ့ရပါတယ္။ ကၽြန္မ ကေတာ့ စာေတြ ဘယ္ေလာက္ေရးၿပီး ဘာေတြ ေကာင္းပါတယ္ ေျပာေနေန.. ပံုေလးေတြနဲ ့ ဒါကိုသံုးၿပီး ဒါေတြ လုပ္ထားတယ္ ဆိုတာမ်ိဳးေလး ၾကည့္လိုက္ရတာကို ပိုၾကိဳက္တယ္။ စိတ္၀င္စားရင္ သြားၾကည့္လိုက္ၾကပါ။ wxWidgets က Free Open Source Project တစ္ခုပါပဲ။

ဒီမွာကေတာ့ wxWidgets ကို သံုးထားတဲ့ Software တခ်ဳိ ့ ..
* aMule - 'All-platform' P2P client based on eMule
* Audacity - a free/open source sound editor
* Audiobook Cutter - A user-friendly MP3 audiobook splitter.
* Code:locks - The free/open source, cross platform Free C++ IDE
* e - Collaborative Text Editor for Windows
* Juice (podcasting), an aggregator application that is used to download podcast media files
* Mahogany - An OpenSource cross-platform mail and news client.
* Monolith - tool to distribute copyrighted data
* MUTE - anonymous file sharing
* VLC media player - cross platform multimedia player

Source : wxwidgets.org , wikipedia.org

2 comments:

Thinzar said...

ေတာ္ေတာ္စိတ္၀င္စားဖို့ေကာင္းတဲ့ widget အေၾကာင္း share လုပ္ထားတာ ေက်းဇူး။

Nay Nay Naing said...

Technical post ေတြ ဖတ္မယ့္သူ၊ စိတ္၀င္စားသူ မရွိဘူး ထင္ေနခဲ့တာ.. ခုလို အားေပးတာ ေက်းဇူးပါပဲ ညီမေလး သဥၨာ ..