I have been spending the last few weeks working in an Ajax environment and whilst I am no Ajax expert there are some observations I feel compelled to make.
So you can see what I mean about things being spread around. It's a lot harder to work with that a traditional form based approach.
- The benefits are substantial for the end user of your software (interaction, features offered...) so it's worth doing.
- It's a pain to debug because you are spreading your code across multiple locations and languages.
- It's worth using a templating system (e.g. HTML::Mason) when writing web apps, with or without Ajax. It makes live a lot easier when generating mark up.
- The Ajax paradigm leads to a different architecture at the back end. Something like this:
- A module generates
- Some Basic HTML and place holders for data, but no data
- This first page loads and makes an Ajax call
- A second module on the server responds to your Ajax call and supplies data (or whatever)
- goto 3