發新話題
打印

[C++] Ultimate++ GUI Framework

推到噗浪
推到臉書

[C++] Ultimate++ GUI Framework

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

TOP

PCMan 評論 FOX Toolkit 與中文支援

TOP

發新話題