Ext江湖
大漠穷秋著
ISBN978-7-121-14862-0
2012年1月出版
定价:108.00元
16开
788页
宣传语:首部分析Ext架构的技术书
知名的Ext在线交流社区倾力打造
练好JS基本功 通晓Ext内核和架构
内 容 简 介
本书以幽默诙谐的语言由浅入深地解析了Ext框架的方方面面,包括JS基础、Ext的DOM和CSS封装、内置对象的扩展、事件系统、Ajax和Direct、数据和缓存架构、面向对象和继承、UI组件、布局管理、模板、特效、图表和报表、Ext4新特性介绍等内容。文中穿插大量的实例和基础理论解析,寓教于乐,严谨而不失活泼。
对于Ext的使用者来说,本书针对实战中面临的种种问题,给出了详尽的解决方案和思路;对于想研究源码的读者来说,本书绝对是难得的良师益友。
全书思路清晰、内容一气呵成,适合Ext用户参考学习,还适合其他JS框架的开发者阅读和参考。
自 序
宝刀百炼生玄光,秘笈兵书此中藏。
——《倚天屠龙记》
看到Ext的第一眼,你一定体会到了什么叫“一见钟情”。你一定很兴奋、很激动,想不到在浏览器中居然可以构建出如此丰富的UI界面!
然而,一见钟情易,天长地久难。当你使用Ext进行实际项目开发,当新鲜劲儿逐渐消退、项目走向深入的时候,你渐渐发现某些地方开始不对劲:
某些组件的CSS有问题;
某些事件处理函数把代码拖得很长、很丑;
动态添加/删除UI组件不像想象中那么容易;
浏览器占用很大内存,某些地方存在内存泄漏的迹象;
对于某些需求需要扩展现有组件;
……
越是深入,你越来越感觉水很深:DOM、CSS、Function、Event、Ajax、JSON、继承、UI、Layout、Template、Animation、Chart、Report……这些主题任意切出一块来,都足以写一本《××宝典》。
最郁闷的是,很多时候,你发现自己不再是一个单纯的程序员,你还是一个兼职系统架构师、兼职美工、兼职UI设计师、兼职测试人员……
《Ext江湖》核心理念
夯实JavaScript核心基础;
演练Ext的高级技巧;
全面解析Ext内核。
你一定看出来了,这里几个目的存在先后顺序。没错,你想的就是我想的,它们之间确实存在递进的关系。我从来不认为一个对JavaScript一窍不通的人能写出多么优秀的Ext应用,并且从目前大量Ext应用来看,那些代码完全是“披着羊皮的狼”。从外观看,像是JS代码,然而再仔细品一品,里面到处透露出Java或者其他强类型语言的强烈气息。这些代码完全没有发挥出JS脚本的强大威力,它们完全是穿着少林的袈裟,练着武当的太极。
此有形而无神也!
因此,我一直坚持认为,必须首先对JavaScript有相当程度的了解,然后再去写Ext应用。很多人曾经对我说,“我现在写代码没什么问题,但是总觉得很浮、很虚,心里不踏实”,这是内力不足的典型症状,我相信你一定也曾有过类似的感觉。如果正在遭遇这样的困惑,那么应该停下来好好练练“内功”了。
作为一个不那么年轻的程序员,我深知这是一个神奇的国度,很多事情不是“应该”怎么办就能怎么办,很少有公司愿意给你一整段的时间让你补充JS基础。因此,我们在仰望完星空之后,还是不得不面对残酷的现实。我们需要有一种折中的办法:一方面能补充JavaScript的核心基础;另一方面又不能影响手上的项目进度。只有找到这种“以战养战”的途径,才能完美地解决我们大多数Ext开发者面临的实际问题。
所以,《Ext江湖》采用了两条“核心”主线:第一条主线是,提供大量“不太一般”的实例,详细解析实际项目过程中可能遇到的各种问题和陷阱;第二条是,在这些实例的基础上进行深度解析,一步步揭开Ext的核心运作机制,从根本上提升你的JavaScript“内力”。以上思路是《Ext江湖》全书的核心组织方式,每个部分都从典型的例子开始,总结常见问题和陷阱,然后提升到源码分析的高度(注意:本书针对Ext3.2的源码进行分析)。
当然,在对Ext内核进行源码分析的过程中,很多内容和机制都是独家首次“爆出”。比如:Ext的事件机制、继承机制、数据结构及模板机制。对这些机制和设计思想的完整解读是你目前无法从Google获得的。
亲爱的你,可能也曾经和我有一样的习惯:喜欢拆东西。好多神奇的东西,总想把它拆开看看,里面到底是什么,虽然多数时候无法再装回原样。在使用Ext进行项目开发的过程中,你一定会有同样的感觉:仅仅停留在使用者的水平,玩玩搭积木一样的小孩游戏,完全是消耗青春啊!Ext的设计如此优良,而且能看到源码,这么好的机会,说什么也得把它拆开,看看里面是如何运作的!
但如上所述,这是一个神奇的国度,作为一个程序员,上帝留给我们的空余时间总是那么有限。而Ext是个大框架,它封装得很紧密、很精巧,拆解它必定要付出相当多的心血。分析它的设计和架构源码绝对不是一个小工程,不是三两天就能完成的。而且在对内核运作机制进行分析的过程中,需要一定的基本功,需要用巧劲,需要一定的起承转合。当然,还需要保持轻松愉悦的心情。
在此并不漫长的征途上,《Ext江湖》试图营造一个轻松的学习氛围,你可以在乘车的时候、在中午休息的时候、在打完一把游戏之后、甚至在睡觉之前把这本书拿出来,读上那么一小段,如同读着一本小说那样轻松惬意。谁说技术书籍一定会枯燥无味?谈笑间樯橹灰飞烟灭,岂不快哉?
同时,在章节推进的过程中,用户体检、设计模式、质量控制、代码重构、版本演进……这些老生常谈的问题都会融入其中。对于分析过程中使用的UML图形,采用了比较直观、简化的方式,如果你还看得懂漫画,就绝对没有问题。
我相信,所有这些细节联合起来,足以让你在悄无声息之间,梦入桃花源。
这就是《Ext江湖》企图努力达到的终极境界。
实例的取舍
大量的例子代码都是为解析Ext的源码而服务的,因此不要漏掉每个细小的示例,因为如果此时漏掉不看,在分析源码的过程中会遭遇比较大的阻力。
同时也请放心,所有的示例代码都是经过精心筛选的,那些非常基础、没有任何技术含量的东西,都已经被舍弃了。时光飞逝、青春有限,任何一点没有意义的浪费都不可原谅。
练功路线图
想当年,华山派的剑宗和气宗为了谁是第一的问题斗得你死我活,而今这么多年过去了,丝毫没有止息干戈的迹象。剑与气,真的是不可调和的两个对立面吗?剑,形也;气,神也,两者互为表里,神形兼备是为一代宗师。然而人的根器有不同,基础有差异,需要因地制宜,采取不同的修炼途径。有鉴于此,《Ext江湖》这本“剑谱”完全可以使用两条不同的修炼路径:
一、剑宗路径
从第9章UI组件开始,依次向后,修炼Layout布局大法、UI组件DIY、Ext模板、JS动画、图表、报表,过程中遇到难以理解的问题再返回前面的章节找解释。这是一条从“形”入手的修炼路径,从外在的招式入手,不管三七二十一,先把Ext最绚丽的UI应用到项目中去。但是,由于剑宗路数存在内力不足的先天缺陷,过程中一定会遇到诸多棘手的问题。使用此路径的修习者,切忌轻举冒进,一旦碰到阻力较大的关节,一定要回头补充必要的内功,然后再往前推进。
二、气宗路径
从第1章开始,依次修习。这是一条从“神”入手的提升路径,先跟着师傅扎马步、打基础,然后逐步推进到最综合的应用中去。采取此路径的修习者,后期内力深厚,无坚不摧。缺点是,初期进展缓慢,而且需要极强的耐力。当你周围的人都玩出了绚丽的花枪时,你可能还在纠结某个难以理解的理论。不过世间路千万条,既然做出了选择,就必须坚持到底。
总之,无论是尚处于入门阶段的新手,还是想一窥Ext内核秘密的发烧友,都能从《Ext江湖》中找到你想要的内容。根据你的个人偏好和实际情况,选择最合适的修炼之道,最终都能殊途同归。
江湖不远,就在你心中。
鸣谢
谢谢脚本娃娃管理团队,他们是:飞鸿黄、蝴蝶精灵、信守诺言、wolf。
谢谢脚本娃娃系列及YY语音频道的兄弟,谢谢你们对我的包容、鼓励及挖苦和讽刺,我爱你们。
感谢西宁蔚蓝的天空,给我相当多的灵感。
我爱你们!
大漠穷秋