官术网_书友最值得收藏!

前言

Ext JS是一款非常優秀的JavaScript框架,不但能方便地實現優美絢麗的Web應用系統,而且其源碼架構的設計及實現令人叫絕。任何一種優秀技術都會有一批布道者去分析、研究并推廣它, Ext JS也不例外。

但是Ext JS的結構十分龐大,大多數開發者只能是對著Ext JS的應用文檔依葫蘆畫瓢地開發應用系統。這樣一知半解的開發方式,會導致開發中出現眾多問題,比如:性能低下、效率不高、開發出來的用戶體驗千篇一律等。而目前市場上Ext JS的書籍大部分都停留在對Ext JS的應用上。深入到Ext JS的實現原理及內部運行機制,這對開發者而言非常重要,因為這是用活用好Ext JS的關鍵所在。

不是沒有人去分析Ext JS的源碼,但其源碼架構宏偉,所需知識眾多,開發者在閱讀其源碼時一般都一知半解,而市面上卻沒有這方面的資料。筆者也是Ext JS源碼分析大軍中的一員,在解讀其源碼之后的那種興奮和快樂,讓自己覺得應該把它分享出來。

在寫了零散的源碼分析文章后,卻發現這樣效果并不是很好,讀者還是很難深入。為了讓讀者能更好地學習,最大限度地不讓學習曲線過于陡峭,讓愛好Web開發的人員也能體會到Ext JS開發的樂趣,遂萌發了編寫這本宏大作品的想法,讓開發者能充分、深入地了解Ext JS源碼機制及實現并能將Ext JS最佳應用。

讀書的最高境界是厚積薄發,這是對讀者的要求,而其背后也隱含著對作者的要求,如何引導讀者厚積薄發,這本就應該是作者的義務。一本書的內容從定下主旨開始就是渾然天成的整體,如東家之子,增之一分則太長,減之一分則太短。內容的多寡與缺失都會影響它的完整性和藝術性。

為了達到這個目的,本書的內容無論從哪個角度來看都應該是一條線串聯著的。本書是Ext JS源碼分析書,它把整個Ext JS的源碼采用core→element→component 3個單詞來串聯。本書是Ext JS應用書,它采用網絡辦公系統實例應用貫穿著整本書的知識點。

讀者可以從這條線出發,慢慢地擴展細化,最終擴展到整個Ext JS體系。還可以通過整個Ext JS體系慢慢地收縮歸納,最終薄發到這條線上來。本書從內容的編排上來看也是一條線,它分成4個部分,每部分都有相關的章節。這4個部分的主要內容是Introduction(入門)、Core(核心)、Element(元素)和Component(組件)。通過這幾部分,讀者不僅能應用Ext JS進行開發,還能了解其工作原理和機制,知其然,亦知其所以然。

本書要點

本書全面地講解了Ext JS源碼分析和開發實例,全書分為4個部分,共17章。本書注重對Ext JS優美代碼的分析和應用,通過閱讀漂亮的代碼,能夠極大地提升代碼編寫的質量。各部分的具體內容如下:

◆ 第1部分 快速入門,包括第1章和第2章。入門部分是對Ext JS進行一個整體的概述,讓讀者從宏觀上把握整個Ext JS。它包含宏觀概述和入門案例兩章,第1章是通過理論性的圖表及文字去概述整個Ext JS及其相關體系結構。而第2章則是帶領著讀者,通過實現一個案例來縱覽整個Ext JS的功能應用。讀者不但能從理論上把握Ext JS,還能從實例中去了解整個Ext JS。

◆ 第2部分 核心技術,包括第3章~第6章。核心部分介紹了Ext JS的核心基礎知識。該部分包含一個機制,兩個模型,六個擴展。機制指的是事件機制,Ext JS事件不僅擴展了瀏覽器的事件機制,同時還采用觀察者模式構建組件事件機制,這將在第4章中介紹。兩個模型分別指的是模板模型和數據模型,Ext JS的顯示模塊化和數據分離化就是通過這兩個模型來完成的,它們分別在第5章和第6章介紹。六個擴展指的是Ext JS對JavaScript中的類、函數、字符串、日期、數組及定時任務進行了擴展,這將在第3章中介紹。

◆ 第3部分 基于元素的開發,包括第7章~第10章。元素部分介紹了Ext JS元素的相關知識, Ext JS元素對瀏覽器DOM元素進行了擴展,它有三個基本應用和兩個效果。三個基本應用分別指的是元素操作、元素查找和元素樣式。這部分在第7章和第8章中講解。兩個效果分別指的是動畫特效和拖曳實現,在第9章和第10章中深入淺出地分析了它們的原理、機制及擴展應用。

