Welcome to ExtXL
ExtXL - 基于XHTML的ExtJS组件引擎

 


简介 | 项目动态 | 特性一览 | 屏幕截图 |

简介

    著名的ExtJS 开发包 (简称Ext )是一个非常优秀的开发富客户端应用的Javascrpt工具。它包含一个稳定的基础框架和一套 具有漂亮外观且灵活易用的基础界面组件(称为"widget"),它的API对开发人员非常友好, 通常可以直接使用JSON来直接产生这些widget。到目前为止,Ext已经有了很多的成功实施 案例。

    然而,大多数传统的架构模式仍是基于多页面跳转的方式实现界面展示和 用户交互,这与富客户端模式"一个页面一个应用"的理念相去甚远。事实上,二者在实现上的确存在 很大的差别,甚至对服务器端的要求也不尽相同。因此,想要在现有的项目中集成Ext并非易事。 软件设计师们必须权衡两种模式的优缺点,并寻找一套解决方案,使引进Ext的成本、风险降到最低。

    ExtXL项目正是为了解决上述问题而产生的, 通过ExtXL可使传统的软件架构能够快速地引进Ext框架及组件,以提供给用户漂亮的风格和更加友好的操作。 ExtXL提供了一个类似于IoC(控制反转)的引擎及一套映射关系,使页面开发人员只需熟悉XHTML语法即可轻松 地创建Ext组件。     下面的示例代码是一个简单的例子,它创建了一个带有工具栏(Toolbar)的面板(Panel)。
<span ext:title="MyPanel" ext:xtype="panel" ext:collapsible="true">
	<xml xmlns="http://extxl.sourceforge.net">
		<items>
			<panel>
				<content>
				Some HTML snippets here
				</content>
			</panel>
		</items>
		<tbar>
			<splitbutton text="Menu"></splitbutton>
			<button text="Button"></button>
		</tbar>
	</xml>
</span>
                	
    运行结果如下:


    考虑到Ext的版权问题,ExXL使用Ext早期版本的另一个分支:OpenExt。OpenExt声明自己是LGPL开源协议。这与ExtXL的协议相同。

项目动态

ExtXL 1.0alpha2 已发布并提供下载 !

特性一览

  • 支持大量的widget
        container, tabpanel, pane, viewport, tooltip, window, textfield, hidden, checkbox, htmleditor, radio, textarea, datefield, combo, timefield, numberfield, label, button, splitbutton, toolbar, menu, item, cycle, colorpalette, checkitem, separator, datemenu, colormenu, store, simplestore, jsonstore, groupingstore, grid, columnmodel, column, httpproxy, jsonreader, xmlreader, formpanel, events, treepanel, treenode, asynctreenode, treeloader, defaultselectionmodel, fieldset.

  • 事件支持
        事件处理函数也在XHTML中声明

  • Beans
        使用<bean> 节点可以定义任意结构的javascript对象。这在定义数据记录(如combo、grid)时特别有用。
  • 兼容标准XHTML
        ExtXL与XHTML是非常友好的。ExtXL组件中可以包含XHTML片断,XHTML节点中也可以放置ExtXL组件。
  • 屏幕截图

    (点击图片放大)


    事件



    表单



    表格



    菜单