惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
博客园 - 聂微东
S
SegmentFault 最新的问题
量子位
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页

博客园 - 小桥

JQuery ajax 传递中文参数乱码的原因与解决方法 CSS笔记 感觉需要学习学习分布式应用方面的知识了 质本洁来还洁去 自己写的一个分页控件 WebPager [转载]JavaScript 面向对象编程, 第一部分: 继承 [转载]Bindows 和 B/S [转载]javascript 的面向对象特性参考 HTML在线编辑器大搜罗 掌握 ASP.NET 之路:自定义实体类简介 在线HTML编辑器原理2 在线HTML编辑器原理 介绍Agile Framework JavaScript中实现数组的排序、乱序和搜索 [转]关于ORM实体映射的感想 (Object /Relational Mapper ) XAML及XML UI相关资源[转] Lucene倒排索引原理[转] Lucene入门与使用(一) [转] Lucene入门与使用(二) [转]
Mozilla的XUL
小桥 · 2005-05-19 · via 博客园 - 小桥

XUL 的核心思想是“用XML来表达界面”,是 Mozilla 的创新, Mozilla 浏览器本身就是一个经典的 XUL 应用。有兴趣的可以研究 Mozilla\Chrome\Browser.jar 中的东西。这的确是个伟大的发明,以至于,现在其他公司纷纷效仿,出现了N个衍生技术。

Mozilla 的内部,有一个 XRE ,即 XUL Runtime Environment,这个 XRE 解析运行所有的 XUL 应用,包括:Browser本身和各种工具,如 LiveHttpHeader, XUL Console 等等。一个 XUL 文件被 Parser 解析,将其中引用的 Widgets 组装,通过 Render 显示给用户,当发生事件时,通过 ScriptEngine 执行相应事件的脚本代码。可惜的是, Mozilla 的这个宝贝似乎“养在深闺人未识”,罕见有哪个项目使用的。但它的思想,衍生出了N多的技术。

Thinlet/SwiXML/JDNC: Java 的 XRE。以 Applet/Swing 来 Render 界面,发生事件时,调用用户自己的事件处理程序(java 程序)。

XAML: Longhorn 内置 Native 的 XRE。以 Windows 的界面组件来 Render 界面,发生事件时,调用用户自己的事件处理程序(.NET 的程序)。

Flex/Laszlo: 基于 Swf 的 XRE。先由 Java 的 Interpreter 将 MXML/LZX 源文件生成为 Swf 文件,该 Swf 可能包含界面构造信息(XUL?)、事件脚本(转换为ActionScript)和经过裁减的WidgetsLib(XUL中用到的widgets)。用 Flash 的界面组件来 Render 界面,发生事件时,调用用户的事件处理程序(用户的代码转换成的ActionScript程序)。