使用extjs的利弊是什么?

时间:2011-11-14 05:11:48

标签: javascript extjs

在我的一个项目中,有人建议我使用extjs。我对extjs知之甚少。我使用jQuery完成了我的所有项目。我知道很多人都非常了解extjs。

请告诉我使用extjs的利弊?

3 个答案:

答案 0 :(得分:22)

以下是 ExtJS

的一些主要优点和缺点

<强>赞成

  1. ExtJS就像小部件的超集,如简单的标签,复杂网格的文本框按钮,拖放面板等。它还提供远程调用远程服务器方法的远程演示。

  2. 它有很好的文档,包括教程,示例和用户社区。

  3. 活跃且目前最常采用的javascript RIA框架

  4. 良好的代码质量/可读性

  5. 令人惊叹的小工具,做我们想要的一切。似乎很快,每个版本都带来了新的改进。

  6. <强>缺点

    1. 足迹 - 库大小为500 KB(使用mod_gzip可能是 减少到150KB)。网页上的主页加载时间很长。

    2. CSS - 很容易迷路。很难找到正确的课程 名称

    3. HTML - 充满了div和过于复杂的生成代码。很难 甚至使用FireBug进行调试。

    4. 修改了GPL 3.0许可。免费用于开源应用程序但是 支付商业闭源申请。

    5. 使用ExtJs让我们相信GUI会是桌面式的 和丰富。定制不容易实现。

    6. 加载即使是简单的东西也需要很少的编码行 简单的简单html或jQuery。

    7. 调试不是很容易。只有GWT有更好的调试 javascript框架中的托管模式。

    8. 用户无法为某个页面添加书签。以来 对象是通过DOM操作呈现的,页面不能 由搜索引擎索引

    9. 需要经验丰富的开发人员。

    10. 我不确定如何在没有整个显示器EXT的情况下使用它。我希望能融入我们已有的东西。

    11. 参考: ExtJs - The Pros and Cons

      希望这有帮助。

答案 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)

  

您正在尝试使用该框架来确定   哪一个使用。

ExtJS的

非常适合单页RIA应用程序,其中ExtJS框架在页面上加载一次,旁边有0个手工编码的HTML。这意味着框架管理应用程序中的所有内容。


JQuery的

用例大不相同:您的服务器端框架生成HTML(通过JSP,GSP,ASP等),并通过将JQuery库包含在每个页面中来为这些页面添加功能。


ExtJS缺点:

  1. 复杂的框架 - 不适合胆小的人:)
  2. 陡峭的学习曲线
  3. 有错误 - 是的。但是,大多数问题都是因为没有正确使用框架而没有彻底理解文档。
  4. 不断发展的框架 - 这可以被视为+和 - 但今年已经发布了约7个版本。
  5. ExtJS专业人士:

    1. 真正的多功能客户端MVC框架,提供目前最完整的组件和小部件。
    2. 可扩展的。字面意思是Ext.extend()是你做的第一件事。
    3. 美丽。开箱即用的主题设计得如此完美,以至于没有主题技能的大多数开发人员(我们都没有指出任何手指)可以创建真正专业和美观的网络应用程序。
    4. 到目前为止,文档是我见过的任何库,API或开源项目的最佳选择。完成API文档(即使有一些漏洞)和实时代码示例,您可以调整并查看发生了什么+源代码。横跨大部分图书馆的很好的例子。从MVC到Theming的最重要主题的优秀指南。甚至是视频库。这个文档最近已经大大更新了,所以如果你在过去的6个月里没有见过 - 好吧,去看看吧!
    5. 论坛非常活跃,许多关键专家每天积极参与。
    6. 用户扩展(UX) - 大型用户社区带来了一系列令人惊叹的创意解决方案。
    7. 这是巨人!它有很多很棒的组件,我没有必要真正扩展到无法识别的东西。我提到了学习曲线吗?
    8. MVC - 对于任何自尊的RIA app MVC框架都是必须的
    9. 内置工具
    10. SASS和Compass的主题支持
    11. ......还有更多。
    12. 免责声明:我是一名前沮丧的ExtJS开发人员,他的学习曲线非常高,真正享受它:)

      • (作为社区维基开放)