MyException - 我的异常网
当前位置:我的异常网» Web前端 » Web桌面应用框架二:著名的WEB桌面应用分析

Web桌面应用框架二:著名的WEB桌面应用分析

www.MyException.Cn  网友分享于:2013-09-19  浏览:0次
Web桌面应用框架2:著名的WEB桌面应用分析

 

前一篇文章里,分析了包括NW.js和electron这种纯JS框架在内的几种Web桌面应用开发方式,实际上还有一种最古老的方式,那就是嵌入WebView的方式。

嵌入WebView的方式和整个程序都是WEB窗口不同,仅在窗口的部分子窗口使用WebView,和原生UI或DirectUI结合的方式。

这种在C/C++程序里嵌入WebView的方式,由于没有一种公认、通用的框架或方法,基本是最困难和最原始的方式蛮干,或者自研平台,难以公开。但是也有很多效果很棒,很著名的软件。那么下面我们来细数一下这些桌面应用。

  

一、HTMLayout与sciter

HTMLayout是Web桌面应用平台里面的资深者。不开源,很小,不到1M大小(应该是加壳压缩了,实际3M多)。应该是作者原创的HTML引擎。一开始限制很多,后继者sciter强大了很多。6M大小。支持全平台开发,包括APP。因为不开源,所以网络影响不是很大,都是企业用户使用。

HTMLayout与sciter有一堆大名鼎鼎的用户,国内的有遨游maxthon浏览器,搜狐和360等。

 

二、QQ:

最新版的QQ里面,带了libcef3.dll,不到30M的体积,剪裁得不错。控制脚本用得是Lua。

资料打了包,在包里有XML,HTML,LUA。看来是DirectUI和WEB混合开发。在页面中使用WebCtrl,混合使用。

<UI>
<Window name="MedalWall" config="MedalWallWndConfig" location="50, 50" clientAreaSize="700,470" titleText="$@this:MedalWallWndCaption" fixSize="true" showMaxButton="false">
<!--<WebCtrl config="webkit" sizeAsParent="true" name="MedalWallPage" />-->
<Frame size="700,470">
<background>
<Brush clrFrom="0xFFFFFFFF"/>
</background>
</Frame>
</Window>
</UI>

 

三、豌豆荚

豌豆夹里带了libcef.dll,大概38M大小,也带了lua51.dll,不过现在还51是不是有点过时了,lua5.2 5.3都有很大的改进。

豌豆夹以前开源的OneRing项目也没有了下文,程序里也看不到OneRing的痕迹了,应该是改头换面了。

资源打了包。其全部页面都不支持右键菜单,应该都是WEB的。虽然没有使用混合界面,但和C++程序结合紧密,应该也还是有些货的。

 

 

四、酷狗

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

酷狗的资源打包成独立文件,XML格式,估计是DirectUI与Web结合的方式

<Forms>
<OnekeyBackupPrompt Name="OnekeyBackupPrompt" RelativePosition="0,0,0,0" Anchors="left,top,right,bottom">
<Image Name="OnekeyBackupPromptBackground" Anchors="left,top,right,bottom" RelativePosition="-20,-20,-20,-20" Bitmap="PlaylistAddMark.png"/>
<Image Name="OnekeyBackupPromptLogo" Anchors="" RelativePosition="0,-34,122,70" Bitmap="onekey_backup_animation.png"/>
<Label Name="OnekeyBackupPromptTips" Anchors="" RelativePosition="-30,27,90,16"/>
<Label Name="OnekeyBackupPromptCancel" Anchors="" RelativePosition="51,28,52,16"/>
</OnekeyBackupPrompt>
</Forms>

在“AppData\Roaming\KuGou8\WebCache”目录里,发现有解压后的资源,的确是HTML页面,证实使用了Web应用技术。

只是各个版本的垃圾资源信息能不能清理一下,难怪越来越大。

 在“AppData\Roaming\KuGou8\AppStore”目录发现在程序里面有sciter32.dll,看来也是sciter的用户。

 

五、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+新框架,可能是个不错的结合。

 

 (完)

  

文章评论

程序员必看的十大电影
程序员必看的十大电影
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员都该阅读的书
程序员都该阅读的书
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
那些争议最大的编程观点
那些争议最大的编程观点
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员的鄙视链
程序员的鄙视链
漫画:程序员的工作
漫画:程序员的工作
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
老程序员的下场
老程序员的下场
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
 程序员的样子
程序员的样子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
代码女神横空出世
代码女神横空出世
如何成为一名黑客
如何成为一名黑客
一个程序员的时间管理
一个程序员的时间管理
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
中美印日四国程序员比较
中美印日四国程序员比较
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我的丈夫是个程序员
我的丈夫是个程序员
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
10个调试和排错的小建议
10个调试和排错的小建议
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
旅行,写作,编程
旅行,写作,编程
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为什么程序员都是夜猫子
为什么程序员都是夜猫子
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有