`
lao_lee
  • 浏览: 96651 次
  • 性别: 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要面对的大问题了。

分享到:
评论

相关推荐

    xulrunner-1.8.1.3.en-US.win32.zip

    XULRunner,全称为“XML User Interface Library Runner”,是Mozilla基金会推出的一个开源软件框架,主要用于运行使用XUL(XML User Interface Language)语言编写的应用程序。在本案例中,我们关注的是“xulrunner...

    xulrunner-2.0.en-US.win32.zip

    XULRunner,全称为“XML User Interface Language Runner”,是一个运行时环境,用于支持基于 XUL(一种XML标记语言)的应用程序。XUL 可以用来创建界面,其设计理念是使用户界面的设计与实现逻辑相分离,从而实现更...

    java简易浏览器实现

    这个项目是基于Mozilla的XUL Runner技术,结合Java Swing库进行构建的。我们将会分析这个“java简易浏览器实现”项目的各个方面,包括核心技术、主要组件以及如何进行实际的开发工作。 首先,让我们了解一下XUL ...

    xulruunner

    XULRunner,全称为“User Interface Library Runner”,是Mozilla基金会开发的一个开源框架,主要用于构建跨平台的、基于XML的用户界面。它提供了运行XUL(XML User Interface Language)应用程序所需的全部环境,使...

    基于firefox(火狐)浏览器引擎gecko,基于xulrunner框架基础之上实现基于web技术的跨平台开始框架

    XULRunner是Mozilla的一个基础平台,它提供了一套运行时环境,用于支持使用XUL(XML User Interface Language)和其他相关技术构建的应用程序。XUL类似于HTML,但专为创建桌面应用程序设计,支持跨平台运行。开发者...

    xul学习小程序

    XUL(XML User Interface Language)是一种标记语言,用于构建跨平台的用户界面,尤其是Mozilla Firefox浏览器和Thunderbird邮件客户端等应用程序。"Xul学习小程序"显然是一款基于XUL技术开发的音乐播放器,旨在帮助...

    xul便签(记事本)

    《XUL便签:记事本的创新实现》 在数字化时代,记事工具成为我们日常生活和工作中不可或缺的一部分。而“XUL便签(记事本)”正是一款以XUL技术为基础,专为用户打造的便捷记事应用。本文将深入探讨XUL便签的核心技术...

    XUL开发手册(firefox)

    ### XUL开发手册详解 #### 一、XUL概述与重要性 XUL(XML User Interface Language)是一种专为Mozilla浏览器及其派生产品设计的标记语言。它利用XML语法为Web应用提供丰富的用户界面功能。XUL的强大之处在于能够...

    XUL Programmer's Reference Manual

    **XUL程序员参考手册** XUL(XML User Interface Language)是一种标记语言,由Mozilla基金会开发,主要用于构建跨平台的用户界面。它结合了XML的结构化特性与HTML的易用性,使得开发者能够创建功能丰富的桌面应用...

    xul调用c++xpcom例子.rar

    《XUL调用C++ XPCom组件开发详解》 在软件开发中,有时我们需要跨越不同的编程语言进行交互,比如在JavaScript驱动的用户界面与C++实现的底层功能之间。Mozilla的XUL(XML User Interface Language)提供了一种方法...

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

    XUL(XML User Interface Language)是一种基于XML的语言,主要用于构建跨平台的图形用户界面,尤其在Mozilla Firefox等浏览器的扩展开发中广泛应用。XUL文档的结构和HTML类似,但提供了更丰富的组件和定制性。以下...

    XUL开发手册.pdf

    XUL开发手册.pdf XUL(XML User Interface Language)是一种基于XML的用户界面语言,主要用于构建跨平台的桌面应用程序。XUL开发手册.pdf是Firefox浏览器的开发手册,提供了关于XUL的开发指南和技术信息。 从给定...

    xul_hta_demo.zip

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

    xul小程序

    XUL(XML User Interface Language)是一种标记语言,主要用于构建跨平台的用户界面,尤其是在Mozilla Firefox浏览器和Thunderbird邮件客户端等应用程序中广泛使用。这个“xul小程序”是您学习XUL过程中积累的心得...

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

    XUL(XML User Interface Language)是一种基于XML的用户界面描述语言,由Mozilla基金会开发,主要用于构建跨平台的桌面应用程序界面。XUL允许开发者使用XML来定义用户界面元素,并结合CSS来控制样式,JavaScript来...

    XUL技术教程(英文)

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

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

    XUL(XML User Interface Language)是Firefox插件开发的核心技术,用于构建用户界面。这篇学习笔记将带你走进Firefox插件(XUL)开发的世界,并对开发环境的搭建以及数据库的初步使用进行介绍。 首先,要开始Firefox...

    XUL中文帮助手册(DOC)

    来定义一个窗口,它是XUL界面的基本容器。在示例中,`<window>`标签包含了一个`<browser>`元素,该元素定义了一个浏览器组件,它的`src`属性指定了加载的网页URL,`type="content"`表明这是一个内容类型,而`flex="1...

    XUL最全帮助资料(part02)

    XUL(XML User Interface Language)是Mozilla开发的一种用于创建用户界面的语言,它是XML的一个方言,专为构建桌面和网络应用程序的界面设计。XUL在Firefox、Thunderbird等Mozilla基金会项目中广泛使用,允许开发者...

Global site tag (gtag.js) - Google Analytics