◆ 第4部分 深入組件的開發,包括第11章~第17章。組件部分是Ext JS的重點,所有應用都是圍繞著組件來完成的,要學好Ext JS,必須要學好組件。該部分分成一個布局、兩個模型、四大組件。布局用來進行頁面內容的排列,Ext JS在“Div+CSS”及Table布局的基礎上提供了更高級的布局方式,這部分在第13章中講解。兩個模型指的是組件模型和容器模型。所有組件都遵循組件模型,擁有組件的生命周期,這部分內容在第11章中講解。容器模型用來構建存放和布局組件的容器,這部分內容在第12章中講解。Ext JS的四大組件指的是Form組件、Grid組件、Tree組件和Menu組件,在第14章~第17章中對其進行分析講解。

本書特色

首先,這是一本源碼分析書籍

源碼分析不是簡單地在源碼中標上注釋,然后貼到書上充內容。本書的源碼分析首先從其機制、原理或流程入手,帶著讀者手動實現該原理或機制,然后一步步引入到Ext JS中的源碼實現,最后對Ext JS源碼的不足之處提出解決方案并進行擴展或實現。

其次,這是一本Ext JS應用書籍

本書與一般的Ext JS入門書籍不同,沒有提供Ext JS文檔已經自帶的實例,而是覆蓋了其他Ext JS書籍中的盲點。每章在講完Ext JS原理之后,都結合本章的知識點,擴展或實現綜合性案例,而該實例都可以作為辦公系統中的一部分。這樣讀者就可以通過辦公系統來串起整個應用。這些綜合實例的編寫采用迂回連續的方式,首先深入應用本章知識,之后再引入后面章節的知識點的應用,這樣讀者就進入了“應用—原理機制—深入”的良性漸進過程中。

再次,這是一本JavaScript技術書籍

Ext JS源碼分析需要用到JavaScript知識,本書通過Ext JS源碼來講解JavaScript的技術重點與難點,這樣讀者就有很直觀的感覺,且能達到事半功倍的效果。對于JavaScript知識,本書沒有講解那些簡單的語法,而是深入分析了其他書籍沒有講到的技術盲點。

最后,這是一本Ext JS擴展書籍

本書站在一定高度去分析Ext JS源碼,指出源碼中的不足,并提出很多解決方案,每種解決方案都擴展成組件的形式,讀者可以直接使用。

讀者對象

◆ 本書適合所有具備一定HTML和CSS基礎,但不具備任何Ext JS基礎的初學者閱讀。這部分讀者能通過本書迅速掌握Ext JS的基礎知識和基本操作,從而迅速地將Ext JS用到實際開發中去。

◆ 本書適合所有具備一定Ext JS開發基礎的中高級讀者閱讀。這部分讀者能通過本書全面了解Ext JS的架構與設計原理,從而提高自己應用Ext JS的水平,最終開發出更絢麗、更高性能的Ext JS應用。

◆ 本書適合所有立志于開發出屬于自己的Ajax框架的高級開發者閱讀。本書深刻揭示了Ext JS的架構與設計原理,其思想可供這部分讀者參考和借鑒。

致謝與分工

本書由彭仁夔編著,這本書前后創作的時間超過一年,中間也傾注了家人和朋友的關心和支持,沒有你們的支持,這本書的誕生幾乎是不可能的事情。參與本書編寫工作的還有廖彩彪、董文輝、林振榮、劉曉磊、王軍偉、周瑞杰、邵笑倩、劉軍華、趙會春、王曉。此外,在本書完成后,有大量技術專家審閱了本書部分內容,并且在百忙之中寫了書評,在此一并謝過,排名不分先后:諾和諾德(中國)科技有限公司,高級開發技術研究與培訓專家,杜新潤;成都微核科技,界面工程師, David.hell.R;微軟中國公司服務部,架構師,張建義;朗途融通信息科技有限公司,工程師,盧健夫;北京紫光圖文系統有限公司,軟件開發工程師,付偉杰;北京同方匯智科技有限公司,程序員,陳光等。

寫書是一項枯燥乏味的工作,但也是一種痛并快樂著的孕育過程。快樂的源泉來自讀者的肯定。作者夜以繼日的工作,最大目的就是為了交給讀者一份最滿意的技術書。雖然我們力求盡善盡美,但由于時間倉促,作者水平有限,書中難免有錯漏之處,懇請廣大讀者批評指正。若有問題請發郵件到sharepub@126.com聯系。

主站蜘蛛池模板: 宁晋县| 焦作市| 盈江县| 定西市| 抚顺市| 和田县| 六安市| 邛崃市| 怀来县| 万荣县| 准格尔旗| 濉溪县| 双峰县| 雅安市| 白玉县| 嘉峪关市| 二手房| 卓尼县| 沙雅县| 礼泉县| 四川省| 河池市| 无为县| 阳城县| 正安县| 离岛区| 上栗县| 漠河县| 读书| 镶黄旗| 龙江县| 峡江县| 郎溪县| 渭南市| 炎陵县| 梁平县| 军事| 乐清市| 临安市| 巨鹿县| 进贤县|