WEBAPP开发教程Web桌面应用框架2:著名的WEB桌面应用分析
凌雪 2018-11-08 来源 :网络 阅读 879 评论 0

摘要:本文将带你了解WEBAPP开发教程Web桌面应用框架2:著名的WEB桌面应用分析,希望本文对大家学WEBAPP有所帮助。

本文将带你了解WEBAPP开发教程Web桌面应用框架2:著名的WEB桌面应用分析,希望本文对大家学WEBAPP有所帮助。


 
前一篇文章里,分析了包括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+新框架,可能是个不错的结合。
 
      

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程