How about a XHTML based UI render engine?
OpenSource是一个热闹、喧嚣的世界,在同一个技术领域,就会有众多的项目来提供各自的解决方案。大浪淘沙,真正成为大家接受的、普遍应用的framework、library或者tools,比例可能就不高了。
在RCP这个领域,普遍接受的一种方式就是采用XML来定义UI,毫无疑问,这种做法将最终成为RCP的主流,采用这种方式的项目或者技术包括:
- Microsoft. MS的官方技术就是XAML,很有可能成为明天的一个事实标准。
- Mozilla的XUL。是Mozilla的底层基础,也成为很多其它项目的参考。
- Luxor:以XUL为基础的Java实现。
- SwiXML:XML + Swing,跟Swing结合紧密。
- JDNC:也提供了基于XML的UI框架。
- MXML:Macromedia Flex所采用的用来描述基于Flash的UI。
其实,我个人认为,XHTML毫无疑问,应该被包括到这样的一个UI框架中,并且新的框架应该尽可能使XHTML的一个自然扩展。这样考虑的出发点是:
- XHTML已经是一个非常成熟的技术,具有最多的应用(虽然现在的大部分WEB并不完全是XHTML的,但两者的距离非常小),支持XHTML的话,可以最大限度的服用历史的资源。
- XHTML作为一个多年发展的技术,在UI上具有相当的表达能力,这些都是目前的这些框架所不具备的。象Bindows这样的框架,居然可以在XHTML的基础之上,render出相当复杂的UI,这也足以说明XHTML的UI表述能力是相当强大的。
- 现 在的很多XML UI框架更多的是对桌面组件的一个XML化,其基础是一些标准化的UI组件,这些恰恰是XHTML的缺陷,XHTML更多的偏重于文档式的界面,在交互能 力上存在不足。但这两者恰恰是互补的,缺一不可。像SwiXML这样的XML要表述XHTML的UI能力,是相当费劲的。
- XHTML提供的布局和排版能力,远远的超过了Swing中的Layout,而且要简单很多。同样的功能,在Swing中对应无数的LayoutManager,但都没有达到XHTML的表达能力和简单程度。
- 利用XHTML作为类似HTML的表述语言,支持HTML,CSS等,支持DOM和脚本访问。
- 使用SVG作为Graph的表述语言。
- 可以集成一个标准的桌面组件的命名空间,例如:XUL
- 在此基础上,定义一个扩展的框架,支持扩展的XML命名空间,各自满足不同的需要。可以根据需要来进行用户自己的扩展。
1 Comments:
XTF - an eXtensible Tag Framework for Mozilla
一个类似的概念
张贴评论
<< Home