在我的一个项目中,有人建议我使用extjs。我对extjs知之甚少。我使用jQuery完成了我的所有项目。我知道很多人都非常了解extjs。
请告诉我使用extjs的利弊?
答案 0 :(得分:22)
以下是 ExtJS :
的一些主要优点和缺点<强>赞成强>
ExtJS就像小部件的超集,如简单的标签,复杂网格的文本框按钮,拖放面板等。它还提供远程调用远程服务器方法的远程演示。
它有很好的文档,包括教程,示例和用户社区。 p>
活跃且目前最常采用的javascript RIA框架
良好的代码质量/可读性
令人惊叹的小工具,做我们想要的一切。似乎很快,每个版本都带来了新的改进。
<强>缺点强>
足迹 - 库大小为500 KB(使用mod_gzip可能是 减少到150KB)。网页上的主页加载时间很长。
CSS - 很容易迷路。很难找到正确的课程 名称
HTML - 充满了div和过于复杂的生成代码。很难 甚至使用FireBug进行调试。
修改了GPL 3.0许可。免费用于开源应用程序但是 支付商业闭源申请。
使用ExtJs让我们相信GUI会是桌面式的 和丰富。定制不容易实现。
加载即使是简单的东西也需要很少的编码行 简单的简单html或jQuery。
调试不是很容易。只有GWT有更好的调试 javascript框架中的托管模式。
用户无法为某个页面添加书签。以来 对象是通过DOM操作呈现的,页面不能 由搜索引擎索引
需要经验丰富的开发人员。
我不确定如何在没有整个显示器EXT的情况下使用它。我希望能融入我们已有的东西。
希望这有帮助。
答案 1 :(得分:14)
虽然之前的答案已被接受,但我想澄清几点。
Ext不使用“修改过的”GPL许可证。它完全根据标准GPL v3和Sencha商业许可证进行双重许可。有FLOSS exceptions使其与插件/扩展程序开发人员等进一步兼容,但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版}以来,documentation和帮助指南已经开始变得更好了。如果你想在Ext JS和其他RIA框架之间进行特定的比较,那么就像以前一样搜索那个well covered。
答案 2 :(得分:11)
您正在尝试使用该框架来确定 哪一个使用。
非常适合单页RIA应用程序,其中ExtJS框架在页面上加载一次,旁边有0个手工编码的HTML。这意味着框架管理应用程序中的所有内容。
ExtJS缺点:
ExtJS专业人士: