Dion Hinchcliffe's Web 2.0 Blog
TamTamy by Reply

Blog Feed

Subscribe By E-Mail

Enter your email address:

Delivered by FeedBurner

Dion's Speaking Calendar:

Dion Hinchcliffe Speaking at NKU on Web 2.0 and Mobility

Dion Hinchcliffe Speaking at CeBIT 2009 on the Future Enterprise Workplace

Dion Hinchcliffe Speaking at QCon London 2009 on Web Architecture

JAOO Web 2.0 Days Keynote Speaker Dion Hinchcliffe

Dion Hinchcliffe Speaking at Web 2.0 Expo San Francisco 2009

Dion Hinchcliffe Keynotes at Interactive Austin 2009

Dion Hinchcliffe Instructor at Web 2.0 University Week in Las Vegas in May, 2009

Enterprise 2.0 Conference 2008 Speaker Dion Hinchcliffe
Dion Hinchcliffe on Twitter

    Recent Readers

    Web 2.0 Ajax SOA Power Panel

    Web 2.0, Ajax and SOA Power Panel with Dion Hinchcliffe and Jeremy Geelan
    Click above to watch a SYS-CON Power Panel discussion on Web 2.0, Ajax, and SOA with Dion Hinchcliffe, Jeremy Geelan, and other industry notables including SOA Web Services Journal Editor-in-Chief, Sean Rhody. Taped on Dec 7th, 2005 from the Reuter's TV studio in Times Square.

     

    Ajax Approaches Abound: Which One Is Right For You?

    posted Sunday, 4 June 2006
    I’m in New York City getting ready for the Real-World Ajax seminar tomorrow morning for a talk I'll be giving on Ajax design elements.  I've been thinking a lot lately about the various approaches to developing Ajax software and trying to construct an intellectual framework for evaluating them.  Clearly, a large amount of online software in the future, both SaaS and Web 2.0 (and yes, there's a difference) will be developed using Ajax.  And figuring out which direction to take for now is actually getting harder right now, not easier.

    That's because options for creating Ajax software are still growing rapidly and run the gamut from incredibly powerful platforms such as Microsoft's Atlas, to declarative specification appraoches such as those used by Backbase and Laszlo.  On the micro-Ajax side , there's the lightweight, mostly blendable frameworks and widget bundles such as Dojo and Script.aculo.us.  Then there are the translation approaches that let you create Ajax software in a more traditional programming language, which tend to have more robust tools for development, testing, and debugging.  Google's GWT and Morfik are two such examples of the latter.


    Ajax Software Development Complexity


    All of these approaches and tools have their various merits and a few drawbacks as well.  With the advent of the term still not much more than a year old, industry interest and use of Ajax is surprisingly widespread (witness the virtual onslaught of books, development tools, actual Ajax software, conferences, and more).  Yet we're really still in the tail end of the pioneer stages with Ajax.  And we know that pioneers tend to be the ones with the "arrows" sticking out of them.  This means buying down development risk is key while the next generation of Ajax best practices and techniques are identified and commonly understood.

    Then there's the issue that browsers just aren't as capable computing platforms as formal operating systems.  This gives us the important constraint that creating great Ajax software still requires above average architecture, design, and development skills.  As I've written before, Ajax isn't for Web designers (yet), and requires some assistance from a server development team as well to build (or increasingly, find) usable Web services that will do what's needed.

    When I talk to folks about the basic elements of Ajax and try to convey a sense of the common techniques to apply it effectively and build great software with it, I also try to explain that a little real engineering is required if one paints outside the lines of a growing number of Ajax application blueprints.  Fortunately, we are starting to see products and approaches that are reducing the need to build an Ajax application by madly cobbling together a bunch of frameworks and code snippets found out on the Web. 

    So, stubbing your toe with Ajax is still common.  It's very easy to do something that makes total sense in the browser but brings the server to its knees unexpectedly for example.  Furthermore, Ajax applications tend to have more moving parts and dependencies, making maintenance and management a bigger issue that it ever was with HTML-based applications (which aren't going away any time soon either.)  Having to be a good Web (or intranet) citizen is something that doesn't happen overnight, but through experience.  Ultimately, this means that there will probably be an short-term increase in the failures of Ajax projects as less experienced Web developer shops begin take it seriously and try to do bigger and more complex applications.

    Fortunately, for the long-term, there seems to be a great deal of investment in Ajax development techniques and supporting tools for development, design, testing, debugging, maintenance, and management.  Soon Ajax will become just another capable client software technique in the developer's toolbox, albeit one that's special because it represents the first true Web-only software platform.

    Where do you think Ajax is heading?  Overhyped, or not even big yet?

    links: del.icio.us    



    AddThis Social Bookmark Button

    1. Vincent left...
    Monday, 5 June 2006 12:23 am

    I was wondering how this graphic is created ?

    http://hinchcliffe.org/img/ajaxtimersandrequests.jpg

    It looks really nice


    2. Fernando De Leon left...
    Monday, 5 June 2006 6:02 pm

    I think on the translation side like GWT you forgot to mention ZK (http://zk1.sourceforge.net) I believe there are different degrees of ajax implementations and where it will be wise to use a RIA framework (like open laszlo, atlas or even ZK)

    The minimalist degree of integration is of using ajax for auto populating fields. this doesnt require a RIA framework IMHO, basically some simple javascript that anyone can write! (ie no need of prototype even)

    The middle degree of integration is of using ajax for creating components that are part of an MVC framework. So still using MVC framework but putting components like drag and drop, again however this happens under a MVC framework (ie traditional req-response cycle).

    The full degree of integration is when your wep app becomes a RIA. That is, it looks like or behaves fully like a desktop application. At this level of integration you may need frameworks like Open Laszlo, Atlas, ZK. The stress however is that we dont develop applications using traditional requuest response cycles.


    3. Hooman left...
    Wednesday, 7 June 2006 3:27 pm

    Dion, very timely article. As it happens, we are also engaged in the same discussion internally at our company.

    In particular, we have been debating the merits of Dojo vs. Laszlo. Although Laszlo is far more robust with respect to functionality, they leverage XML as their internal data model. For those of you that are fans of Object Oriented development, their approach can be tough to wrap your head around. Additionally, Laszlo also requires a server download.

    On the flipside, Dojo does not tie you to a particular data model (as much), but is not quite as rich as Laszlo.

    I think it will be interesting to see how things progress over the next year. For those of you that care, you should check out how IBM has backed Laszlo and Dojo over time. Also, it is interesting that - although developers often have to make a choice between the two - the folks at Laszlo and Dojo are partners.

    Welcome to Web 2.0.


    4. Stoicho left...
    Thursday, 8 June 2006 10:20 am

    If we are talking about RAD Ajax application development IDE's, I see only 3 choises: Morfik, Tibco and Atlas (which comes with the issues beeing a MS product). And I think a frameworks itself can not give us a solution. You have to have a great RAD IDE tool + Framework (like MFC or VCL in the Win32 world). Morfik is my favourite!


    5. karakocan left...
    Thursday, 8 June 2006 9:29 pm :: http://www.geocities.com/karakocan2000/

    karakocan ilcesi web sayfasi


    6. Bart left...
    Saturday, 17 June 2006 2:21 pm :: http://www.mediawave.nl/

    It's funny you say that "It's very easy to do something that makes total sense in the browser but brings the server to its knees unexpectedly for example."

    I thought the whole point of Ajax was to off-load the server by not having to do a total page-reload on every client-request? It seems the new interactive possibilities (with all its server round-trips) provided by Ajax may even have the opposite effect. I think there's still a lot be said for simple classic total-page-reloading designs. For example: Gmail is great. But I really don't miss any of those fancy interactive features when I'm checking my Squirrelmail mail.