- Ext JS源码分析与开发实例宝典
- 彭仁夔编著
- 2997字
- 2020-08-28 22:08:32
前言
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联系。