做PC的客戶端軟體開發框架選擇,sciter vs QT,用哪個好點?

能否做點利弊對比分析呢?


補:原文中關於QT的說法,不太嚴謹,收到一些善意提醒,因此,刪除了關於QT部分的評價。

=====分界線====

雖然沒有被邀請,作為Sciter官方QQ群群主,我也來拋下磚。

作為一款國外(加拿大)的UI軟體,在眾多的UI開發工具中,Sciter及其前身HTMLayout,在國內一直比較小眾。說其小眾,是與廣大的UI開發者,尤其是桌面開發者和Web前端開發者之間的交集決定的。而已有的交集,又分成很多幫派。

桌面開發者,擅長各種VB/Delphi/C++/C#....,Web開發者,熟悉各種HTML/CSS/JS框架。隨著web-app時代的到來,用Web技術來設計桌面App,已經成為主流。答主和眾多Fans一樣,一路摸索過各種IDE,國內外各種UI工具,也研究過瀏覽器內嵌。反覆一番折騰之後,還是失望,沒有讓自身完美情節得到釋放的最佳排列組合。

既然說到交集,就是熟悉HTML技術的桌面App開發者,只有這些人才能玩轉HTML布局的桌面應用,並對流行的H5技術津津樂道。正是因為H5的流行,讓很多Fans看到了瀏覽器界面布局技術的強大,而javascript V8的問世,讓一切皆有可能。因此,各種瀏覽器引擎:WebKit、chromium、miniblink……讓人眼花繚亂。對於桌面應用,僅僅javascript是不夠的,還需要能調用各種os的API功能,因此,瀏覽器引擎被愛好者們不斷精簡,和傳統的編譯型語言進行整合。一方面需要對語言介面的精通,另一方面需要對整合過程不斷踩坑的超級耐力,另外完美情節者還需要面對幾十兆的龐大庫文件。這些也正是眾多UI fans反覆糾結的地方。

於是出現了以HTML為設計語言的專門的UI工具,像Sciter/HTMLayout、QT等。於是出現了題主這樣的苦惱。

Sciter,因為作者本身就是HTML5標準委員會的成員,其產品具有完美的HTML基因。從版本1到現在的版本4,可以說經過了翻天覆地的變化。目前的版本4,已經形成了Windows/MacOS/Linux的多平台集,僅Windows端支持GDI+/D2D/Skia-x32/x64多種渲染引擎,兼容各種平台。而動態庫只有一個dll,unpack壓縮後體積1-3M。API的豐富程度、圖形繪圖、動畫功能和性能讓人驚嘆。

如果說不足,或者說許多fans為之糾結的地方,就是Sciter所支持的HTML/CSS/TIScript,並不完全兼容當前的web標準。答主曾經為此專門諮詢過作者,Andrew,一個50幾歲喜歡到處旅遊的老程序員。他這樣答覆,web標準為了兼容性需要各種妥協,因此很多功能其實是雞肋;尤其是javascript,要實現DOM支持,也需要提供大量的冗餘介面。Sciter從一開始,曾做過對接嘗試,但實現的結果是,變得和現在的瀏覽器內核一樣的巨無霸。而作為一款定位桌面級UI的設計引擎,這顯然不是追求目標。

因此,在保留了HTML、css、javascript精華的基礎上,Sciter版的HTML組合提供了更符合UI設計的擴展,讓軟體運行速度更快,體積更小。而作者本身的極客特徵,為Sciter量身定做的tiscript,則包含了現在各種主流script語言的特徵:class化、函數式編程、豐富的數據類型、await/promise原生支持、graphic圖形動畫介面、對c++等外層語言的互調介面。可以說,熟悉javascript且喜歡鑽研(註:任何新技術的學習都需要這個潛質)的程序員,1天不到就可以熟悉tiscript的語法。結合SDK提供的豐富案例,Sciter上手不需要3天。

javascript與tiscript的對比

TIScript vs JavaScript

http://sciter.com/docs/js-dart-tis.html

感興趣的童鞋們,可以去:http://sciter.com/ 了解一下,也歡迎加入我們的QQ群:145775715

中文文檔方面的缺乏,也是其不足之處。在這方面,答主也在積極與官方溝通,開設中文版的官方網站。


如果是純windows平台的話,不要考慮Qt/Qml,WPF好一些。

sciter不了解。


居然有人想到sciter。醉了。這麼個不開源的東西敢和QT爭輝,當然不開源本身不是缺點,但沒有足夠的穩定程度還不開源就是缺點了。QT千錘百鍊,工業應用絲毫不用擔心,火車、飛機、超市收費大量QT應用足以證明,嫌大你可以用低版本嘛。


wpf原生親兒子,對高分屏和觸屏良好支持;C#,mvvm等各種高效;當年電腦配置低下,生不逢時啊


他山界面開發框架(OHUI),內嵌Gecko22.0,使用DX執行繪製,運行效率流暢。html(5), css(3), js 開發界面,支持js, c++互調,發行包大小13MB.


Qt,簡單容易上手,效果酷,開源資料多!


你如果不想別人看源碼的話

1.Delphi

2.QT

3.Lazarus

嘿嘿


用Qt 沒啥可比性


sciter 的scripts 不是javascript. 該腳本語法對於已經熟悉HMTL+CSS+JS的同學來說雞肋了。

之前我也找了好久類似的框架 從cef到nwjs到wke到eawebkit再到最近的miniblink

似乎已經看到了我要找的東西 希望你也能從我提到的這些框架里或者於類似與此類型的框架中找到那個適合你的webui。


不考慮MFC嗎?微軟大法好


文盲一名,最近也做PC客戶端,用的是WPF,覺得挺不錯的,不明白為什麼大家都不喜歡用它…


sciter好,輕鬆開發各種現代化界面,不懂去sciter論壇提問,作者很快答覆你。

用qt折磨死你。

sciter學習成本可能稍高一點,但學會了你將同時熟悉html css javascript,

另外,知道sciter的人不多。


推薦閱讀:

為什麼微軟不大力支持C ,而重點支持C#,難道今後windows平台開發就告別以前的MFC那一套了?
為什麼微軟不考慮提供一個更好的C++ GUI Framework for Windows?
Windows 10 能讓 MFC 寫的程序,運行在 Windows 10 平板和手機上嗎?
怎麼用 C++ 在一個月內做一個視窗程序,不要 MFC?
MFC程序員的前途和出路是什麼?

TAG:QtC開發框架 | 用戶界面設計 | MFC | UI開發 |