Ext JS 原先是YUI的一个扩展,如今独立发展成一个关注表现和行为的JS框架。
Ext JS的主要特点是组件化,Web客户端的常见显示和行为,数据的处理以及服务器端的通信都通过组件的方式进行包装。比如表单、toolbar、下拉框、viewport以及tree等页面常见表现和行为,JSON和XML等数据类型的处理以及AJAX等行为的封装,都有相应的专门组件。
这种处理方式的目的是对“数据”和“表现行为”进行隔离,让程序员摆脱HTML,CSS和JavaScript,而只需要关注跟强大的Ext JS组件接口的交互。但接口的学习和熟悉其实也需要一定的成本。
这种方式带来了一些很大的问题:
- 对“表现以及行为” -- 既HTML, CSS和JavaScript -- 的隔离和封装,使程序员失去了对这些代码的直接控制。
- 也是由于隔离,不得已造成了“邪恶的代码生成”。
- 这种方式也造成了HTML,CSS和JavaScript的高度耦合。
个人非常不推崇这种绑架用户的实现理念。Ext JS虽然强大,但却以失去自由为代价。
而相反,JQuery中多数插件以“注入方式”实现,比如在HTML tag添加一个class并会引入相应的表现和行为。这种低耦合的实现方式才是正确并值得推崇的。
最后,《Learning Ext JS》 中有一句话感同深受:Web应用发展的一个奇观是,经过一个轮回之后,又回归到客户端/服务端的应用模型。
--EOF--