InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Choosing an Ajax Framework

Posted by Rob Thornton on Mar 21, 2007

Sections
Development
Topics
Ruby ,
Rich Internet Apps ,
Java ,
.NET
Tags
AJAX

Sebastian Just has written about how to select an Ajax framework. He lists a number of questions that architects should answer in helping them narrow down the list of available frameworks, including community and corporate support, learning curve, and whether it fits the type of user the site has.

The questions he suggests include:

Structural Javascript enhancements? Javascript can become a maze if your team does not share a common development methodology . There are so many ways of doing the same thing ( like creating objects of accessing the DOM ) in JS, that you must formalize the way to do it. Such a framework may help via on-demand Javascript, packaging abilities, enhanced OOP...

Re-usability of your written components? Making use of it shall help you in re-using written components in your next projects.

Framework current documentation level? Often low for most projects, you must take care of it

Features you need? You may look at your projects needs ( or near future needs ) and see if the Framework can handle them. Some are GUI oriented, special-effects oriented, Javascript centrics, communication only oriented. None will completely cover your requirements. What is the complexity degree in making the framework evolve ? can you add your own features in the framework ? will you help committers ? Can you mashup multiple Frameworks ?

How long will it last? Most projects are companies own project spin-off. The Framework evolution depends on their ability to maintain and make the project evolve. A good user community is important as well as talking to developers when needed further functionalities. Taking care of sponsors and the framework current uses in production web sites, is a good start in guessing if the Framework will last years or will be stopped in six months.

In a discusion on Ajaxian some other issues are raised including testability and code quality.

An alternative approach to comparing frameworks was covered in December.
Keeping accessibility and other non-Javascript users in mind by Pete Johnson Posted
Re: Keeping accessibility and other non-Javascript users in mind by Michael Neale Posted
Visual designer for a GUI framework is esential... by Guy Peled Posted
Re: Visual designer for a GUI framework is esential... by Michael Neale Posted
  1. Back to top

    Keeping accessibility and other non-Javascript users in mind

    by Pete Johnson

    Another important aspect when choosing an AJAX framework is to consider those who will never use it. If you choose something like GWT for your visual effects that takes over your entire page rendering you run the risk of alienating someone using accessibility tools, a handheld device, or somebody who has turned off Javascript for reasons that are their own.

    I was pointed to this recently and it really strikes a cord with me:

    accessites.org/site/2007/02/graceful-degradatio...

    That's why I prefer some of the more piecemeal tools that give you a shot at the approach where you provide an enhanced experience for the Javascript user but still a functional one for the Javascript-disabled crowd. Something to consider.

    ---Pete
    nerdguru.net

  2. Back to top

    Re: Keeping accessibility and other non-Javascript users in mind

    by Michael Neale

    I think its the accessibility tools that have to keep up - at least when we are talking about web *applications* (not just web pages that happen to be mostly dynamically generated).
    Think back to pre web, the same issues happened with any thick client tool.

    Of course accessibility is critical, but using a very narrow and specific presentation technology to "dumb down" so they can work seems counter intuitive. Those tools used to cope with all sorts of wacky windows apps 10 years ago ! - why can't they now? All the info in a dynamic web app is available in the DOM. What about other tech like Flash/WPF and such, they either don't work with those tools, or they have to provide hooks that those tools can use. I think the age of the accessibility tools getting a free ride from text based "simple" user interfaces is rapidly coming to an end.

    The "graceful degradation" is kind of a seperate issue, and has its own benefits, depending on your audience (obviously not everyone needs graceful degradation - google clearly do for their search page, but if you are building a controller for a partical accellerator - perhaps not ;).

  3. Back to top

    Visual designer for a GUI framework is esential...

    by Guy Peled

    Check this concept of creating AJAX application that gives you all the tools that you would expect of a GUI framework (Especially for RIA purposes).
    www.visualwebgui.com/Default.aspx?tabid=314

  4. Back to top

    Re: Visual designer for a GUI framework is esential...

    by Michael Neale

    yeah looks nice.
    www.instantiations.com/gwtdesigner/ is quite advanced (for GWT).

    Nice to have GUI designers like we had 10 years ago ! Hooray for progress !

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.