我认为,ExtJS与jQuery相比唯一的优势就是丰富的UI组件。 构建纯HTML UI,再使用jQuery或其他合适的Javascript库不是更好的选择吗?
如果您正在构建类似桌面的Web应用程序(许多内部网络应用程序都是这样的),那么ExtJS是最好的库之一,因为它为您提供了非常干净的对象模型和经过彻底测试的丰富客户端控件。全部以及出色的一致外观和感觉,因此您不必花时间去做所有这些。相反,您将建立应用程序。他们还提供出色的客户支持。我使用过他们的论坛和事件支持,并取得了很好的经验。
如果已经使用ExtJS,我会避免使用jQuery,因为您需要的所有内容也由ExtJS提供,并且针对它进行了优化。如果您将使用它,请完全拥抱它。
要创建一个即可HTML + jQuery丰富客户端侧网格,您需要很长时间,并且该网格将是:
更不用说您需要解决所有错误(与控件复杂性成比例)。而这仅仅是一个控件。他们提供了大量的控件。相信我,他们的控件已经在市场上很长时间了,并且真的非常 polished,并且得到了许多浏览器的支持。
ExtJS起初是免费开源代码。免费的外观和感觉一致的丰富控件。它们主要由Jack Slocum编写,显然是一个精明而又认真的人,他确实知道自己想要什么,并在编写时非常彻底。
他在提供整个对象模型以及完美成熟的库方面做得非常出色。可以很容易地看出这些控件是由开发人员为开发人员构建的。它稍后发展成为半开放项目(我认为是在第3版中),具有背景收入的可能性。ExtJS库(类似于jQuery的管道代码)仍然是免费的,而庞大的、精心制作的控件集则需要许可证。
整个项目从一个狂热者的车库项目进展到一个完整的产品。所以首先完成、打磨和进展,然后他们把整个东西合并起来,并在同样的前提下继续。所以它因为一个(伟大的)产品而获得了利润。
其他第三方提供商主要受利润驱动=根据利润(需求)生产产品。他们的代码反映了这个事实。ExtJS的传承不同,因此更好得多。
正如@sra所指出的那样,维护也更低,因为代码库更小,意味着更小的漏洞表面和更少的行数需要维护。ExtJS是这个方程中的一个单独的库,由其尊重的所有者进行维护。由于它完全是Javascript,你当然可以扩展它并更改你想要以不同方式工作的特定部分。那些时候我写了很多扩展...在开始使用jQuery后,我错过的第一件事情是名称空间支持和类结构。ExtJS对于.net或Java开发人员来说感觉非常自然,因为它给你一种面向对象的感觉。另一方面,如果你不知道自己在做什么以及如何正确使用它,jQuery提供的是更加过程化的感觉。
如果你认为你的应用程序UI可以利用ExtJS的出色控件直接构建75%,我会毫不犹豫地完全拥抱它,并且不再与jQuery相比较。除非你有实际(除了懒得完全学习ExtJS)包括和使用它的巨大好处,否则不要混合和匹配它与jQuery。
P.S. 我不是Sencha的员工,也没有受到他们的支付。当jQuery刚起步的时候,我是一个使用ExtJS和Asp.net完整项目开发了9个月的开发人员。现在我也是一个重度的jQuery用户,所以我两者都很熟悉。好吧,我不知道从版本4开始的ExtJS,但我猜它只会越来越好。
EXTJS为Web应用程序提供以下功能:
最佳不同的网格控件,具有排序、搜索、可编辑行功能。
窗口弹出和消息框控件具有非常专业的丰富控件。
最佳用户输入和选择控件,适用于表单。
Web应用程序有助于部分请求服务,如Http代理。
易于理解,适合初学者开发人员。
正如你所说,Extjs提供了多个组件来构建丰富的用户界面。
作为一个偶尔使用Extjs的用户,我想说,如果你需要将大量数据呈现为网格、树形结构,并且这些数据可以来自标准格式,比如XML或Json,那么使用Extjs可以让你在很短的时间内获得非常好的结果/渲染效果。
如果你想要让"纯HTML"具有类似于Extjs组件的功能,你将会花费很多时间进行渲染。
你看过他们的演示页面了吗?