Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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)

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.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top