admin';?>

首页 / 大话界面

有了web做界面,为什么还要搞个XUL?

By admin •  2018-01-22 22:55:30 •  179次点击
Mozilla叫微软扎心的不单单是搞了一个叫firefox浏览器,还有浏览器背后的基于xul的跨平台界面开发框架。

多年以前我一直在思考一个问题:既然web可以做界面开发,为什么mozilla还要搞个xul出来,再学一套xul会不会多此一举?后来我想明白了。web主要为网页浏览服务的,有自己的一套标准,不是说你做了浏览器,就可以想怎么改就怎么改的。web的标准是方便网页浏览,而桌面应用要复杂的多。比如resizer缩放控件,spilter拆分窗口,标签页,进度条,树型目录,快捷键,菜单栏,工具栏,右键菜单。。。有些web也能模拟实现,但不是web标准,浏览器就不提供标准实现,这样一来,搞个树型目录你可能要引入一个js库,进度条又要引用另一套js。增加开发复杂度。xul内置100多种界面组件[1],每个组件都可以用html,css,js修改,还能使用xbl绑定,实现类似于web component的功能。xul借助rdf ,实现多国语言。这些比单纯使用web开发界面要方便快捷很多。重要的是有些是web无法实现的效果,比如右键菜单。传统基于web嵌入的界面开发,无法借助web实现真正的右键菜单,只能模拟右键菜单效果,但是菜单出不了主窗口。但是xul就可以。openPopupAtScreen大家搜一下这个就知道了。因为xul开发跨平台桌面的强大特性,所以被firefox重度使用和依赖,短期内是不会被淘汰,手机端在v57后会放弃使用XUL,但在桌面端不会。手机端资源有限,而且又遭遇google浏览器这个劲敌,砍掉xul也是情理之中。
与Qt,java不同,xul提供平台原生的GUI显示。同样是进度条,<progressmeter />在XP与win7下,显示出来的效果就是不一样。xul其他特性,大家以后慢慢摸索吧。


参考:
[1]  XUL Reference: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/XUL_Reference
0 回复 | 直到2018-11-19 07:32添加回复

回复

登录发表 or 还没有账号?去注册

他山跨平台混合应用开发框架

现在注册 已注册请 登入

节点列表

产品发布

Windows  Linux  Android  最新进展 

经验交流

功能建议  Windows  Linux  Android  开发交流  资源分享  js  xul 

BUG反馈

Windows  Linux  Android 

学习生活

灌水乐园  大话界面