Javascript 使用extjs的优缺点是什么?

Javascript 使用extjs的优缺点是什么?,javascript,extjs,Javascript,Extjs,在我的一个项目中,有人推荐我使用extjs。我对extjs知之甚少。我已经使用jQuery完成了所有项目。我知道你们很多人都非常了解extjs 请告诉我使用extjs的优缺点?以下是使用extjs的一些主要优缺点: 专业人士 ExtJS就像是简单标签、复杂网格的文本框按钮、拖放面板等小部件的超集。它还提供了远程调用远程服务器方法的演示 它有相当好的文档,包括教程、示例和用户社区 活动的和当前最常用的javascript RIA框架 良好的代码质量/可读性 神奇的小部件集,尽我们所能。看起来很快,

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


请告诉我使用extjs的优缺点?

以下是使用extjs的一些主要优缺点:

专业人士

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

  • 它有相当好的文档,包括教程、示例和用户社区

  • 活动的和当前最常用的javascript RIA框架

  • 良好的代码质量/可读性

  • 神奇的小部件集,尽我们所能。看起来很快,每个版本都带来了新的改进

  • 缺点

  • 封装外形-库的大小为500 KB(使用mod_gzip可以 减少到150KB)。网页主页的加载时间很长

  • CSS–非常容易迷路。很难找到正确的班级 名字

  • HTML–充满div和过于复杂的生成代码。难以 即使使用FireBug也要进行调试

  • 修改GPL 3.0许可。对开源应用程序免费,但 为商业封闭源代码应用程序付费

  • 使用ExtJs使我们相信GUI将类似于桌面 而且很富有。定制并不容易实现

  • 加载即使是简单的东西也需要几行代码,这是非常困难的 简单的html或jQuery

  • 调试不是很容易。只有GWT具有更好的调试功能 javascript框架中的托管模式

  • 用户不可能为某个页面添加书签。自从 对象是通过DOM操作呈现的,页面不能 被搜索引擎索引

  • 需要相当有经验的开发人员

  • 我不知道如何在整个显示都是EXT的情况下使用它。我更喜欢能够集成到我们已经拥有的东西中的东西

  • 参考:


    希望这能有所帮助。

    虽然前面的答案已经被接受,但我想澄清几点

    Ext不使用“修改的”GPL许可证。它根据标准GPL v3和Sencha商业许可证完全获得双重许可。有很多方法可以使它进一步兼容插件/扩展开发人员等,但GPL许可证是标准许可证

    这些缺点虽然大体上都是公平的,但如果没有一定的背景,就没有什么意义了。将ExtJS与jQuery进行比较也是毫无意义的——这是将苹果与桔子进行比较。如果您将ExtJS与其他类似的RIA框架(Dojo、YUI、Sproutcore)进行比较,那么足迹、CSS/HTML复杂性、调试等都会变得相当均匀(或者至少可以做出更有用的对比)。抽象地说这些东西是“缺点”并不是真正准确的,因为它们大多只是任何复杂RIA框架的需求

    关于几个具体的问题,这个列表(根据源文章)引用了ext3.0。撰写本文时的当前版本是4.0.7。自3.0以来,代码占用总量实际上有所增加,但Ext现在附带了一个动态类系统和构建工具,允许您根据应用程序的依赖关系创建优化的构建。所以,是的,它有一个很大的总足迹,但不,你不必包括一切

    CSS/HTML的复杂性是给定的,基于ExtJS支持的小部件和布局系统的复杂性。这在RIA领域非常常见,与简单的jQuery插件不可比。Ext4.0现在使用SASS/Compass btw和生成的CSS,因此定制源样式实际上比3.0容易得多

    在4.0中调试也比较容易(同样是由于新的类系统),但肯定比任何静态类型语言(如Java(GWT))更难。这对于任何基于JavaScript的框架都是一个问题,而不仅仅是Ext

    如果您实现了历史记录/状态支持(两者都由Ext提供),那么当然可以在应用程序中为页面添加书签。这是您必须做的事情,因为它是特定于应用程序的(在单个小部件级别有一些自动状态管理),但这当然是可能的。同样,这是一个常见的RIA问题,不是Ext特有的问题

    我同意的专业人士列表(第5点除外,它是断章取义的,毫无意义)。事实上,自3.0版以来,和帮助指南已经有了很大的进步。如果您想要在ExtJS和其他RIA框架之间进行特定的比较,只需像以前一样进行搜索

    您试图用这个框架做什么将决定 使用哪一个

    ExtJS 对于一个单页RIA应用程序来说是非常好的,在这个应用程序中,ExtJS框架只在页面上加载一次,旁边是0个手工编码的HTML。这意味着该框架可以管理应用程序中的所有内容


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


    ExtJS缺点:

  • 复杂框架-不适合心脏虚弱者:)
  • 陡峭的学习曲线
  • 有虫子-是的,有。然而,大多数问题都是由于没有正确使用框架和没有充分理解文档而产生的
  • 不断发展的框架-这可以看作是+和-但今年已经有7个版本
  • ExtJS的优点:

  • 真正多功能的客户端MVC框架,具有当前可用的最完整的组件和小部件集
  • 可扩展。字面上来说,Ext.extend()是您要做的第一件事
  • 漂亮。走出b