AJAX Component GUI Frameworks: The Reviews

Over the next week or two, I'm going to begin reviewing several AJAX frameworks, specifically those of the Component GUI variety. The basic idea is that these frameworks allow you to develop AJAX application much like a desktop GUI, by composing reusable widgets and attaching behavior and data to them. The development techniques are well understood and mature. Also, the component GUI is a much better design model than the form-and-reports multi-page awkwardness of traditional webapp development techniques and frameworks for developing RIA's. Picking the right approach now will save you time and heartache. To quote Jesse J. Garrett:

Web sites are technologically complex, and getting
more intricate all the time. Identifying the technology strategy for
the site - platforms, standards, technologies, and how they can all
interoperate - is essential to avoiding costly mistakes.

Two Kinds
There are two kinds of Component GUI's we'll be looking at -- servers-side and client-side. Client-side frameworks essentially build an application in Javascript on the browser and communicate with a backend via web services calls. That's a bit of a generalization, but the idea is that much of the logic is in the browser and the server side takes care of the data and some select operations.

Server-side frameworks use the browser mostly as a display servers, i.e. there is a model of the UI on the servers-side that pushes updates to the client and which is periodically updated due to events on the client-side. All of the business logic sits on the server.

Each type has it's advantages -- client-side frameworks can be more responsive and function in the absence of connectivity, server-side frameworks don't leak business logic out to the client tier and can be made less susceptible to browser variations -- but they share a common advantage over their non-component GUI competitors: they reduce development time because the developer is working at a higher level of UI abstraction and is not concerned with low-level UI tasks such as drag-and-drop, asynchronous updates, etc., and the developer can work largely in one layer without having to repeat himself (DRY).

Client-Side Frameworks
The client-side frameworks we will look at are:

Server-Side Frameworks
The server-side frameworks we will look at are:

Why not X?
Why not Tapestry? Why not ICEFaces? Why not Atlas? There are a number of frameworks that one could argue belong in the above two lists. It's my list, so that means I get to decide what goes on it. I'm looking at Java or Javascript solutions that don't involve mucking about in multiple layers with HTML, CSS or whatnot, and provide a full application framework, not just a library.

First on tap is ZK, the spiffy server-side framework with XUL. Stay tuned.

Related posts:

  1. Intellectual Frameworks for Classifying Ajax Frameworks
  2. Upcoming Talk – Back to the Future: Component GUI’s and Ajax
  3. YAACGF – Yet Another AJAX Component GUI Framework
  4. ASP.NET Ajax Reviews
  5. Cognitive Load, Portability and the Superiority of Client-Side Frameworks

Comments: 10 so far

  1. I’d like to introduce you to Visual WebGui, another server based platform which was built atop Windows .net and WinForms as the programming model.

    The idea behind Visual WebGui is that you not only enable desktop like event-driven rich components which are rendered in DHTML over AJAX, but you also enjoy development patterns, practices and tools that serve desktop application development. This means that you simplify development of highly interactive web applications (stress on applications) by both making the AJAX/Javascript/HTML/CSS/XML transparent to the developer while also making the development process as familiar as its always been for them.

    WebGui is a full application framework (like you mentioned in your criteria) with inherent extensibility enabling developers to extend the platform to include additional components, integration gateways, alternative rendering schemes and CSS/XSL based themes.

    Comment by Dan Lichtenfeld, Thursday, May 11, 2006 @ 2:54 am

  2. After skimming ZK’s demo, it looks promising. Any plan to review ZK?

    Comment by Samia, Thursday, May 11, 2006 @ 8:25 pm

  3. Yes. “First on tap is ZK, the spiffy server-side framework with XUL. Stay tuned.” :-)

    Comment by Dietrich Kappe, Thursday, May 11, 2006 @ 11:21 pm

  4. I’d also like to make you aware of us, eBusiness Applications (EBA).

    We provide Ajax components that fit very specific but complex requirements, namely the datagrid, and combobox. These are highly functional and take you way deeper into the problem space than these frameworks do.

    Come and check out the demos on our site:
    EBA Grid
    http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebagrid/productdemos/griddemos.htm

    and:
    EBA ComboBox:
    http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebawebcombov3/media/demos.htm

    Our grid is IE only but we’ll be releasing a cross platform version in the next 2 weeks.

    Also, these work on JSP, PHP, ASP, ASP.NET, – coming soon: JSF, Coldfusion!

    Comment by Alexei White, Saturday, May 13, 2006 @ 10:19 pm

  5. Dietrich:

    I greatly appreciate, if you could also evaluate our server-side framework as well. The innovative GUI Widgets have very unique features, which make them very powerful to build complex GUI applications than possible before even on desktop applications (e.g. Java/Swing or Windows/VC++) at far less cost compared to comparable desktop applications.

    On the other hand, all the other GUI frameworks have fundamental limitations and can never match functionality of desktop GUI frameworks such as Windows/VC++ or java/Swing.

    Brief Summary: To build great Ajax GUI applications one needs great reusable Ajax GUI Classes (a Class Library or GUI-API) that are more flexible and easy to use than desktop GUI Classes such as GUI Classes for Java/Swing or MS-Windows/VC++. Please review brief tutorial “just only to understand” the process to build reusable Ajax GUI Classes:
    http://cbsdf.com/technologies/DHTML-Widgets/Widget-samples.htm

    If you wish to learn more about advanced GUI framework please review the following web page that has links to more in-depth discussion and examples:
    http://cbsdf.com/technologies/DHTML-Widgets/TECH-Status.htm

    Comment by Raju Chiluvuri, Tuesday, May 16, 2006 @ 11:14 am

  6. Here is a Visual AJAX tool and library for AJAX Developers

    It’s free trial. http://eng.joyistar.com

    Comment by ajax, Monday, June 12, 2006 @ 10:21 pm

  7. Hello Raju Chiluvuri,
    Can you please tell us what is your association with the Elansoft and its product AgileBox.

    Can you please give us your response to the allegations made against Elansoft and AgileBlox , at below links
    http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=104875540622555&w=2

    http://forum.java.sun.com/thread.jspa?forumID=45&threadID=182966

    Also can you let us know if AgileBlox and Cbsdf products are the same ?
    If not how are they different.

    Comment by Joe louis, Wednesday, June 21, 2006 @ 11:26 pm

  8. The visual webgui framework can be found here http://www.visualwebgui.com…. you can also check this live sample here http://samples.visualwebgui.com/mainform.wgx (Currently only IE FireFox support will be available in a couple of days).

    Comment by Joe, Wednesday, September 20, 2006 @ 4:37 am

  9. Hate to point out yet another framework, but this review will be quite incomplete without covering SmartClient, given that it’s the framework chosen by Informatica, Peoplesoft, Intuit, and other heavy hitters. Those other frameworks do not have similar credibility.

    http://www.SmartClient.com

    Comment by Charles Kendrick, Wednesday, October 18, 2006 @ 1:25 pm

  10. Joe Louis:
    Pioneer-soft included more data that may answer you questions:
    http://www.cbsdf.com/misc_docs/GUI-API-Introduction.htm
    http://www.cbsdf.com/misc_docs/CBSDF-Introduction.htm

    Gopal
    TCS, Hyderabad

    Comment by Gopal, Tuesday, April 10, 2007 @ 8:33 am

Leave a comment

Powered by WP Hashcash

Launch: Pathfinder Newsletter

    Get a monthly update on best practices for delivering successful software.

    Subscribe via email


    Subscribe via RSS      RSS icon

Topics

Search

WordPress

Comments about this site: info@pathf.com