[C++] Ultimate++ GUI Framework
Ultimate++一個完全公開原始碼且免費的 C++ GUI Framework
[url=http://www.ultimatepp.org/]http://www.ultimatepp.org/[/url]
BSD 授權
官網敘述:
[quote]
[b]Ultimate++[/b] is a radical and innovative GUI toolkit whose number one priority is programmer productivity. C++ is a great programming language but C++ programmers are sometimes hampered by the lack of effective libraries. U++ libraries enable genuine productivity gains with shorter development times and greatly reduced application source code size.
Ultimate++ is a C++ cross-platform rapid application development suite. It includes a set of libraries (GUI, SQL, etc..), and an integrated development environment.
Rapid development is achieved by the [url=http://www.ultimatepp.org/www$uppweb$overview$en-us.html][color=#0000ff]smart and aggressive use of C++[/color][/url] rather than through fancy code generators. In this respect, U++ competes with popular scripting languages while preserving C/C++ runtime characteristics.
The U++ integrated development environment, TheIDE, introduces modular concepts to C++ programming. It features BLITZ-build technology to speedup C++ rebuilds up to 4 times, Visual designers for U++ libraries, [url=http://www.ultimatepp.org/app$ide$Topic$en-us.html][color=#0000ff]Topic++[/color][/url] system for documenting code and creating rich text resources for applications (like help and code documentation) and [url=http://www.ultimatepp.org/app$ide$Assist$en-us.html][color=#0000ff]Assist++[/color][/url] - a powerful C++ code analyzer that provides features like code completion, navigation and transformation.
TheIDE can work with GCC, MinGW and Visual C++ 7.1 or 8.0 compilers (including free Visual C++ Toolkit 2003 and [url=http://msdn.microsoft.com/vstudio/express/visualc/][color=#0000ff]Visual C++ 2005 Express Edition[/color][/url]) and contains a full featured debugger. TheIDE can also be used to develop non-U++ applications.
U++ distributions combine U++ with 3rd party tools like MinGW compiler or SDL library to provide an instant development platform.
[/quote]
下面這是網路上,用過的人的評價:
[quote]
優點
1. 免費且公開原始碼
2. 標準 C++
3. 好學好寫
4. 很多新的設計理念,像是
i 高度使用 template
不像 wxWidgets 故步自封,把 template 當作惡魔
ii 成員函數傳回reference, 可以串接指令,如
TopWin.SetPos(x,y).SetSize(cx,cy).SetTitle("Hello World") ;
所以程式碼可以很精簡
iii 訊息的反應採用一種 template callback function
類似 boost::function,設定方便,且可以動態替換
不像 MFC 用什麼 Message Mapping Macro,真的很醜
iv Dialog Box 本身就是 C++ 檔,控制項可以完全當作一般變數處理。
不用寫什麼資源描述語言,新增跟刪除移除控制項都非常方便。
v 支援控制項 layout
5. 有 IDE 支援 RAD (Rapid application development).
拖拖拉拉就可以完成介面。
6. 目前支援 Windows 跟 Linux,未來會轉移也會移植到 Mac
7. 支援 packege 管理函式庫。
8. 目前發展的速度良好,約兩個禮拜一個 dev, 一季一個 release。
缺點
1. 編出來的執行檔偏大,一個小小的視窗程式大概要 0.5 MB
但是隨著程式碼越來越多,執行檔大小增加的速度非常緩慢。
2. 第一次編譯要很久,Ultimate++ 第一次大概要 5 分鐘
3. 算是很大的缺點,因為才剛起步,目前文件不足!
這真的是蠻困擾的事情,我常常要自己翻 source code
也可以到 forum 去詢問,通常在一天以內就會得到開發團隊的答案
4. 比起 Qt 等成熟的 framework,元件比較少,但是該有的都有了。
這邊有一些他寫 GUI 的範例
可以看的出來程式碼非常簡短,而且很容易看懂。
[url=http://upp.sourceforge.net/srcdoc$CtrlLib$Tutorial$en-us.html][color=#c00000]http://upp.sourceforge.net/srcdoc$CtrlLib$Tutorial$en-us.html[/color][/url]
光是這頁看完就可以寫很多東西了,看完不用超過半小時。[/quote]
看樣子是個蠻新穎的東東,稍微查了一下文件,官網的文件說 "works in UNICODE" ,
我實際試用的結果是它內建的 TheIDE 設成 UTF-8 編碼之後,可以顯示中文,可是定位不準,
有些字會重疊,而且也無法直接輸入中文(依然中文字會重疊),
我是用其他支援 UTF-8 的編輯器打中文的。
[img]http://img180.imageshack.us/img180/8057/upp1la2.jpg[/img]
[img]http://img168.imageshack.us/img168/9862/upp2ad4.jpg[/img]
可是似乎並沒有每個元件的 Unicode 都處理的很好,還是有些目前沒法度秀出中文滴。
其實,我看到這個第一時間想拿來比較的 GUI Framework 就是 wxWidgets 跟 QT 了 ,
再來才是 Fox Toolkit 。
其他補充,
Ultimate++ 的技巧集
[url=http://leonardoce.interfree.it/leowiki.html]http://leonardoce.interfree.it/leowiki.html[/url]
PCMan 評論 FOX Toolkit 與中文支援
[url]http://blog.linux.org.tw/~jserv/archives/001667.html[/url]頁:
[1]