hogan 发表于 2005-8-21 15:09
zz from <a href="http://forum.javaeye.com/viewtopic.php?t=8655&postdays=0&postorder=asc&start=0" target="_blank">http://forum.javaeye.com/viewtopic.php?t=8...der=asc&start=0</a><br /><br />时间: 2004-11-05 16:33:25 标题: RichClient: XUL 系技术介绍 (XAML/JDNC/Flex/...) <br /><br />--------------------------------------------------------------------------------<br /> <br />桶子们在热烈的讨论 UI 技术,这是好事啊。 <br /><br />俺来添加弹药,鉴于大家对 XUL 系列不是特别了解,我就谈谈这些技术的运作方式。 <br /><br />观点:目前的 MozillaXUL/Thinlet/SwiXML/JDNC/XAML/Flex/Laszlo... 在我看来,都是一个套路。 <br /><br />先别急,且听俺慢慢说来。 <br /><br />XUL 的核心思想是“用XML来表达界面”,是 Mozilla 的创新, Mozilla 浏览器本身就是一个经典的 XUL 应用。有兴趣的可以研究 Mozilla\Chrome\Browser.jar 中的东西。这的确是个伟大的发明,以至于,现在其他公司纷纷效仿,出现了N个衍生技术。 <br /><br />Mozilla 的内部,有一个 XRE ,即 XUL Runtime Environment,这个 XRE 解析运行所有的 XUL 应用,包括: Browser本身和各种工具,如 LiveHttpHeader, XUL Console 等等。一个 XUL 文件被 Parser 解析,将其中引用的 Widgets 组装,通过 Render 显示给用户,当发生事件时,通过 ScriptEngine 执行相应事件的脚本代码。可惜的是, Mozilla 的这个宝贝似乎“养在深闺人未识”,罕见有哪个项目使用的。但它的思想,衍生出了N多的技术。 <br /><br /><br />Thinlet/SwiXML/JDNC: Java 的 XRE。以 Applet/Swing 来 Render 界面,发生事件时,调用用户自己的事件处理程序(java 程序)。 <br /><br />XAML: Longhorn 内置 Native 的 XRE。以 Windows 的界面组件来 Render 界面,发生事件时,调用用户自己的事件处理程序(.NET 的程序)。 <br /><br />Flex/Laszlo: 基于 Swf 的 XRE。先由 Java 的 Interpreter 将 MXML/LZX 源文件生成为 Swf 文件,该 Swf 可能包含界面构造信息(XUL?)、事件脚本(转换为ActionScript)和经过裁减的WidgetsLib(XUL中用到的 widgets)。用 Flash 的界面组件来 Render 界面,发生事件时,调用用户的事件处理程序(用户的代码转换成的 ActionScript程序)。 <br /><br /><br />大胆预测一下: <br /><br />这些技术中,最具竞争力的是 Longhorn/XAML ,它具备平台底层的支持(OS内置),可以想象性能和能力都要比其他要出色。但,这也是弱点,如果没有一个合理可靠的安全机制做保证,它也有可能因为安全问题而败北。 <br /><br />Thinlet/SwiXML已是成熟技术,它们将在各自领域继续发挥作用,但,Sun 目前正在立推 JDNC ,预计这两个产品将不会有更大的作为。而 Sun 的 JDNC 是很有野心的计划,在非 Windows 平台它将可能是唯一的通用标准(如果MozillaXUL的推广仍无起色)。但在 XAML 蓄势待发的情形下,它有可能和目前的 Applet/Swing 一样,处于劣势。 <br /><br />Flex/Laszlo在浏览器领域肯定会占据一席之地,因为它们目前已经比较成熟。而,彼此的竞争会带来更大的利益。Laszlo 现在已经是 OpenSource 的了,走 CPL 协议。Flex 也被迫推出了非商业客户的免费计划。如果 Flex/Laszlo 在 XAML 推出之前能有 Killer 级的应用,可能会形成事实上的 RCP 标准从而取得优势也未可知。 <br /><br /><br />那么,下一个界面技术对我们的开发有什么影响呢?或者,那时的应用会是怎样的? <br /><br />以 XAML 为例,应用的客户端可能就是一个 XAML 的文件。这个文件可以象现在 JavaWebStart 的 JNLP 一样,从网上下载,本地缓存。运行时,XAML 被运行环境打开,如果需要,Client 从远端的 WebService 上获取功能支持。这意味着基于 XAML 的 Web 应用可以完全脱离浏览器,但仍具备 Web 技术的优势。不依赖于浏览器的界面将有更丰富的表示形式。而 JDNC 如果和 JavaWebStart 结合,则意味着 Java 标准的 RCP 平台(不过几乎可以肯定性能会不如 M$),对于非 Windows 平台意义重大。 <br /><br />可以看到,关键业务逻辑被集中于服务器。依据 SUN 和 M$ 的和解协议,以 webservice/xml 方式提供的服务将具备互操作性(不排除 M$ 违反协议推独立标准的可能)。也就是说,只要遵循 WebService 的标准,任何一种 Client UI 技术都将被支持。对我们而言,这意味着 UI 层和 Business 层的进一步分离。也就是更多的服务器端开发(WithOut HTML)。 <br /> <br />返回顶端 <br /> <br /> <br />jackyz<br />Caucho Resin<br /><br /><br /><br />性别:<br /><br /><br />加入时间: 2003/09/15<br />文章: 19<br /><br />¥: 145<br /><br /> 时间: 2004-11-05 16:42:51 标题: ref urls <br /><br />--------------------------------------------------------------------------------<br /> <br />refrence <br /><br />Mozilla XUL: <a href="http://www.mozilla.org/projects/xul/" target="_blank">http://www.mozilla.org/projects/xul/</a> <br />Thinlet: <a href="http://www.thinlet.com/" target="_blank">http://www.thinlet.com/</a> <br />SwiXml: <a href="http://www.swixml.org/" target="_blank">http://www.swixml.org/</a> <br />JDNC: <a href="https://jdnc.dev.java.net/" target="_blank">https://jdnc.dev.java.net/</a> <br />XAML: <a href="http://www.xaml.net/" target="_blank">http://www.xaml.net/</a> <br />Flex: <a href="http://www.macromedia.com/software/flex/" target="_blank">http://www.macromedia.com/software/flex/</a> <br />Laszlo: <a href="http://www.openlaszlo.org/" target="_blank">http://www.openlaszlo.org/</a>
lishengyang 发表于 2005-8-22 11:48
这个斑竹估计够郁闷的,没人顶哦。<br />估计是看不懂了。英文再好可看不明白在讲些什么。。。。<br />为什么不解决一些可以试验的问题呢?比如如何制作扩展,如何加速运行或者使ff更稳定运行。。。<br />我是外行,只学过c,而且不精通。<br />不知道应该去学哪方面的知识最可能参与到ff的开发团队?很脸皮厚的问问。<br />请多多指教。
hogan 发表于 2005-8-22 13:12
关于如何制作扩展,我正在准备一些资料,自己也开始尝试写些简单的扩展,到时候会给大家奉献一些自己的体会的。<br /><br />其实,当中文版即将推出时,积极参与测试,又何尝不是一种参加Fx的方式呢?<br /><br />呵呵
lishengyang 发表于 2005-8-25 15:10
那 斑竹要努力啊 大家都会很支持你的 !!不过你还没说 关于研发的所需知识准备的 问题的回答啊?
hogan 发表于 2005-8-25 23:29
你这里的研发是指参与Mozilla代码的书写?这个偶也不是很熟悉,汗~~<br /><br />还是先从扩展开始吧。<br /><br />开发扩展需要<br /><br />Javascript, xml, xul,CSS,之类的知识,应该不是很难,共同学习!!
shahakky 发表于 2005-9-9 13:39
好一个共同学习,我想这也是moZine的目的所在吧!也希望有更多的人能够有这个信心! <img src="http://forums.mozine.cn/style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />
hogan 发表于 2005-9-9 21:17
加油~~<br /><br />最近时间比较紧...
页:
[1]