EXTJS項目總結

關於EXTJS

       EXTJS是用於建立富客戶端Web應用的AJAX框架。下面就這項技術談談我的感受,因爲之前沒有過類似的Web開發經驗,不能做深入的縱向對比。

       優點:

1. 它是一個比較完整應用框架,爲我們提供了豐富的控件,通過對控件的簡單配置,就可以快速的建立起Web應用界面。

       2. 控件功能豐富,比如表格控件支持單選行,多選行,拖拽改變列寬度,按列排序,分頁,自動生成行號等功能。

       3. 它是一個AJAX框架,與後臺無關,後臺可以靈活的運用JavaEE、.NET 、Php等技術。

       4. 本項目採用的是最新的EXTJS4,加入了許多新特性,引用了一個功能更完整的類系統,可以像採用和java,c++等面嚮對象語言類似的方式定義類。同時,新加入了全新的圖表庫等。

       5. 學習起來不是太難。

       缺點:

1. 由於是一個比較完整的框架,應用需要加載的類庫代碼較多,體檢龐大,影響界面顯示速度。

       2. 控件雖然功能強大,但配置項較少,使用起來不夠靈活。

       3. 控件配置使用json格式,基於字符串,開發期不宜發現錯誤,調試難度大。

       4. 沒有提供配套的開發工具。

       5. 對傳統的Dom,事件,方法進行了封裝,這也導致了對熟悉傳統web開發者沒什麼優勢可言,由於我沒有過web開發的經驗,所以這點上只是個人感覺。

       6. EXT4推出不到一年的時間,bug較多,而且相對之前的EXTJS3有較大改變,所以學習參考的資料相對較少。

       總結:

EXTJS可以快速建立起富客戶端的WEB應用,界面風格統一,相對美觀。但應用起來簡單或者框架性的東西往往缺乏靈活性。EXTJS 對傳統的Dom,事件,方法都進行了不同程度的封裝,很難再它的框架中加入這些靈活的東西。控制它界面風格的CSS沒有提供相應文檔,修改起來困難較大,個人感覺適合那些可以自主設計界面,對界面排版風格按部就班的項目。

 

關於JavaEE

       最大的感受就是Java的開源類庫和框架滿天飛,沒有沒有,只有想不到。

對這部分技術我也是個新手,在項目的初期,由於學習不夠,還是採用的最簡單的JavaEE服務端開發框架,使用servlet,三層結構,jdbc等。後來的通過學習,接觸到許多java的開源類庫,慢慢的引入到項目中來,如Json-lib,C3p0, Dbutils等,許多需要自己編寫的代碼都有第三方的插件來完成,不僅優化了代碼,而且提高了開發效率。這次項目由於對三大框架不太熟悉,沒有應用進到項目。但我個人在使用EXTJS開發界面時的感受到,框架的應用有時可以提高效率,但靈活性不夠,而且核心代碼不在你的掌控範圍內,一旦出現問題或bug,是件很危險的事。

        

關於設計

       軟件界面設計和操作要符合大衆使用習慣,所以以後要多關注一下各種常用軟件的界面和操作。

系統設計到最後界面排版,協調性,功能操作性會佔很重的比例,界面設計中圖形代替文字表達語意效果會更好。這是GCCA的Gray提到的,還沒有深刻體會到這句話的內涵。

編寫代碼的最初階段應該要搭建一個框架,設計好接口,便於和他人代碼的整合和調試。


問題和經驗總結:

1. EXTJS4新引入的動態加載功能,可以動態加載使用的類,但文件名一定要與類名相同。

2. EXTJS4 的Grid表格控件滾動條有時候會失靈,這個bug還未找到解決的方法。

3. 應用js和CSS文件中的相對路徑使用問題: js中用到的相對路徑是相對於嵌入的html文件,而CSS中的相對路徑則是相對於CSS文件本身而言。

4. 使用iframe 可以將各個功能模塊獨立開來設計,便於對立開發。

5. 本項目文件上傳功能實現採用的是JspSmart插件(java),但此插件有中文亂碼的bug,目前官方的版本未做修改,但在網上可以找到別人修改好的。這點在以後應用中可以多加註意   

6. 數據庫方面,mysql數據庫會有一些系統關鍵字如desc,如果在定義的表格字段出現,數據庫操作的sql語句如select id, user_name, password, desc from user_infowhere id=1; 如出問題,解決方法爲將sql語句改爲select id, user_name, password, a.desc fromuser_info a where id=1; 或定義表格字段是避免關鍵字。

       7. 系統用戶信息表中一般要加入available或status字段,以便於後臺管理員維護。

       8. 數據庫的字符集設置也要提高注意,設置的不正確會出現亂碼問題,這點在之前是沒有注意過的。

       總之,在這次項目中學到許多新知識,新技術,也收穫了經驗,但也感覺到自己的不足,還需加倍努力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章