In some ways, Ajax is just another way to build a web application; people interact, users request data and invoke services, and web pages are created or modified. Ajax is dependent on the same things that any other application is dependent on, including a well-designed database, secure web services, efficient transactions, and having to deliver standard, accessible pages that work in most browsers and other user agents.
Ajax adds its own challenges, though, especially regarding the "work in most browsers" part. There's a partnership between our browsers and the web servers that we're effectively breaking when we use Ajax. In the traditional Web, browsers download a page with data already in it, and when the page is accessed again, since the data hasn't aged, the page is pulled from cache; there are no restrictions on where a service is invoked or where data is retrieved for the server-side application; data built into web pages is visible to screen readers or viewable when the user clicks View Source. It doesn't matter whether scripting is enabled. Then we toss Ajax in, and all of this goes to heck.
Still, as I hope I have demonstrated throughout the book, when used properly, Ajax can really add to the positive experience of web readers, clients, and application users. It just makes building web pages and applications that much more challenging. The payback, though, can be worth it.
In this chapter, we'll look one more ...