Ultimate++
一個完全公開原始碼且免費的 C++ GUI Framework
http://www.ultimatepp.org/
BSD 授權
官網敘述:
引用:
Ultimate++ 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 smart and aggressive use of C++ 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, Topic++ system for documenting code and creating rich text resources for applications (like help and code documentation) and Assist++ - 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 Visual C++ 2005 Express Edition) 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.
下面這是網路上,用過的人的評價:
引用:
優點
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 的範例
可以看的出來程式碼非常簡短,而且很容易看懂。
http://upp.sourceforge.net/srcdoc$CtrlLib$Tutorial$en-us.html
光是這頁看完就可以寫很多東西了,看完不用超過半小時。
其他網站連結,
Ultimate++ 的技巧集
http://leonardoce.interfree.it/leowiki.html
CodeProject 上的 Ultimate++ 入門範例
http://www.codeproject.com/Artic ... arted-With-Ultimate
NTL 導覽(教學)
http://www.shoup.net/ntl/doc/tour.html