If you have been a regular reader of my blog entries, you would be knowing that I have been using ExtJs/Ext.net for a considerable time now. When I first encountered Coolite (through a Newsletter from Red-gate Software), I was pretty impressed, and it took me a while to understand all its nuts-and-bolts and its integration with ExtJs. And after I had some experience using these two frameworks, I believed I had in my arsenal the most comprehensive web frameworks for Ajax applications built.

However, over the last year, I have encountered a couple of more frameworks. So, I thought of enumerating the frameworks for my own reference and for others who haven’t yet chosen any of them for development, and need to see what actually is available.

The criteria for choosing the frameworks was that they should provide comprehensive server-side and client-side support for RIA web applications, together with more advanced UI widgets than what plain HTML offers. No doubt, jQuery is a great web development tool, and offers plugins for almost anything and everything. However, the jQuery library does not ship with any UI widgets and hence did not make it to the list below.

So, here are the frameworks I have encountered till now (in order I actually encountered them):

  • ExtJs – http://www.extjs.com
    ExtJs is a pure javascript cross browser library for building Rich Internet applications. The library is dual licensed for commercial and open source development.
    To see what you can do with ExtJs, have a look at the official samples:
    http://www.extjs.com/deploy/dev/examples/

  • Ext.Net (formerly Coolite) – http://ext.net (http://www.coolite.com)
    Ext.Net (formerly called Coolite) is a server-side ASP.NET wrapper around ExtJs. It provides comprehensive integration of ExtJs client-side widgets with the ASP.NET web forms & MVC paradigms. This toolkit is also dual licensed for open source and commercial development similar to ExtJs.
    The official Examples Explorer for Ext.Net is situated here:
    http://examples.ext.net
  • Smart Client – http://www.smartclient.com
    SmartClient is the mature Ajax RIA system for high-performance, high-productivity business web applications. Smart Client is available in 4 license variations that you can check out here (in contrast to ExtJs/Ext.NET whose open source licenses allow you to access the full potential of the libraries, Smart Client open source license is significantly restricted compared to its commercial licenses).
    The demo of Smart Client capabilities is available here:
    http://www.smartclient.com/featureExplorer.jsp
  • Gaiaware – http://gaiaware.net
    According to what I have read and seen about Gaiaware, this library concentrates on providing more server-side ASP.NET support for its widgets through async Ajax calls (in contrast to Ext.NET and Smart Client that concentrate on providing both client side javascript support and server side support). The library is again dual licensed for open source and commercial development.
    You can check out Gaiaware samples here:
    http://samples.gaiaware.net/

Other cool Html/Javascript widgets: These actually do not fit into the classification of a framework, but actually are too good to ignore, and definitely deserve a mention:

  • TreeGrid: http://www.treegrid.com
    Well, TreeGrid seems to me the mother of all Grids I have seen till now. Too good to express in words, check out the examples for yourself: http://www.treegrid.com/treegrid/www/ and http://www.tgantt.com/
    Tree Grid for the most part seems to be a commercial product, without any open-source support. There is a free version also available, but that seems to be severely limited on what overall TreeGrid offers as a package. Pricing seems to me to be on the higher side, but let me also acknowledge, I have not faced any Grid even remotely functional similar to what this Grid offers.

Well, my opinion could be biased because I have only used ExtJs/Ext.NET from the above frameworks. But the licensing model, pricing and features make me strongly believe that ExtJs probably is the better option above.

Smart Client widgets are superb, in some cases, better than ExtJs widgets. But Smart Client open source LGPL license offers severely reduced library features, whereas commercial licenses are significantly costlier.

Gaiaware samples did not seem as feature rich to me as ExtJs/Ext.Net/Smart Client samples.

If you are looking for comprehensive server as well as client side support, then you should probably prefer Ext.Net (for .NET) or Smart Client (for Java) over ExtJs. Smart Client documentation says that it is integrable with any server side technology (which is true for ExtJs), however Smart Client provides better out-of-the box integration and features with Java on the server-side of the web connection.

If you encounter another javascript library that I have not mentioned above and you think is comparable for what is being discussed in this blog post, please do leave a comment below with references to the library website, and your opinion about it. I will research about the library, and update the blog post.

UPDATE:

  • (Jun 16, 2010) – Added the TreeGrid section.