Ext JS 4即將正式發布 值得期待
Ext JS是一個針對Web的UI庫。它是市場上的輕量級工具,它通過抽象,支持開發人員不必強制性地編寫HTML的源代碼,而且允許開發人員靈活的擴展組件庫或者通過簡單強大的插件架構創建真實的插件。Ext JS解決了管理HTML和CSS的問題,提供了媲美桌面應用的UI外觀。它支持開發人員在現有HTML網頁中注入組件或者開發富企業級RIA,其中一些應用于關鍵任務應用,如實時監控和網絡基礎設施的管理。
Ext JS 4從推出***個預覽版之后,一直處于緊張的開發之中。昨天,其官方博客表示,Ext JS 4的正式版預計將在一個月之后發布,這對Web開發社區特別是RIA開發人員來說無疑是個好消息。此刻,讓我們回顧一下Ext JS 4在預覽版中的優秀特性和功能。
***的Ext JS 4預覽版4發布了一個新的元素——Grid組件,該組件在4.0中完全重寫,因此比3.x版本提供了更多功能,性能和靈活性大幅度提高,因此擴展更加容易。新版Grid組件的主要優點包括:
智能渲染
在Ext JS 3中,Grid組件為了運行良好,總是生成Grid功能所需的全部標記,在大多數情況下,過于繁重了。而在Ext JS 4中,默認的Grid只包含了輕量級的標記,在開發人員選擇其他特性時,對應的標記才會渲染。這對于頁面渲染速度和整體的Grid性能都是極大的提高。
標準布局
依靠更智能的渲染通道(pipeline),新Grid的許多部分都被劃分成適當的Component并集成到標準的布局管理系統,而不是依賴定制的內部標記和CSS。這樣既統一了Grid的渲染過程,又維持了出色的像素UI體驗。
數據視圖(DateView)
Ext JS 4中的GridView擴展了標準DataView類,不僅簡化了內部代碼,而且使新Grid易于定制。因為它擴展了DataView,所以新Grid可以像其他視圖一樣利用選擇模式,包括通過鍵盤導航做非連續選擇。
功能支持
在Ext JS 3中,沒有統一的策略來添加Grid的功能。許多功能作為插件添加,而另一些以子類的形式,這導致難以組合這些功能。Ext JS 4包含了一個基礎類Ext.grid.Feature,可以此創建靈活的功能。底層的Grid模板可以被Feature類修改以配合視圖生成的標記。
虛擬滾動
Ext JS 4的Grid原生支持在渲染時緩存數據,提供數據的虛擬、按需加載的視圖。Grid現在可以輕松支持成百上千的記錄,而無需分頁,相比Ext JS 3來說是巨大的改進。
除此之外,Ext JS 4在繪圖方面也是一大亮點,其引入了全新的繪圖引擎哇,不再依賴于Flash,全部使用JavaSCript,支持DOM方法訪問。Ext JS 4允許客戶設計、開發非常炫目的圖表,號稱其他框架無法提供如此復雜的數據顯示方法。感興趣的讀者可以瀏覽在線示例。
《ExtJS in Action》的作者Jesus Garcia在接受InfoQ專訪時表示,Ext JS遵循的組件(Component)和容器(Container)模型是它比其他Ajax庫更具特色的主要原因:
組件和容器模型(還有其他特點)使Ext JS在其他同類Ajax庫中別具一格,因為它們使庫的UI部分結構化。沒有它,Ext JS不會這么與眾不同。
組件模型為框架引入了“組件生命周期”,為組件帶來了一套定義良好和可靠的行為。它分為三個階段,初始化(Initialization)、渲染(Render)和銷毀(Destruction)。初始化指組件新實例的初始化時刻。渲染階段指組件被渲染或者繪制到屏幕上的時候。***,銷毀階段支持組件執行清理任務,如所有注入的HTML節點的刪除和清除事件監聽器。
容器模型支持組件通過父子關系模式來管理其他模型。通過容器模型,開發人員可以輕松地創建動態UI——利用它的add()或者remove()來添加或者刪除一個或幾個子元素。為了管理子元素的視覺組織,容器使用了布局(Layout)。
Jesus在數個大公司部署過基于Ext JS的應用,如萬豪國際、洛克希德馬丁、摩根大通和美國金融監管局,他以自己的實踐經驗告訴大家,Ext JS適合的應用領域很廣:
我通常使用Ext JS為許多客戶開發應用。我最近一個任務是為客戶開發界面管理成員信息。因為Ext JS功能齊全,所以我可以利用它開發各種應用,比如定制UI從IBM的Tivoli Enterprise Console和HP Universal CMDB中合并數據、為EMC的Documentum產品開發前端界面。我已經開發了幾個應用來幫助公司制定考核內容。
開發人員可以充分利用Ext JS來開發RIA中所需的功能。這幾年,我已經看到了各種各樣的應用,大部分是基于業務的。
Ext JS本身不是為移動web應用而定制的,但是它的兄弟Sencha Touch是。我已經看到并且實驗了在iPad上運行有限功能的Ext JS應用。它不支持觸摸功能,而且UI主題不是以移動為中心的。
預覽版下載:http://www.sencha.com/products/extjs4-preview/download/ext-js-4-developer-preview-4
【編輯推薦】