Web桌面應用框架2 著名的WEB桌面應用分析

2022-07-02 08:00:13 字數 1568 閱讀 8887

前一篇文章裡,分析了包括nw.js和electron這種純js框架在內的幾種web桌面應用開發方式,實際上還有一種最古老的方式,那就是嵌入webview的方式。

嵌入webview的方式和整個程式都是web視窗不同,僅在視窗的部分子視窗使用webview,和原生ui或directui結合的方式。

這種在c/c++程式裡嵌入webview的方式,由於沒有一種公認、通用的框架或方法,基本是最困難和最原始的方式蠻幹,或者自研平台,難以公開。但是也有很多效果很棒,很著名的軟體。那麼下面我們來細數一下這些桌面應用。

一、htmlayout與sciter

最新版的qq裡面,帶了libcef3.dll,不到30m的體積,剪裁得不錯。控制指令碼用得是lua。

資料打了包,在包裡有xml,html,lua。看來是directui和web混合開發。在頁面中使用webctrl,混合使用。

三、豌豆莢

豌豆夾裡帶了libcef.dll,大概38m大小,也帶了lua51.dll,不過現在還51是不是有點過時了,lua5.2 5.3都有很大的改進。

豌豆夾以前開源的onering專案也沒有了下文,程式裡也看不到onering的痕跡了,應該是改頭換面了。

資源打了包。其全部頁面都不支援右鍵選單,應該都是web的。雖然沒有使用混合介面,但和c++程式結合緊密,應該也還是有些貨的。

四、酷狗

有意思是的,酷狗的libcef.dll改名為infra.dll,40m大小

酷狗的資源打包成獨立檔案,xml格式,估計是directui與web結合的方式

只是各個版本的垃圾資源資訊能不能清理一下,難怪越來越大。

五、duilib,soui2,duivision與wke

duilib,soui2,duivision是國內著名開源directui庫,裡面都內建了wke引擎。

wke是基於webkit的精簡,優點是足夠小,11m大小。但是缺點是夠老和bug多。

因為相關開源庫的directui技術本身就是與web桌面應用相似的技術,基於xml開發介面。

所以很少人用wke開發web桌面應用,基於wke的web桌面應用還處在比較原始的階段。

wke的傳送門github - blzfans/wke

而號稱史上最小chromium核心的miniblink,已經開源了,不知道如何。

作者比較活躍,給個傳送門吧:github - weolar/miniblink49

總結:web桌面應用框架總得來說,要麼難,要麼弱,要麼限制多。

雖然前端一直在推崇js全棧,但是我覺得還是多語言配合更有利。

理想中的框架要這樣:核心演算法能編譯+能與gui框架結合+web只負責介面部分+有開源實現

golang+libui+cef+http+新框架,可能是個不錯的結合。

(完)

桌面工具向 Web 應用的躍遷

躍遷 這個詞借鑑自阿西莫夫的機械人系列故事。類似乙個世界向另乙個世界的瞬間移動,具體怎麼移動的,阿西莫夫一語帶過,類似古龍的小李飛刀,如何之快你也不知道 扯遠了,扯回來 最近越來越覺得 我實在有些後知後覺 桌面工具與客戶端工具被淘汰的趨勢已經不可逆轉,使用者習慣慢慢轉向並會習慣 web 應用。舉幾個...

基於python的web應用框架

1.部落格寫作背景 由於自己只擅長用python語言開發專案,受專案部署的需要,需要研究基於python的web應用框架。2.基於python的常見web伺服器框架 flask,uvicorn,django flask入門指南 flask教程 python uvicorn初體驗 4.第乙個flask...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...