duiLib 和 vczh 的 gacLib 哪個更具有實用價值?
01-08
duiLib 是一個國產輕量級的windows C++ directUI,目前不少國內公司都在用。
gayLib 是輪子哥多年時間重構,使用畢生造輪子經驗開發出來的重量級C++圖形界面圖,而且橫跨三大平台。
用過gaclib寫了組成作業的彙編器的界面,簡單說兩句吧
界面基本上就是我用輪子叔demo的test editor改的,額外加了一個兩個文本框用來顯示彙編報錯和二進位碼首先說畫風,整套gaclib的界面是輪子叔高仿win8.1風格畫出來的,在win10上略有些維和然後說一下設計
界面由xml資源描述,調用gacgen編譯成.h和.cpp窗口類以及bin格式的二進位資源,二進位資源應該是gaclib里workflow script的位元組碼,啟動的時候要載入,用來做反射和數據綁定,聽說新版本就能把大部分腳本編譯到C++了,還是挺期待的MVVM雖好,但是學習workflow script的語法還稍有些門檻,以及gaclib提供的綁定語法太自由,感覺有些無所適從,所以就用寫成了MVCgacgen生成的代碼文件嚴格按輪子叔的代碼風格格式化(用tab),與自己的代碼風格格格不入,並且還不能改,否則再次merge的時候會出問題控制項的快捷鍵綁定要自己做,不像qt那樣拖出來就自動支持ctrl-z,ctrl-c等快捷鍵其他的感覺還好,gaclib的基礎庫vlpp很輕量級,但是五臟俱全,唯一的問題就是char和wchar字元串轉換的時候要稍微麻煩點,好在api很夠,wtoa和atow都有有一個支持基於正則表達式的高亮的文本框,用來做代碼高亮很不錯哦還有奇怪的問題就是x64下的gaclib會出奇怪的異常,是在dx內部,不知道什麼原因(剛就在我打開來截圖的功夫又崩了一次)
最後上個圖鍵盤上C和Y相隔好遠的啊
輪子的應該是gaclib吧,這個了解不多,似乎使用了類似WPF的MVVM,應該不會太差。
看過duilib源碼,說說duilib吧
duilib原來也是國外人做的,後來國產了,在UX不複雜的情況下還是不錯的,不過這東西不太適合用於正式的項目duilib有一些功能和設計上的問題:雖然界面元素定義於在XML里,但大量界面元素的硬編碼,屬性,方法,事件過早的具體化,這或許是原作者做對於"控制項"這個概念執念過深,這可能會導致用戶重組界面邏輯,因為它無法支持用戶以某個區域為邏輯單元,自行選擇屬性、方法、事件為執行策略的場景需求。簡單的說就是不夠靈活。基於原作者的"控制項"思維,用戶可以很方便的使用已有控制項,但卻需要為變種控制項或複合控制項花費精力。源碼里似乎有做數據驅動UI的想法,但似乎還沒做好。layout布局的弱功能性這不利於界面塊的操作。焦點處理有很多蹩腳的地方,而且沒有鍵盤焦點和滑鼠焦點的區分,這在支持某些操作的時候會很麻煩。動畫效果無法展現,或者說它本身就不支持腳本。Render的方式封閉且單一。沒有緩存機制。只支持像素為單位的布局,在不同設備上可能會展現不好。
XML的載入無法以流的形式完成,而且界面資源量較大時可能會產生性能瓶頸(或者說視覺上的卡頓),基於網路的動態界面也不好呈現。只用過 DuiLib,本無資格評論。但是……嚴重懷疑是軟文好吧。
gayLib…你在暗示什麼嗎?
你真不是曾老師的小號
此生?輪子鍋才28,難道他不久將於人世。
@vczh@陳萌萌
見過不少的duilib項目,比如微信PC版本。
gaylib是什麼東西啊。。。。
這個問題的描述有問題!
推薦閱讀:
※Windows 7 的開機速度為什麼那麼慢?
※如何系統地學習windows下的批處理腳本?
※為什麼有了微軟輸入法還要弄必應輸入法?
※關於 Windows 下批處理的問題?
※win10的cortana為什麼不和我聊天了?
TAG:微軟Microsoft | MicrosoftWindows | 圖形用戶界面 | C |