因为开发SessionPage,对XUL有所了解,顺便也谈谈吧。
什么是XUL?简而言之是一种界面标记语言;官方文档:
http://developer.mozilla.org/cn/docs/XUL。这里有一个简介:
什么是XUL?
可以说XUL的主要目的是简化跨平台的界面开发工作,当然跨平台那是XML类标记语言的本质工作。虽然我讨厌滥用XML,但是用在这里还是恰得其所的。
界面标记语言跟脚本语言是绝配,不过说实话我不太喜欢与其搭档的Javascript,不过这都是从Netscape继承下来的。Mozilla 平台的上层大概就是这样了, XUL+Javascript,底层是DOM Parser,Gecko Render Engine,XPCOM等。Firefox,Thunderbird等Mozilla项目的UI也就是这么写出来的。我心目中比较理想的应用开发平台大概也就是这样了,有Platform(Mozilla),有Framework (Firefox),有易用的、动态的黏合语言。当然我认为Javascript是弱了一点,不够OO,模块化支持和可重用性很差,这一点我在分析Firefox UI的代码充分证实了,大量同样功能的代码段分布在各个源码文件中,真是难为Firefox的界面开发者了。前面说了,这是历史遗留问题,这个世界上十全十美的东西大概是不存在的吧。Mozilla平台好像也支持Python的说,但是应该还不太成熟,否则我怎么没见过Python写的扩展。
XUL有个远房表弟就是Microsoft的XAML,在 .net framework 中引入,其实我比较奇怪,按理说开源界喜欢跨平台那是相当正常,可是MS也来凑这个热闹就有些奇怪了,它没有多个平台要跨呀。难道仅仅是为了跨C/S和 B/S?不过想想MS也还是有些平台可跨的,比如Win Vista/Win CE/Win Mobile等。
另外我觉得基于Widgets的UI虽然简化了开发,但是相当的无味,要是有种简单易用直接面向Render Engine的接口那就可以搞出相当另类的界面了。 :) XAML里好像有Canvas的说。忽然想到,我想要的那不就是Flash吗???Flex???Laszlo???Apollo??? 看来XML UI + Script + Renderer 真是大势所趋啊。怪不得最近RIA的风潮中Flex也颇受关注。Adobe好像把ActionScript的VM送给了Mozilla,不知是何意,据说这个VM的效能那是相当的高,为什么不把Flash的Render Engine也捐献出来,做一个浏览器的Render Engine应该绰绰有余吧。据说新版的Gecko也是基于矢量引擎的,这点跟MS的WPF/.net 3.0又是殊途同归,最好搞成OpenGL版的,那真是相当的强悍了,现在Linux Desktop已经在向这个方向演化了。
据说以后软件的发展趋势是应用网络化,按照这种设想,我们的PC就是一个展现器和网络接入器,应用都在后台的服务器上跑,PC上大概连硬盘也不需要了,维护是大大简化了,对普通用户来说就是一台电视机;从我们软件开发者的角度说,那也是一种相当理想的情况:客户端是Stateless的;对于企业来说,更是优点大大的,想想省了多少维护成本啊,历史真是开了个大玩笑,我们又回到了终端时代。君不见SUN的CTO又翻出了“全球只需五台计算机”的陈词滥调。当然这只是形式上的类似,由于网络带宽和图形展现能力的巨大变化,已经不可同日而语了。现在Web OS都出来一堆了(确切地说,应该称之为Web Desktop),何况其他应用乎,Google的Writely和Spreadsheet在企业市场还是大有可为啊。微软还有人在说“有谁会想在网络上跑Word”之类的话,其思想还停留在上个世纪啊。
扯远了,回到XUL,XUL是从HTML过来的,所以DOM,CSS都带着,还可以混着HTML在里边,那是相当的方便,XAML好像有WinForms的影子。
XUL后面是XPCOM,XAML后面是.net framework. 从功能上来说.net是强大的多,当然其身躯也肥大的多,所以到现在也不被广泛接受,其一统基础平台的梦想怕是要等会儿了。
说起来XPCOM还是COM的表弟,COM是.net的老爹,XPCOM可以说是.net的表叔了。
好,就此打住,再继续就要研究软件伦理学了。 :)
分享到:
相关推荐
标题中的“对话框乱弹的小程序源码”指的是一个编程项目,它利用MFC(Microsoft Foundation Classes)库在VC++环境中编写,目的是创建一个整人性质的程序。这个小程序一旦运行,用户点击“开始”按钮后,会在Windows...
《乱弹爱丽丝》是一首深受广大音乐爱好者喜爱的钢琴曲,它的简谱版本为演奏者提供了方便,使得无论是初学者还是有一定基础的琴友都能尝试演奏这首曲子。在简谱中,数字代表音高,不同位置的数字对应钢琴键盘上的不同...
使用fiddler工具进行抓包,使用python进行osc乱弹抢沙发
这篇论文《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》深入探讨了在新媒体环境下,广播娱乐节目如何适应和利用新媒介特性,实现自身内容创新与传播效果的提升。通过对FM101...
《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.zip
《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》这篇文档探讨了在新媒体环境下广播娱乐节目编辑的新特点,以陕西地方电台“刘翔来了”为例进行深入分析。广播节目在传统媒介...
【传统企业转型与互联网结合的重要性】 随着信息技术的飞速发展,互联网已经深入到社会的各个角落,对各行各业产生了深远影响。传统企业面临着前所未有的挑战和机遇,如何在变革的大潮中找到自己的位置,实现成功...
修复单类代码生成器4个问题。 2.新增创建加载数据库时,表名过滤功能。 3.表名生成命名规则,字符串替换功能。 4.模板中字段排序方法公开。 5.字段默认值函数的处理。 6.导出的sql脚本中,单引号 '的问题。...
随着Ajax技术的出现、盛行,本被忽视认为是二流编程语言的JavaScript脚本也开始了新的盛行,大量的JavaScript框架的出现如Microsoft Asp.Net Ajax、jQuery等。Ajax已经成为这些脚本框架必不可少的组成部分了,而且...
VB,全称Visual Basic,是微软公司开发的一种可视化的编程工具,主要用于开发Windows应用程序。...尽管它属于“综合其它”类别,但其核心知识点依然围绕着VB的基础编程概念,对于理解和实践VB编程有着积极的作用。
8. 乱弹戏曲:乱弹是河北的传统戏曲艺术形式,历史悠久,是当地人民的文化遗产,也是中国戏曲的重要组成部分。 以上知识点涵盖了金融交易、行政职务、合同法、职业道德、公务员制度、信用消费、个人隐私权以及传统...
非常好用的修改运营商压缩文件,解压之后配合手机乱弹
使用软件群发时乱弹窗口很讨厌?一个桌面打开程序太多放不下了?您可以使用阿尔法虚拟桌面软件可以解决这些所有的问题。在您电脑里建几个虚拟桌面,别人看不到您在干什么,甚至是打游戏,使用热键盘可以快速在不同...
是不是早已厌倦国内各大播放器厂商,解码能力不行,又乱弹广告的德行了?这款播放器一定会满足你的需求
【维宏软件Ncstudio V5.4.55_中文】是一款专为数控加工领域设计的专业软件,它集成了CAD/CAM功能,为用户提供了一站式的数控编程和控制解决方案。这款软件的主要特点和功能包括以下几个方面: ...
哪里都没有找到下载,就自己弄了下,方便随时查看 <br>第 1 章 闪烁吧!看看extjs那些美丽的例子。 第 2 章 震撼吧!让你知道ext表格控件的厉害。 第 3 章 歌颂吧!... 常见问题乱弹 附录 C. 后记
这一部分可能包含了书中未能归类的其他内容,如一些比较随意的技术思考、开发经验分享或者是作者的一些个人想法等。 在电子书的目录中,还列出了许多具体的技术话题,如J2Cache的吐槽、DSL风格数据库编程的实践、...
文档中还提到了一些提供工具和资源的网站,如织梦乱弹,它提供了关于网页设计和开发的各种资源和工具。 【总结】 这个文档是一份详尽的免费教程网站列表,对于想在网络技术、设计、编程等领域自我提升的个人来说,...