Ext2.2系列(50篇)
生活随笔
收集整理的這篇文章主要介紹了
Ext2.2系列(50篇)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
View Code Ext發(fā)展史 1、第一只“出海”的YUI-Ext只是作者Jack打算對基于BSD協(xié)議的Yahoo!UI庫進行自定義的擴展,但后來一度風頭蓋過其父輩YUI,足以說明 大家對它的熱情,很多人把它投入項目人并不十分了解它。分析人士打了一比喻:就好比尚未謀面, 并不了解一個人的家庭、教育、品行等背景,只因為他有一副精致漂亮的外觀,就對其陷入了瘋狂的傾慕之中。因此分析人士建議,在投入項目前,要認真仔細地了 解EXT的內(nèi)在原理和與其他Ajax庫不同地方。2、在2006年初 ,Jack Slocum(杰克斯·洛克姆 ) 就一套公用設施擴建為Yahoo! User Interface (YUI) 庫而工作。這些擴展很快組織成一個獨立的庫代碼并以” yui-ext” 的名義下發(fā)布。3、在2006年秋天,Jack發(fā)行了版本為0.33的yui-ext,而最終被證明為最后版本的代碼,根據(jù)這名字(下開放源代碼DSB許可)。在年底之前,這個庫已大受歡迎, 名字被簡化為Ext,反映了它作為一個框架的成熟和獨立。該公司成立于2007年初,Ext現(xiàn)在為雙執(zhí)照,使用LGPL和一個商業(yè)執(zhí)照。4、在2007年4月1日,發(fā)布1.0正式版。 5、直至今日(2008年4月1日)ExtJS已發(fā)展涵蓋美國、日本、中國、法國、德國等全球范圍的用戶,現(xiàn)在的版本為Ext-3.06、官方在2009年4月14-16日的首次Ext Conference中發(fā)布了Ext的3.0 RC版本。
什么是EXT1、ExtJS可以用來開發(fā)RIA也即富客戶端的AJAX應用,是一個用javascript寫的,主要用于創(chuàng)建前端用戶界面,是一個與后臺技術(shù)無關(guān)的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開發(fā)語言開發(fā)的應用中。ExtJs最開始基于YUI技術(shù),由開發(fā)人員JackSlocum開發(fā),通過參考JavaSwing等機制來組織可視化組件,無論從UI界面上CSS樣式的應用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的JavaScript客戶端技術(shù)的精品。2、Ext的UI組件模型和開發(fā)理念脫胎、成型于Yahoo組件庫YUI和Java平臺上Swing兩者,并為開發(fā)者屏蔽了大量跨瀏覽器方面的處理。相對來說,EXT要比開發(fā)者直接針對DOM、W3C對象模型開發(fā)UI組件輕松。
ExtJs UI Engine簡介ExtJs初期僅是對Yahoo! UI的對話框擴展,后來逐漸有了自己的特色,深受網(wǎng)友的喜愛。 發(fā)展至今, Ext除YUI外還支持Jquery、Prototype等的多種JS底層庫,讓大家自由地選擇。該框架完全基于純Html/CSS+JS技術(shù),提供豐富的跨瀏覽器UI組件,靈活采用JSON/XML數(shù)據(jù)源開發(fā),使得服務端表示層的負荷真正減輕,從而達到客戶端的MVC應用!ExtJs支持多平臺下的主流瀏覽器 Internet Explorer 6+ FireFox 1.5+ (PC, Mac) Safari2+、Opera9+。在使用的廠家包括IBM、Adobe、Cisco和更多。ExtJs官方網(wǎng)站www.extjs.com
Ajax主流框架與ExtJSJQuery、 Prototype和YUI都屬于非常核心的JS庫。雖然YUI,還有最近的JQuery,都給自己構(gòu)建了一系列的UI器件(Widget),不過卻沒有一個真正的整合好的和完整的程序開發(fā)平臺。哪怕是這些低層的核心庫已經(jīng)非常不錯了,但當投入到真正的開發(fā)環(huán)境中,依然需要開發(fā)者做大量的工作去完善很多缺失之處。而Ext就是要填補這些缺口。主流開源框架中只有Dojo像Ext一樣,嘗試著提供整合的開發(fā)平臺。相比Dojo這個出色的工具包,我們認為 Ext能提供一個粘合度更高的應用程序框架。Ext的各個組件在設計之時就要求和其它Ext組件組合一起工作是無縫合作的。這種流暢的互通性,離不開一個緊密合作的團隊,還必須時刻強調(diào)設計和開發(fā)這兩方面目標上的統(tǒng)一,而這點是很多開源項目未能做到的。從構(gòu)建每一個組件開始,我們始終都強調(diào)組件的外觀、性能、互通性和可擴展性,而我們認為組件已經(jīng)達到了這幾點的要求。Ext絕對可以單獨使用。實際上,除了有特定的要求,推薦單獨使用Ext,這樣的話文件占位更小,支持和整合也更緊密。我們也支持與jQuery、 YUI或Prototype整合使用,作為低層庫的角色出現(xiàn),以提供處理各種核心的服務,如DOM和事件處理,Ajax連接和動畫特效。使用整合方式的一個原因是它們已具備了一些特定的器件而Ext并沒有原生支持——像YUI的History控件便是一個典型的例子。這時,Ext需要依賴YUI這個庫的底層來實現(xiàn)History控件,這樣一來的話也可免去Ext自身底層庫,從而減少了整個程序的內(nèi)存占用。另一個使用整合方式的原因是,對于許多已在使用其他底層庫的程序,你可能希望逐步加入Ext。總之,如果已經(jīng)有了其他庫,Ext可已利用它們。我們的宗旨是為用戶提供各種可能性和性能上的優(yōu)化。而事實是,只要實現(xiàn)了相對應的底層庫接口,為任意一個框架添加上適配器是沒有問題的——人們可以輕松地將Dojo、Moo、Ajax.NET,或其它JS庫轉(zhuǎn)變?yōu)?Ext的底層。Ext從2.x開始收費,這給他的應用前景帶來一些問題。不過對國內(nèi)開發(fā)人員的影響不大,畢竟是客戶付款。
Ext學習及應用經(jīng)驗小結(jié)一、理解Html DOM、Ext Element及Component要學習及應用好Ext框架,需要理解Html DOM、Ext Element及Component三者的區(qū)別。Ext是基于Web的富客戶端框架,其完全是基于標準W3C技術(shù)構(gòu)建設的,使用到的都是HTML、CSS、DIV等相關(guān)技術(shù)。Ext最杰出之處,是開發(fā)了一系列非常簡單易用的控件及組件,我們只需要使用這些組件就能實現(xiàn)各種豐富多彩的UI的開發(fā)。無論組件有多少配置屬性、還是事件、方法等等,其最終都會轉(zhuǎn)化為HTML在瀏覽器上顯示出來,而每一個HTML頁面都有一個層次分明的DOM樹模型,瀏覽器中的所有內(nèi)容都有相應的DOM對象,動態(tài)改變頁面的內(nèi)容,正是通過使用腳本語言來操作DOM對象實現(xiàn)。僅僅有DOM是不夠的,比如要把頁面中的某一個節(jié)點移到其它位置,要給某一個節(jié)點添加陰影效果,要隱藏或顯示某一個節(jié)點等,我們都需要通過幾句 javascript才能完成。因此,Ext在DOM的基礎上,創(chuàng)建了Ext Element,可以使用Element來包裝任何DOM,Element對象中添加了一系列快捷、簡便的實用方法。對于終端用戶來說,僅僅有Element是不夠的,比如用戶要顯示一個表格、要顯示一棵樹、要顯示一個彈出窗口等。因此,除了Element以外,Ext 還建立了一系列的客戶端界面組件Component,我們在編程時,只要使用這些組件Componet即可實現(xiàn)相關(guān)數(shù)據(jù)展示及交互等,而 Component是較高層次的抽象,每一個組件在渲染render的時候,都會依次通過Element、DOM來生成最終的頁面效果。在使用Ext開發(fā)的應用程序中,組件Component是最高層次的抽象,是直接給用戶使用的,Ext Element是Ext的底層API,主要是由Ext或自定義組件調(diào)用的,而DOM是W3C標準定義的原始API,Ext的Element通過操作DOM 來實現(xiàn)頁面的效果顯示。在Ext中,組件渲染以后可以通過訪問組件的el屬性來得到組件對應的Element,通過訪問Element的dom屬性可以得到其下面的DOM對象。另外,我們可以通過通過Ext類的快捷方法getCmp、get、getDom等方法來得組件Component、Ext元素Element及DOM節(jié)點。比如:var view=new Ext.Viewport();//創(chuàng)建了一個組件Componentview.el.setOpacity(.5);//調(diào)用Element的setOpacity方法view.el.dom.innerHTML="Hello Ext";//通過Element的dom屬性操作DOM對象
再看下面的代碼:var win=new Ext.Window({id:"win1",title:"我的窗口",width:200,height:200});win.show();var c=Ext.getCmp("win1");//得到組件winvar e=Ext.get("win1");//根據(jù)id得到組件win相應的Elementvar dom=Ext.getDom("win1");//得到id為win1的DOM節(jié)點
二、熟悉ext組件體系Ext2.0對整個框架進行了重構(gòu),最為杰出的是推出了一個以Component類為基礎的組件體系,在Component類基礎上,使用面向?qū)ο蟮姆椒?#xff0c;設計了一系列的組件及控件。因此,要能游刃有余地使用Ext,熟悉Ext組件體系是最基本的。 三、掌握核心控件控件其實也是組件,比如用于顯示樹信息的TreePanel、用于顯示表格的GridPanel及EditorGridPanel,還有代表應用程序窗口的Ext.Window等都屬于Ext控件。在使用Ext的時候,一定要掌握一些核心控件,特別是處于基類的控件。比如上面提到的幾個控件,他們都是繼承于面板Panel,所以我們要重點掌握面板這個核心控件的特性。比如面板由以下幾個部分組成:一個頂部工具欄(tbar)、一個底部工具欄(bbar)、面板頭部(header)、面板尾部(bottom)、面板主區(qū)域(body)幾個部分組成。面板類中還內(nèi)置了面板展開、關(guān)閉等功能,并提供一系列可重用的工具按鈕使得我們可以輕松實現(xiàn)自定義的行為,面板可以放入其它任何容器中,面板本身是一個容器,他里面又可以包含各種其它組件。只要掌握了Panel的應用,那么學習TreePanel、Window等就會變得簡單得多。同樣的道理,對于Ext的表單字段來說,不管是ComboBox,NumberField、還是DateField,他們其它都是 Ext.form.Field類的子類,在他上面定義了表單字段的各種基本操作及特性。在學習使用表單字段組件時,一定要重點研究Field這個類,掌握他的主要方法、事件等,就能有助于更好的學習使用其它的字段。四、學習及研究示例由于javascript語言非常靈活,不像靜態(tài)強類型語言(比如Java)那樣有固定的代碼設計模式,而往往是不同的人就有不同的編程風格。在實際應用開發(fā)中,只有見多識廣,才能在自己的在腦中建立一個開發(fā)庫。學習別人的示例對于我們開發(fā)幫助會非常大,示例包括基本組件的應用、綜合應用等多個方面。在此,簡單推薦幾個。1、Ext官方示例,在ext項目下載包的examples目錄中,包括各個控件的基本應用演示,同時還有一些比較復雜的組合示例,有簡有繁,非常適合初學者認真研究。 2、其它示例,在ext社區(qū)中還有很多比較優(yōu)秀的ext應用示例,有些只是一個應用演示,雖然沒有提供源碼下載,但我們可以直接下載引用的js文件來得到這些示例的ext應用代碼,同樣能取起到非常好的學習效果。 五、讀Ext項目的源代碼如果要想深入應用Ext,那么閱讀Ext項目的源代碼這是必不可少的環(huán)節(jié),Ext的代碼質(zhì)量非常高,通過閱讀他的代碼我們可以更加深刻的了解 javascript面向?qū)ο缶幊?#xff0c;Ext代碼中包含了很多高級的js技巧以及設計模式。在使用Ext的過程中,我們經(jīng)常根據(jù)項目的需要對Ext組件進行擴展,設計自己的組件或控件,而如何實現(xiàn)一個自定義的Ext組件,我們可以從Ext的各個組件源代碼中找到答案。Ext的源代碼在Ext項目的source目錄。讀Ext源碼,并不一定非要從某一個地方開始,而組件核心代碼Component.js、容器組件代碼 Container.js、面板Panel.js等這些是必看的; core目錄中的Element.js、Ext.js等也是必看的。當需要從一個控件進行擴展的時候,最好能簡單看一看這個控件的源代碼。
【轉(zhuǎn)】Ext2.2學習系列:ExtJS與.NET結(jié)合開發(fā)實例--基礎篇--索引貼
【轉(zhuǎn)】Ext2.2學習系列:ExtJS與.NET結(jié)合開發(fā)實例--提高篇--索引貼
【轉(zhuǎn)】Ext2.2學習系列:ExtJS與.NET結(jié)合開發(fā)實例--綜合篇--索引貼
【轉(zhuǎn)】Ext2.2學習系列:ExtJS與.NET結(jié)合開發(fā)實例--全部Ext2.2示例--索引貼
【轉(zhuǎn)】Ext示例相關(guān)下載中心
【轉(zhuǎn)】Ext示例相關(guān)問題交流區(qū)域
轉(zhuǎn)載于:https://www.cnblogs.com/szytwo/archive/2012/05/14/2499484.html
總結(jié)
以上是生活随笔為你收集整理的Ext2.2系列(50篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer_Case_When用
- 下一篇: slf4j 日志接口 统一