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?
For being over a decade old, Ext JS is still a good platform to develop many enterprise-grade (think intranet) applications.
Ext JS is a well-known JavaScript framework that is mostly used to create complex web and mobile applications for different devices.
Our reports are updated daily. Ext JS is used by less than 0.1% of all the websites whose JavaScript library we know.
Sencha Ext JS is the leading standard for business-grade web application development. Ext JS provides the tools necessary to build robust applications for desktop and tablets. Streamlines cross-platform development across desktops, tablets, and smartphones - for both modern and legacy browsers.
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.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With