智能客户端与 Ext JS
我希望在浏览器中构建丰富的 UI,这两种解决方案似乎是尽快获得最大功能和灵活性的方法。
智能客户端看起来很有前途,但是ExtJS 似乎更受欢迎。有人能够同时使用两者来验证其中之一吗?另外,ExtJS 4 听起来很有希望,但我不确定什么时候发布,而且我也不知道是否需要重新许可才能在 ExtJS 4 平台上进行开发。
想法?
I'm looking to build a rich UI in the browser, and it seems like these two solutions are the way to go to get the most power and flexibility as quickly as possible.
Smart Client seems promising, but ExtJS seems more popular. Has anyone been able to use both to validate one versus the other? Also, ExtJS 4 sounds promising, but I'm not sure when that will release, and I also don't know if I would need to re-license to develop on the ExtJS 4 platform.
Thoughts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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。当我们使用这两个工具包完成 UI 组合时,他们给出的理由是 ExtJS 看起来过时、简单,并且存在“相同性”。这个问题应该在 ExtJS 4 中得到解决,但到目前为止,我所看到的一切都表明更多是相同的。 YMMV。
I've used both ExtJS and SmartClient. I can tell you that SmartClient is easier to learn but ExtJS has much more support in the way of books and articles. ExtJS's community is very helpful and active while SmartClient's community is very anemic. ExtJS also has evangilists and technical support folks that help out on the forums. SmartClient... well, they have a reputation for being unhelpful and, in some cases, just downright nasty. If you look at their forums, almost all of the questions posted go ignored. It's a shame, too, because SmartClient is a great toolkit, offering greater visual flexibility than ExtJS and a smaller learning curve. SmartClient is also less verbose than ExtJS.
As for documentation, both sites boast a large documentation set. Sadly, once you scratch the surface and actually start working with either toolkit, the limitations start to show themselves. ExtJS's starter documentation is sparse and terribly outdated. SmartClient's beginner documentation barely gives you what you need to get started. Both sites take the approach that you should just figure out how things are supposed to work by digging through their example code. That's fine once you understand the basics of building an application with these tools but they skip over that step. You can find tutorials online for ExtJS but there doesn't seem to be very much for SmartClient.
All's not lost, however. At least for ExtJS, there are a couple of really good books. Personally, I strongly recommend Jesus Garcia's "ExtJS in Action". Unfortunately, there doesn't seem to be any books written for SmartClient.
If you are a Java developer, SmartGWT is a very compelling option. If you're just working with Javascript, it's worth considering SmartClient for its less restrictive licensing. Simply put, SmartClient's full client-side tools are available via LGPL. ExtJS only offers their core library (about the same funcitonality as jQuery's base, non-UI library). Then there's the question of whether you want to support a company that has surrounded itself in controversy with regards to their licensing. Enough has been written about ExtJS' history that it doesn't need to be dragged out here again.
Without knowing what you want to use the toolkit for, it can be a little difficult to make one recommendation over another. What I can tell you from my own personal experience is that, from the perspective as a commercial software developer, our clients have been far more receptive to UIs developed using SmartClient than they have with ExtJS. The reason they've given when we've done UI comps using both toolkits is that ExtJS looks dated, plain, and suffers from "sameness". This is supposed to be addressed in ExtJS 4 but, so far, everything that I have seen suggests more of the same. 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。
谢谢
沙兰德拉 (shaILU)
Before starting new GUI for our new project arrival, I made some research.
Here are my findings (remove spaces from "http: // "; bcoz stackoverflow is preventing me to do so :)):
Prototype framework favorable links:
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 framework favorable links:
http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison
jQuery framework favorable links:
http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised
Test speed of different RIA frameworks:
http://mootools.net/slickspeed/#
More comparasions:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
http://jqueryvsmootools.com/#conclusion
Out of all these findings I started using SmartClient 5. Initially we faced some issues but as SmartClient matures I find it interesting in many terms:
1. APIs doc help and examples
2. Flexible controls
3. Forum
Today I am working on SmartClient 8 and few on my GUIs are in production running successfully. Actually the great help with SmartClient is that you find every thing at one place. No need to dug many other sites that is hard to do for any other open source RIA framework.
So my choice is no doubt SmartClient.
Thanks
Shailendra (shaILU)
关于此主题有几个现有问题。我是 Ext 人员,所以我推荐它,SmartClient 人员可能会推荐 SC。与所有框架一样,它们都有优点和缺点。您应该下载两者并花一天时间研究示例,并根据自己的优先级自行决定(除非您有可以在此处回答的更具体的问题)。
不确定使用 Ext 4 进行开发的“重新许可”是什么意思。
There are several existing questions on this topic. I'm an Ext guy so I'd recommend it, a SmartClient person will probably recommend SC. They both have pros and cons, as do all frameworks. You should download both and spend a day playing with the examples and decide for yourself based on your own priorities (unless you have more specific questions that could be answered here).
Not sure what you mean by "re-license" to develop with Ext 4.
我推荐 sproutcore。 Sproutcore 仍处于开发阶段,因此可能存在很多瓶颈,但它是一个出色的框架,可以为您自动化大部分内容,最重要的是它具有绑定和观察。键值编码和键值观察(kvc 和 kvo)是 sproutcore 的两大支柱,使其广受欢迎。你也许应该检查一下。它还内置了对移动设备和触摸的支持。
Id recommend sproutcore. Sproutcore is still in its developing stage, so there are prolly a lots of bottle necks but however, it is an excellent framework, automates most of the stuff for you, and best of all it has Bindings and Observations. Key value coding and Key value observing (kvc and kvo) are the two major backbones of sproutcore which made it gain its popularity. You should probably check it out. It also has builit support for mobile devices and touch.