Ext 4概述
全文详见:http://www.sencha.com/learn/Guide:Ext_4_Overview(Chinese)
Ext 4有志诚成为Web程序其革命性的开发平台。框架中的每一个首要的组件几乎都作了改善,而且属于相当大幅度的改善。对于Ext3来说——4.0许多组件以及子系统都是表现得焕然一新!本指南会向您提供有关Ext3到Ext4期间变化所呈现的一方面。
如果您在阅读本文档时正好发现任何问题,请积极反馈,或来到Sencha论坛《迁移Ext3到Ext 4》的帖子还有来到Ext中文网之JS堂社区反馈吧!
一般性问题
该文档通用于[#ext-core Ext Core]及[#extjs Ext JS]。
Ext 3的兼容性
我们几次更新Ext JS累积下来,感觉当然就是第四版的变化幅度最大。第四版带来了许多内容,这些内容并不兼容于Ext3。然而,我们尽力可以做到跟更前个版本最大化的兼容。
JS兼容化文件
加载Ext4完毕后,你可选择加载这份兼容化文件。该文件的目的在于提供兼容Ext3的简写方式和覆盖新参数为适合旧版的参数。
注意: 此时此刻兼容化文件尚未释出可用,不过应该会在发布4.0正式版之前提供给大家。
沙箱模式
Ext 4完全基于沙箱设计的,因此可以让旧版的Ext与Ext4”同处一室“,在同一个浏览器运行时中做到兼容(译注:有一个桌面的例子,仍使用Ext3代码)。从JavaScript角度看,原来所有修改对象原型的方法已被转移,转移到全局对象Ext之下。现在只需要建立一个Ext对象的引用,分配不同的名称,就可以从以前旧版本的Ext中区分开来……
在标签markup/CSS方面,由于Ext4采用了Compass和SASS框架并通过模板生成CSS,所以很容易设定一个前缀,供CSS规则之用,比如Ext.baseCSSPrefix属性就是对应的前缀。结果,要与旧版Ext的CSS区分开来,也不是什么难事了。
包与命名空间的更新
在重构过程中,全体类和包的结构已经发生了变化。如何变化将是根据严格的命名转换来规范的,这一点对于重构的结果非常重要,以便于我们能更轻松地查找某一个类。例如Ext3的Button类、CycleButton类和SplitButto类就连同其他类归类在/widgets中。尽管不同层次的对象却也直接地命名在全局对象Ext身上。
在Ext 4,每一个类根据其特性的相似来决定其包的位置。虽然只是命名上的变化,但比起Ext3能更精确地描述对象。同样拿Button按钮为例子,Ext4的类这样分配:
- 单独设一个包src/button/
- 代码划分出一个新的命名空间
- 改名,如Ext.SplitButton→ Ext.button.Split
为了尽可能地照顾Ext3的旧命名方式,Ext4的类有一个特殊属性称作“alternateClassName”,通过这个属性就可以让Ext3遗留项目采用Ext4新的类库。例如alternateClassName: 'Ext.SplitButton'。当然,我们很希望你完全采用Ext4开发方式。
全文详见:http://www.sencha.com/learn/Guide:Ext_4_Overview(Chinese)