Adam Howitt's Blog

Jul 07
2006

How to Design a large AJAX Application

In the guide which you can download from the link below I'll cover the process I have developed in the course of implementing two AJAX applications as a developer for Duo Consulting  in Chicago.  This approach has made it easier for me to work with the design team, produce estimates for this type of project and communicate what is involved each step of the way to the project managers for scheduling purposes.

Download the PDF guide (105kb)

If this sounds like the type of work you enjoy and you live in Chicago or are willing to move here check out our careers page as we are looking for talented ColdFusion developers.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
[Add Comment] [Subscribe to Comments]
  1. Thanks for sharing this guide, I'll be reading it thoroughly this evening.

    I took a quick scan and ended up at the getUniqueToken function, and it seems a bit much to be doing all those method calls off the date object, as you're quite likely never run the getUniqueToken within the same millisecond as another request, especially for the same url, so you can save a bit of processing time by using something similar to the following: var dt = new Date(); var dtString = '&dtm=' + (dt-0);

    Of course your log files functions would be a fair bit easier to decipher using your method.

    Also, I guess want to "var" the dataUrl variable within the function to ensure it stays in appropriate scope.

    Have a great weekend.

  2. Great primer -- I'll be reading this a bit more in-depth over the next day or two.

    Oh, and I hate to be a pedant, but it's "Ajax", not "AJAX"; Jesse James Garrett coined the term as a word rather than an acronym, and his original article is pretty clear about using it as "Ajax."

  3. AJAX is an acronym for Asynchronous JavaScript and XML. I think it can probably be used either way. Why be so picky?

  4. That's why I apologized for the pedantry -- because it's a small point. But that point is that it's a word that was coined by a specific individual, at a specific time, in a specifically verifiable way, so it makes sense that it's used in that way -- Ajax.

  5. As for uniqueness, you can also have the server send the appropriate expires/no-cache headers. If you do that the client code doesn't need to care if an interaction is unique or non-unique.

  6. Good article. Another interesting post that deals more with Ajax frameworks: http://blog.dicio.us/articles/2006/07/21/a-namespaced-javascript-framework-for-complex-web-apps

  7. Coldfusion!? Gross.

  8. ColdFusion: a true web developer delicacy -- often times despised by the uneducated and uncultured... :-p

  9. Good article,Thank you..

  10. Adam, does your company work with people who are in the vicinity via telecommuting? :-D I'm in Rockford and can't move into Chicago. It's close enough to physically come in occasionally but far enough to make it a tough commute on a daily basis.. :-)

  11. Thanks for all your comments and feedback. As far as telecommuting from Rockford - get in touch with Shari through the email on the website for all our jobs and mention it. We have a big upswing in work in house right now so you never know.

  12. Adam, Good article. What did you use for the scrollable lists in the "Find Programs" section, and the N matches Previous 1 2 3... Next in the "Program Search Results" section?

  13. var dtString = ''+dt.getFullYear()+ dt.getMonth()+ _ dt.getDate()+dt.getHours()+ dt.getMinutes()+ _ dt.getMilliseconds();

    to be short you can use:

    var dtString = dt.getTime();

    otherwise a good read!

  14. >ColdFusion: a true web developer delicacy -- often times despised by the uneducated and uncultured... :-p

    :)))

    Anna

[Add Comment]