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="[email protected]: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+新框架,可能是个不错的结合。

(完)

时间: 2024-12-04 19:40:52

Web桌面应用框架2:著名的WEB桌面应用分析的相关文章

十七、EnterpriseFrameWork框架核心类库之Web控制器

回<[开源]EnterpriseFrameWork框架系列文章索引> EFW框架源代码下载:http://pan.baidu.com/s/1qWJjo3U EFW框架中的WebController就是解决JqueryEasyUI与逻辑层的交互,之间的数据是通过Json字符串来传递:值得注意的是WebController的代码一定不要和EFWWeb项目放在一起,你可以单独建一个项目类库,也可以和逻辑层项目放一起:在EFWWeb项目不要编写任何C#代码,这个在前面的文章中就提过,可以让你的Web项

Yii 框架创建自己的 web 应用

本篇文章转载自http://www.ibm.com/developerworks/cn/opensource/os-cn-yii/ Yii 是当今国内外最为流行的 PHP 框架.由于它高性能的特性,被公认为是“最有效率的 PHP 框架”.Yii 提供了今日 Web 2.0 应用开发所需要的几乎一切功能.它可以通过一个简单的命令 yiic 来快速创建一个 Web 应用程序的代码框架,开发人员通过在生成的代码框架上编写自己的业务逻辑,来实现 Web 应用的快速开发.本文将通过具体的实例对 Yii 框

如果你不知道这11款常见的Web应用程序框架 就说明你out了

本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档.如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是Ruby on Rails的简称,是一款开源的Web应用框架,采用Ruby语言,其设计原则是“不做重复的事”和“惯例优于设置”,是一款更符合实际需要而且更加高效的Web开发框架.Rails是一个全栈式的MVC框架,使用它可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来.除此以外,还有编写更少的代码.零周转时间等优点. 代码托管地址:https:/

10个优秀的 Web UI库/框架

UI(User Interface)即用户界面,也称人机界面.是指用户和某些系统进行交互方法的集合,实现信息的内部形式与人类可以接受形式之间的转换.本文为WUI用户整理了10个优秀的 Web UI 库/框架,为你的下一个Web设计的高效开发作好准备. 1. IT Mill Toolkit IT Mill Toolkit是一个开源的Web UI 框架,为富 Web 应用程序提供widgets 和工具.无需担忧Web 浏览器.DOM . JavaSWMCMS的兼容性性问题. 2. LivePipe

【ASP.NET Web API2框架揭秘】 初识Web API

Web Api 是什么? MSDN:ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务 百度百科:Web API是网络应用程序接口. 个人理解:Web API 是提供给多种客户端对data做CRUD(增删查改)操作的统一接口 ------------------------------------------- Asp.net Web API 支持多种寄宿方式 1,IIS作为宿主(创建一个Asp.net web应用程序作为Web

从零开始编写自己的C#框架(18)——Web层后端权限模块——菜单管理

从本章开始,主要讲解的是页面中对框架相关功能的调用方法,比如列表页面(又分为有层次感列表和普通列表).编辑页面.多标签页面等,只要熟悉了这些函数的使用方法,那么开发起来就会很便捷了. 1.如图先创建菜单列表与编辑页面 MenuInfoList.aspx 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MenuInfoList.aspx.cs" Inherits=&quo

《自己动手写开源框架10》:Web界面快速开发实践

下面是一些常用的链接,供大家使用: GIT地址:https://git.oschina.net/tinyframework/tiny问题报告:https://git.oschina.net/tinyframework/tiny/issues更多内容,请看本人博客,不一样的内容,一样的精彩! 在展示过程的同时,会把相关的知识做一个充分的介绍 .一.寻找网站模板 要做网站,不能没有模板,自己不会做网页设计,咋办?问谷歌找百度呗,找了一阵,看到下面这个模板不错,就它了. http://www.toop

《ASP.NET Web API 2框架揭秘》第一章 概述【样章】

<ASP.NET Web API 2框架揭秘>(详情请见<新作<ASP.NET Web API 2框架揭秘>正式出版>)以实例演示的方式介绍了很多与ASP.NET Web API相关的最佳实践,同时还提供了一系列实用性的扩展.本书详细讲解了ASP.NET Web API从接收请求到响应回复的整个流程,包括路由.Http Controller的激活.Action方法的选择与执行.参数的绑定与验证.过滤器的执行和安全等相关的机制.除此之外,本书在很多章节还从设计的角度对AS

web前端ui框架好用的有哪几个

如今移动端网站越来越火热,移动端的网站也纷纷崛地而起,在进行web前端开发(http://www.maiziedu.com/course/web/)时,需要用到适合自己项目的框架就需要有偶遇的机会,特别是适合移动端的web前端框架,很难遇得到,下面小编就推荐几款合适的移动web 前端ui框架给大家,能大大提升我们的开发效率. Amaze UI Amaze UI是一个轻量级(所有CSS和JS gzip后100kB左右).Mobile first的前端框架, 基于开源社区流行前端框架编写. Froz