我希望在浏览器中构建丰富的 UI,这两种解决方案似乎是尽快获得最大功能和灵活性的方法。
Smart Client看起来很有希望,但ExtJS似乎更受欢迎。有没有人能够同时使用两者来验证一个与另一个?另外,ExtJS 4 听起来很有希望,但我不确定它什么时候发布,我也不知道我是否需要重新获得许可才能在 ExtJS 4 平台上进行开发。
想法?
我希望在浏览器中构建丰富的 UI,这两种解决方案似乎是尽快获得最大功能和灵活性的方法。
Smart Client看起来很有希望,但ExtJS似乎更受欢迎。有没有人能够同时使用两者来验证一个与另一个?另外,ExtJS 4 听起来很有希望,但我不确定它什么时候发布,我也不知道我是否需要重新获得许可才能在 ExtJS 4 平台上进行开发。
想法?
我使用过 ExtJS 和 SmartClient。我可以告诉你,SmartClient 更容易学习,但 ExtJS 在书籍和文章方面有更多的支持。ExtJS 的社区非常乐于助人和活跃,而 SmartClient 的社区非常贫乏。ExtJS 也有在论坛上提供帮助的布道者和技术支持人员。SmartClient ......好吧,他们以无助而闻名,在某些情况下,只是彻头彻尾的讨厌。如果您查看他们的论坛,几乎所有发布的问题都会被忽略。也很遗憾,因为 SmartClient 是一个很棒的工具包,它提供了比 ExtJS 更大的视觉灵活性和更小的学习曲线。SmartClient 也没有 ExtJS 冗长。
至于文档,这两个站点都拥有大量的文档集。可悲的是,一旦您触及表面并实际开始使用任一工具包,限制就会开始显现出来。ExtJS 的入门文档很少而且非常过时。SmartClient 的初学者文档几乎没有为您提供入门所需的内容。两个站点都采用这样的方法,您应该通过挖掘他们的示例代码来弄清楚事情应该如何工作。一旦您了解了使用这些工具构建应用程序的基础知识,这很好,但它们会跳过该步骤。你可以在网上找到 ExtJS 的教程,但 SmartClient 的教程似乎并不多。
然而,一切并没有丢失。至少对于 ExtJS,有几本非常好的书。就个人而言,我强烈推荐 Jesus Garcia 的“ExtJS in Action”。不幸的是,似乎没有任何为 SmartClient 编写的书籍。
如果您是 Java 开发人员,SmartGWT 是一个非常有吸引力的选择。如果您只是使用 Javascript,则值得考虑使用 SmartClient,因为它的许可限制较少。简而言之,SmartClient 的完整客户端工具可通过 LGPL 获得。ExtJS 仅提供其核心库(与 jQuery 的基本非 UI 库的功能大致相同)。然后是一个问题,您是否想支持一家在许可方面陷入争议的公司。关于 ExtJS 的历史已经写得够多了,不需要再拖到这里了。
在不知道要使用该工具包的目的的情况下,提出一项建议而不是另一项建议可能会有些困难。我可以从我自己的个人经验告诉你的是,从作为商业软件开发人员的角度来看,我们的客户对使用 SmartClient 开发的 UI 比使用 ExtJS 更容易接受。当我们使用这两个工具包完成 UI 组合时,他们给出的原因是 ExtJS 看起来过时、简单,并且存在“相同性”问题。这应该在 ExtJS 4 中得到解决,但到目前为止,我所看到的一切都表明更多相同。YMMV。
在为我们的新项目开始新的 GUI 之前,我做了一些研究。
这是我的发现(从“http://”中删除空格;bcoz stackoverflow 阻止我这样做:)):原型框架有利链接:
http://en.wikipedia.org/wiki/List_of_Ajax_frameworks
http://www.javabeat.net/articles/12-comparison-of-ajax-frameworks-prototype-gwt-dwr-and-1.html
http://www.devx.com/AJAXRoundup/Article/33209
Dojo框架有利链接:
http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison
jQuery框架有利链接:
http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised
不同RIA框架的测试速度:
http://mootools.net/slickspeed/#
更多对比:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
http://jqueryvsmootools.com/#conclusion
在所有这些发现中,我开始使用 SmartClient 5。最初我们遇到了一些问题,但随着 SmartClient 的成熟,我发现它在很多方面都很有趣:1. API 文档帮助和示例 2. 灵活的控件 3. 论坛
今天我正在研究 SmartClient 8,我的 GUI 上很少有人在生产中成功运行。实际上,SmartClient 的最大帮助在于您可以在一个地方找到所有内容。无需挖掘许多其他任何其他开源 RIA 框架都难以做到的网站。
所以我的选择无疑是SmartClient。
谢谢 Shailendra (shailu)
关于这个主题有几个现有的问题。我是 Ext 人,所以我会推荐它,SmartClient 人可能会推荐 SC。它们各有利弊,所有框架也一样。您应该下载两者并花一天时间研究示例并根据自己的优先级自行决定(除非您有更具体的问题可以在这里回答)。
不确定使用 Ext 4 开发的“重新许可”是什么意思。
我推荐sproutcore。Sproutcore 仍处于开发阶段,因此有很多瓶颈,但是,它是一个出色的框架,可以为您自动完成大部分工作,并且最重要的是它具有绑定和观察。键值编码和键值观察(kvc 和 kvo)是 sproutcore 的两大支柱,使其受到欢迎。你应该检查一下。它还具有对移动设备和触摸的内置支持。