《ExtJS權威指南》——1.1節學習ExtJS必需的基礎知識
1.1 學習Ext JS必需的基礎知識
- JavaScript
嗯,這個還用說嗎?Ext JS本來就是一個JavaScript的框架,而且使用Ext JS就需要使用JavaScript語法來開發,需要JavaScript的知識是必然的了。問題的關鍵是,開發人員對JavaScript知識的掌握也有深淺之分。譬如,我碰到一些開發人員,對JavaScript算是很熟悉了,但是不會JSON,不會直接使用JSON物件,在使用Ext JS的過程中,需要使用JSON物件的時候,居然是通過組裝字串的方式,然後使用eval方法將其轉換為物件來使用的。這就是因為JavaScript學習深度不足造成的。
那麼,到底JavaScript要學到多深才能學好Ext JS呢?這個問題也不太好回答。不過以筆者的經驗來說,建議仔細認真地看一次《JavaScript權威指南(第5版)》 和《JavaScript高階程式設計(第2版)》這兩本書,重點關注和理解以下內容:
函式。
變數。
作用域(scope)。
原型模式(prototype)。
閉包。
文件物件模型DOM。
Document物件。
動態HTML事件以及事件處理。
Ajax。
JSON。
以上這些知識對於瞭解和使用Ext JS非常有幫助。因JSON涉及伺服器端的處理,所以本書會在本章1.2節講解。
- HTML
HTML知識,這個對於Web開發人員來說應該是很熟悉的東西。這裡主要就是需要熟悉HTML的各種標記。 - CSS
因為CSS知識的缺乏,很多開發人員在使用Ext JS出現顯示問題時不知道如何除錯,不知道如何去找錯誤。而這對學習理解Ext JS也造成了障礙。事實上,全部的JavaScript框架,就是通過指令碼的方式生成頁面元素與CSS,通過控制這些元素和CSS,實現需要的功能的,因而,掌握好CSS知識,對學習Ext JS非常重要,這要引起重視。譬如,對於佈局,瞭解佈局物件生成的頁面元素和CSS,對加深佈局的理解和使用是很有幫助的。因此,我建議對CSS還不是很熟悉的開發人員,好好補上這一課。其實,這個也不難學。因為Ext JS 4中已經嵌入了很多HTML 5和CSS 3的內容,筆者建議閱讀一下《HTML 5與CSS 3權威指南》這本書,在補課的前提下順便學習HTML5與CSS3。 - 物件導向的知識
Ext JS框架是完全基於物件導向思想建立的,能掌握這方面的知識,對理解整個框架的運作和使用是非常有幫助。所以,我建議大家好好看看《設計模式》這本書。這不但對學習Ext JS有幫助,對學習伺服器端的開發語言也是很有幫助的。
5.三層架構的知識
Ext JS本身在客戶端就使用了三層架構,所有UI元件都是表現層,Store是資料訪問層。明白了這個,就可避免在UI元件裡找資料了。而通過Ajax技術,把瀏覽器當做表現層,伺服器端當做資料訪問層。這樣,伺服器只通過XML格式或JSON格式提供必要資料就行了,全部的表現可在客戶端通過Ext JS實現。這樣就避免了伺服器端程式碼和客戶端程式碼混搭在一起的問題,從而實現了客戶端與伺服器端的脫鉤,簡單來說,就是定義好資料的通訊格式,寫客戶端的可以不管伺服器端,寫伺服器端的可以不管客戶端,客戶端根據通訊格式接收資料,伺服器根據通訊格式提供資料就行了。這樣的優點就是,無論伺服器端的架構怎麼變(例如我今天用.NET的,明天或許用Java的)都沒關係,按通訊格式提供資料客戶端都能正確顯示。客戶說,這個介面不好,要改,沒關係,修改客戶端就行了,因為資料還是那些資料,與伺服器端無關。
總的來說,只有明白了三層架構才能深入瞭解Ext JS的開發思想,才能使用它開發出好的Web應用程式。
介紹三層架構的書不多,原因可能是這個不算太複雜,理解上也不難。而且這已經是屬於架構師的工作範圍了。如果你的目標是架構師的話,可以閱讀一下《架構之美》和《企業應用架構模式》。
6.其他的建議
實踐是最好的老師,如果碰到問題,或者有什麼的想法:Just do it!錯誤是在所難免的,只有做過,才懂得為什麼不能這樣,為什麼要這樣。筆者就是在錯誤中成長起來的,所謂吃一塹長一智!寫Web應用,最大的問題就是當機而已,有啥可怕的!問人,或許能解決一時的問題,但是不可能一個專案從頭到尾都問別人。“自己動手,豐衣足食”是真理!
如果有時間,建議多看看Ext JS的API文件和多研究一下Ext JS壓縮包中的例子,這對學習也是大有裨益的。如果能更進一步研究研究原始碼,那就更好了。
如果看英文沒問題,建議多上上Ext JS官網,看看裡面的博文,去論壇走走,多交流交流,也是不錯的。
相關文章
- IPIDEA乾貨|學習爬蟲必需瞭解的基礎知識Idea爬蟲
- 必需知道的javaScript基礎知識JavaScript
- ExtJs的Column佈局JS
- 《HTTPS權威指南》-公鑰基礎設施(PKI)學習筆記HTTP筆記
- Android基礎知識學習Android
- extjs4學習-02-匯入相關檔案JS
- 基礎知識學習筆記筆記
- ExtJS 6.2開發筆記JS筆記
- MySQL指南之基礎知識MySql
- JS基礎細節知識JS
- Python——基礎知識細節Python
- JavaSE基礎知識學習—–多型Java多型
- JavaSE基礎學習知識整理大全Java
- RxJava 學習筆記 -- 基礎知識RxJava筆記
- 怎麼學習基礎知識啊?
- 機器學習基礎知識1機器學習
- go語言學習-基礎知識Go
- JVM學習之JVM基礎知識JVM
- 學習爬蟲必須學的基礎知識爬蟲
- EXTJS入門教程及其框架搭建JS框架
- 使用AngularJS學習MVC的基礎知識分享AngularJSMVC
- extjs4 非同步樹的寫法JS非同步
- MySQL 基礎知識梳理學習(四)—-GTIDMySql
- iOS 基礎知識學習目錄索引iOS索引
- 【學習】MySQL基礎知識要點-001MySql
- EXTJS 建構函式帶引數JS函式
- 前端鑑權知識學習前端
- 學習資料庫的基礎知識的書籍資料庫
- C++ 字串完全指南:學習基礎知識到掌握高階應用技巧C++字串
- React學習手記1--基礎知識React
- HTML5學習之Canvas基礎知識HTMLCanvas
- C++基礎知識學習筆記(1)C++筆記
- 學習網路BGP必備基礎知識
- JavaSE基礎知識學習—–抽象類和介面Java抽象
- C++基礎知識學習筆記(3)C++筆記
- GO 學習筆記 《1. 基礎知識》Go筆記
- mysql資料庫學習基礎知識整理MySql資料庫
- 寶付敲寫Echarts+extjs3程式EchartsJSS3
- Extjs Grid 清除列頭篩選條件JS