seemingly random and unorgainzed bits of information
5.09.2006
What Is This AJAX ?
What Ajax Is Not
- Ajax is not new technology.
- Ajax is not a new TCP/IP or any other types of wire protocol.
- Ajax is not a new Java-based technology.
- Ajax is not a Microsoft, ASP.Net, or #C technology.
- Ajax does not need JSP, Servlet, ASP, Ruby, Python, Groovy, etc to work.
- Ajax won't make you build better application.
- Ajax won't make your code work better if it already sucks.
- Ajax will not fix a crappy intranet nor will it make your enterprise code work better.
- Ajax will not make you look better to the opposite sex.
- And, no matter how hard you try, this Ajax will not clean your bathroom.
What Is Ajax?
OK, so if Ajax is none of the above, then what is this darn thing? Actually, it's a simple answer. Well, no, not really, it's several simple answers and here they are:
AJAX
Well it stands for Asynchronous JavaScript and XML. Turns out, when you use Ajax-based technologies, you mostly use the JavaScript part. Both the Asynchronous and the XML part are optional (see future blogs).
A Mass Epiphany
Ajax is a mass epiphany of an entire industry of the capabilities and merits of browser-side technologies and JavaScript after Google Map was released. The giant's mapping tool demonstrates what can be accomplished with JavaScript and some creativity. Before Google Map, the Server was reigning king. Every Api, toolset, framework, etc was developed for the server(witness the proliferation of Java's and .Net's server-side frameworks). Most software makers thought the next big thing was going to come out of the next sever framework. However, Google shatter that vision by placing focus once again (and rightly so) on the client.
An Evolution not Revolution
The technologies applied in Ajax are at least five years old and some have been available even longer. If you are old enough to remember the the great Browser War of the late 90's then you will recall how Microsoft and Netscape fought for browser supremacy. During that period, browser technologies took a backseat while these two duke it out. Eventually, Netscape lost and Microsoft took the helm for a period where it concentrated on its .Net server-side technologies while the client-side stagnated and developers abandoned the browser and JavaScript.
The resurgence of Netscape (in Mozilla clothing) meant that developers had, once again, the backing of a company dedicated solely to the browser. The new browser concentrated on cleanly implementing W3C's standards and in a swallow-your-pride-if-you-can't-beat-them-join-them strategy, Mozilla implemented the XMLHttp Request JavaScript object (the importance of which you will find in future blog entries). That object was originally implemented by Microsoft in their Internet Explorer in versions as far back as 5.0. This single addition to the browser let developers make server requests programmatically to the server and seamlessly handle the response without a page refresh.
A Collection of Technologies
Ajax denotes a set of technologies and standards including XHTML, Cascading Style Sheet (CSS), XSLT, DOM. In modern browsers including Mozilla Firefox, Apples's Safari, Opera, Konqueror, and Internet Explorer JavaScript allows total programatic controls over these browswer-supported technologies. This means that a developer can programatically control all objects rendered on the web page. This control is reminiscent to desktop programming using tools such as Java Swing or .Net C#. However, I would argue that in JavaScript it's simpler and easier and afford greater creativity!
Future
In this blog entry, I scratched the surface of what Ajax is and in future blogs, we will investigate
- how to use Ajax
- why you should consider using Ajax
- Explore other Rich Internatet Application technologies (XUL, Laszlo, etc)
- the relationship between browser programming and rise of SOA
- Effective development of browser client/SOA
- how Ajax will affect server-side technologies
Stay Tuned!
I appreciate all feedbacks.