The client-side technology known as
In the tech world, there are many phenomena in information technology that undergo a rapid increase in visibility, as analyzed by Gartner in the Hype Cycle model. Technology initiatives such as Java, .NET, "push," Web services, Flash and service-oriented architecture (SOA) have all enjoyed a period in the limelight. However, few of these can rival
- It is concrete and conceptually simple. A modest understanding of Web technology is required, but less so than with other, more complex technologies, such as WS-*.
- A little goes a long way. short snippets of
code added to an existing application can produce beneficial, highly visible results. Ajax
- It has a high degree of compatibility with established Web applications.
can be folded into existing applications without re-architecting. Ajax
- No significant investment is required to purchase new tools, servers or infrastructure, in contrast to heavyweight technologies such as Java 2 Platform, Enterprise Edition (J2EE) and .NET.
- It fills a need.
addresses a long-standing complaint among users and developers, who chafe at the stark "plain-vanilla" HTML user interface. (Of course, as stated in other Gartner research, often the real need is for a user-centered design process that has a pragmatic focus on high-usability interaction patterns, rather than technology or tools. Nonetheless, the perception of an overly constrained HTML interface remains.) Ajax
- It provides a wide range of choices. Developers interested in using
can choose from many alternatives among commercial and open-source offerings. Unlike mature categories of software, such as databases, where there are only a handful of choices (both open-source and closed-source), with Ajax there are dozens of choices. Ajax
The potential benefits of using
- Improved user experience (greater responsiveness, reduced latency, preservation of context), which leads to increased user productivity; satisfaction; better adoption and retention; reduction in the number of errors, Web page abandonment and support calls; and less reliance on alternative (more expensive) communication channels (such as in-person visits and phone calls).
- Increased performance as a result of decreased system load (through more compact page representation and caching of elements across page requests).
- Potentially greater maintainability and flexibility, as a result of modularization, code reuse and consistency.
These benefits are by no means guaranteed and have more to do with sound development process and architecture than a particular technology, but they are often cited as part of the rationale for an