Ajax is the dancing dog of software development. Creating platform-independent, highly interactive, installation-free applications is a noble aim, and Ajax is a very clever solution, but it is not a solid foundation for the applications of the future.
Writing thousands of lines of Javascript, running as an interpreted language inside incompatible web browsers, communicating with web servers using slow and verbose data streams via stateless protocols designed for text-based hypertext systems is an absurd solution to the problem.
Abstractions will be developed to eliminate some of the pain. Frameworks such as Atlas will help ASP.NET programmers, and the Google Web Toolkit will help people using Java. But the underlying foundations will still be on sand.
Ajax might be the only – and a very clever – solution to the problem given current constraints, but rather than trying to create more and more hacks to overcome the constraints, shouldn’t we be removing the constraints?
There’s a lot of hype about Web 2.0 at the moment. Currently, it’s just a meaningless label stuck on a meaningless bubble of technology and marketing hype. Why not make it a real Web 2.0, rather than just a pointless naming exercise? Bin HTTP, HTML, XML, the web browser, and Javascript. Web 1.0 was a prototype. Throw it away and let’s do the next version properly.