在我的一个项目中,有人建议我使用extjs.我对extjs知之甚少.我使用jQuery完成了我的所有项目.我知道很多人都非常了解extjs.
请告诉我使用extjs的利弊?
Alp*_*ale 24
以下是ExtJS的一些主要优点和缺点:
优点
ExtJS就像小部件的超集,如简单的标签,复杂网格的文本框按钮,拖放面板等.它还提供远程调用远程服务器方法的远程演示.
它有很好的文档,包括教程,示例和用户社区.
活跃且目前最常用的javascript RIA框架
良好的代码质量/可读性
惊人的小部件,做我们可能想要的一切.似乎很快,每个版本都带来了新的改进.
缺点
占用空间 - 库的大小为500 KB(使用mod_gzip可以减少到150KB).网页上的主页加载时间很长.
CSS - 很容易迷路.很难找到正确的类名
HTML - 充满了div和过于复杂的生成代码.即使使用FireBug也很难调试.
修改GPL 3.0许可.免费用于开源应用程序,但支付商业闭源应用程序.
使用ExtJs让我们相信GUI会有点桌面和丰富.定制不容易实现.
加载甚至简单的东西需要很少的编码行,这在简单的html或jQuery中更简单.
调试不是很容易.只有GWT在javascript框架中的托管模式下有更好的调试.
用户无法为某个页面添加书签.由于对象是通过DOM操作呈现的,因此搜索引擎无法对页面编制索引
需要经验丰富的开发者
我不确定如何在没有整个显示器的情况下使用它.我希望能融入我们已有的东西.
参考: ExtJs - 优点和缺点
希望这可以帮助.
Bri*_*kau 14
虽然之前的答案已被接受,但有几点我想澄清.
Ext不使用"修改过的"GPL许可证.它完全根据标准GPL v3和Sencha商业许可证进行双重许可.有一些FLOSS例外可以使其与插件/扩展程序开发人员等进一步兼容,但GPL许可证是标准许可证.
如果没有某些背景,缺点清单虽然大多数是公平的,但在某种程度上是没有意义的.将Ext JS与jQuery进行比较也没有意义 - 将苹果与橙子进行比较.如果将Ext JS与其他可比较的RIA框架(Dojo,YUI,Sproutcore)进行比较,那么诸如足迹,CSS/HTML复杂性,调试等等都会变得非常均匀(或者至少可以进行更有用的对比).只是说这些东西在摘要中是"缺点"并不是很准确,因为它们大多只是任何复杂RIA框架的要求.
关于一些特定点,这个列表(根据源文章)引用Ext 3.0.截至本文撰写时的当前版本是4.0.7.自3.0以来,总代码占用空间实际上已经增加,但Ext现在附带了动态类系统和构建工具,允许您根据应用程序的依赖关系创建优化的构建.所以是的,它有足够的总占地面积,但不,你不必包括所有东西.
基于小部件的复杂性和Ext JS支持的布局系统,CSS/HTML复杂性是给定的.这在RIA世界中非常普遍,并不能与简单的jQuery插件相媲美.Ext 4.0现在使用SASS/Compass btw和生成的CSS,因此自定义源样式实际上比3.0更容易.
调试在4.0中也更容易一些(同样由于新的类系统),但肯定比Java(GWT)这样的静态类型语言更难.这是任何基于JavaScript的框架的问题,而不仅仅是Ext.
如果您实现历史/状态支持(两者都由Ext提供),当然可以在您的应用程序中为页面添加书签.这是你必须要做的事情,因为它是特定于应用程序的(在单个小部件级别有一些自动状态管理),但它肯定是可能的.同样,这是一个常见的RIA问题,而不是Ext的任何特定问题.
我同意的专业人士名单(除了第5点,它是脱离背景而没有任何意义).事实上,自3.0版以来,文档和帮助指南已经有了更好的方法.如果你想在Ext JS和其他RIA框架之间进行特定的比较,那么只需搜索SO,因为之前已经很好地覆盖了它.
dbr*_*rin 11
你试图用框架做什么将决定使用哪一个.
非常适合单页RIA应用程序,其中ExtJS框架在页面上加载一次,旁边是0手动编码HTML.这意味着框架管理应用程序中的所有内容.
使用情况有很大不同:你的服务器端框架生成HTML(通过JSP,GSP,ASP,不论),你通过包括jQuery库到每一个功能添加到这些页面.
ExtJS缺点:
ExtJS优点:
免责声明:我是一名前沮丧的ExtJS开发人员,他在学习曲线上非常高兴,真正享受它:)
| 归档时间: |
|
| 查看次数: |
15463 次 |
| 最近记录: |