EXTJS—一個漂亮但不賢惠的情人,是我在學習EXTJS和用它作開發後的一個感覺。曾經被EXTJS的美麗迷倒過,爲了搞定這個美麗的可人兒,我天天通宵達旦的學習。當時學習開發的時候尚未中文教程,惟一能夠參考的完整的文檔是官方的API文檔,雖然內容很全面,很豐富,可是英文教程仍是讓我吃了很多苦頭。將EXTJS運用到系統開發中,而且取得了必定的成果,本身也很高興,也頗有成就感。
爲何我將EXTJS稱爲「情人」。由於做爲情人,她首先具有的應該是一個迷人的外表。官網上大量的漂亮的Demo,盡展她迷人的身姿,多少人由於美麗而踏入她的領地。發幾張咱們系統中運用EXTJS開發的界面。
一、 咱們在KOA中運用了EXTJS。如下是我在javaeye上發佈的博客。
也來show一下個人EXT成果
二、 咱們在百洋軟件實驗室的系統後臺運用了EXTJS的桌面應用。
從這些漂亮的界面來看,咱們怎麼不拜倒在她的石榴裙下?咱們又怎麼能禁得起EXTJS陣營的誘惑而讓咱們趨之若鶩呢?
使用EXTJS,除了她迷人的外表,她還存在着其餘的優勢。
一、 統一的類庫,雖然在升級到2.2後,類庫發生了很大的改變,可是總體上仍是相對一致的。
二、 組件化的思想。EXTJS能夠說是將JavaScript的面向對象編程的特性發揮的淋漓盡致。很清晰的繼承體系,讓咱們能夠拆成不一樣的組件使用和擴展。
三、 豐富的UI。詳細你們第一次去學習EXTJS也是被官網上那美妙絕倫的例子而吸引的吧。豐富的UI是區別於property,jQuery等輕量級框架所不具備的特性。
四、 詳細的文檔。EXTJS團隊的確把文檔作的很是不錯,內容豐富且易於使用,而且爲咱們準備了在線文檔和離線文檔等多種文檔形式。
可是開發系統或者技術選型,咱們不能單單隻看界面,效果,而是從各方面考慮,就像人們不能由於情人的漂亮多姿而升成正房同樣。如下是在學習和開發EXTJS應用時總結的缺點:
一、 最讓人痛恨的是EXTJS的受權,一次次的增長限制,讓咱們在使用的時候不得不考慮使用EXTJS的成本。
二、 類庫文件太過龐大,一個ext-all.js就要900多K,形成頁面加載速度太慢。
三、 時間一長,瀏覽器佔的內存就會迅速上升,瀏覽器卡死是常常發生的事情。
四、 服務器端的功能被大大的消弱,服務器端大多數只是在作操做數據庫的功能,應用服務器的功能利用率過低。
五、 前段展示所有用js來實現,存在不少兼容性和穩定性等諸多問題,而真正精通js編程的人很少。
六、 缺乏強大的IDE的支持,雖然aptana、spket等開發利器,可是和Eclipse、VS這樣的IDE相比,仍是差許多。雖然提供在線的設計器,可是也只不過是個玩物。
七、 JS難以調試,並且界面和服務器後端的通信及數據的傳遞不直接,須要服務器對象和JSON、XML傳輸介質的轉換,增長了額外的開銷,雖然也提供了java對象和json轉換的類庫,可是使用起來仍然不是很方便,形成了開發效率很低。
八、 JS代碼比較雜亂,難以維護,項目越大,維護成本就越高。
因此說EXTJS是一個漂亮但不賢惠的情人一點也不爲過。就像包二奶雖然不是咱們所宣揚的,可是做爲一個社會問題,天然有存在的理由,咱們須要合理的認識和處理。而EXTJS做爲情人,地位也很是的尷尬,也須要咱們認真的分析,給它一個正確的位置。
一、 EXTJS太過龐大,不適合作互聯網應用。可是值得慶幸的是,今年春天EXTJS發佈了EXTJS-CORE版本,將核心類庫分離出來,去掉了UI,只保留了ajax的相關操做,讓EXT在互聯網應用中開始佔有一席之地。
二、 EXTJS不適合開發整個應用,特別是大型應用,在須要的地方使用就能夠了,仍是履行她做爲情人的職責吧。
三、 因爲使用EXTJS不在關心HTML,CSS這些頁面元素,它特別適合一些不太懂界面的程序員的喜好,比方我業餘時間能夠利用EXTJS開發一些小系統自娛自樂。
在使用了一段時間的EXTJS後,我終於決定要和她說再見了。在OECP中咱們使用漂亮且稍微賢惠的RichFaces做爲咱們富客戶端技術框架,咱們也將在將來的開發中更深刻的學習和應用,之後請你們更多的關注咱們的OECP項目和相關的技術應用。
html