`
lao_lee
  • 浏览: 94537 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

XUL Runner 的反思

阅读更多
几年以前可能很少有人想到Java-script现在能成为端上席面的大餐了,那时我还煞有介事买了那本著名的《精通EJB》拿来啃,觉得越是深奥的东西将来越有前途。而现在是“简单化”的时代,用编程的方法做UI已经逐渐落后,而基于XML描述式的方法逐渐成为主流,Semi-rich client成为了大公司竟相研究的热点问题。

在热点之中有一个本来应该很有潜力的技术,就是 Mozilla的XUL Runner。XUL Runner被设计成一种可以支持“轻量级”UI的平台,所谓轻量,是和那些用Native widget来构造UI的技术,如Eclipse的SWT,以及SUN的AWT相对应的。不用系统提供的widget,那就自己画。Swing/Draw2D都属于这样的技术。用XUL Runner来画widget应该是驾轻就熟的事情,因为它天然就具有了渲染HTML的能力,自然也能扩展一下渲染其他的东西,比如X-Form, SVG, MathML,都是Mozilla网站上声明支持的东西。除了画静态的UI,还应该具有一些动态特性,XUL Runner天然含有Java script引擎,在XML里面嵌入脚本语言,用脚本来动态修改DOM树,从而实现动态特征。

有了这样一个天然支持HTML/XUL和java script的基础平台,如果加上一些可扩展特性,比如集成JAVA,C++既有程序的能力,不就是一个很好的桌面应用基础平台吗?而XUL Runner也的确提供了这样的东西,就是XPCOM。最大的问题就是XPCOM实在太难学,而且是以C++为基础的。如果想用JAVA,实际上还要通过一个JNI写的Bridge程序来完成。

那么,想要让XPCOM好用起来,就需要在这个JAVA-XPCOM bridge上面再做一个IOC的封装,让人们可以通过XML来对对象进行实力化,但是这就又回到了Java低性能的老路上了。当我们操作一个UI对象时,实际的工作是先有一个Java 反射的动作,然后是JNI调用到XPCOM,XPCOM再调到Gekeo,Gekeo最终调用Win32 GDI函数来工作。
这样下来弄不好比ECLIPSE还慢。

到底有什么办法让我们既有软件工程化的享受,又有性能上的舒适?这应该是Architect要面对的大问题了。

分享到:
评论

相关推荐

    XUL开发手册(firefox)

    XUL 是经过测试的真正的应用程序框架。事实上,即将发布的 Firefox 4.0 不仅仅是由 XUL 构建的,但它提供了一个 XUL 运行时环境,允许任何 Firefox 用户运行其他 XUL 应用程序。在本教程,您开始使用 XUL 进行编程,...

    xul学习小程序

    是一个xul music player

    XUL开发手册.pdf

    XUL开发手册.pdf

    xul文档具体标签说明和例子

    xul文档具体标签说明和例子xul文档具体标签说明和例子

    xul_hta_demo.zip

    《初识XUL用户界面UI开发》XUL是Mozilia社区开发技术中的一员,总要是为用户界面UI服务,Firefox就XUL以及其它一系列相关的基础库开发出来的成功之作。事实证明XUL是成功的UI开发技术,本文以一个最简明的视角来向看...

    xul便签(记事本)

    一个用xul写的便签,可以实现记事的功能

    XUL技术教程(英文)

    xul是XML User Interface language 的简写,是Mozilla基金会开发的一种基于XML的标记语言,一般用来构造程序的界面,典型的firefox就是这种的实践,目前XUL只能被Firefox的浏览器支持,它和js,css,html等理论上能够...

    xul调用c++xpcom例子.rar

    清晰给出繁杂配置和步骤, c++开发xpcom组件的完整例子, vs2005 环境配置 ,xpconnect调用xpcom组件, xul 中使用javascript 内有源码,配置图示

    用xul做的动态变化的 tree ,可以增,删,改

    一个很完善的tree,使用xul界面语言完成。 一个很完善的tree,使用xul界面语言完成。 欢迎大家使用,提出意见。

    xul小程序

    该xul是我学习心得与体会

    XUL Programmer's Reference Manual

    NULL 博文链接:https://monlyu.iteye.com/blog/348583

    XUL中文帮助手册(DOC)

    XUL (XML User-interface Language - 基于 XML 的用户接口语言)是一种新的富客户端(Rich Client)技术,是 Mozilla 和 Firefox 的核心语言,是一种用来快速开发跨平台用户接口的新途径。其实不难发现很多新出现的...

    xul标签用法说明

    XUL标签的介绍及用法,最近学ZK淘换来的,挺全的

    Firefox插件(XUL)开发 学习笔记 - 1. 开发环境以及数据库一瞥

    博文链接:https://zsp.iteye.com/blog/232047

    xul自动补齐acp文件

    开发firefox扩展时使用XUL文件的自动补齐acp文件,用于editplus。不知能否用于其他编辑器 对XUL reference中列出的标签都可进行自动补齐, 如box标签,使用自动补齐之后只需要输入box然后按空格键即可自动补齐为 ...

    ffjcext.xul

    ffjcext.xul

    xul:实时XUL编辑器

    为了在最新的FireFox中使用XUL,请安装 来自 并启用 (不要被错误消息打扰,确定。)以在FireFox ESR(或seamonkey,pear moon或waterfox或其他REAL浏览器)中显示XUL,而不是受限制的每晚“ FFox”) NOW:在此处...

    XUL开发示例-HelloWorld

    自己写的一个xul的小程序。本程序包含了xul程序的基本框架,是初学者入门的不错的选择。下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例...

    XUL最全帮助资料(part02)

    XUL Mozilla XPCOM Gecko 学习资料

    IBM XUL 技术

    xul 是xml user Interface language的简称,xul 是xml 语言的一种应用,用来开发图形界面的语言,它是有Mozilla发明的技术,主要用在开发firefox的插件上,firefox浏览器就是基于html,xul,css,js等构建的软件。...

Global site tag (gtag.js) - Google Analytics