The difference between Flash and “AJAX”
HTML was all there was
In the beginning, the net was crude and ugly. The original spec for WWW markup language was basic HTML. Text formatting, colors, some graphics; maybe 2 or 3 tiny ones, but not more, since modems were so slow.
All web pages were viewed through first Mosaic, then Netscape… then finaly Internet Explorer gushed onto the scene.
Then along came Javascript
Along with the new browsers, we also were given this beautiful power boost called ‘javascript’, which was a smaller subset of JAVA, built right into the browser. The idea was to allow the manipulation of website interface components, including form elements, text, and graphics. Javascript was wonderful, however there was one problem. Any dynamic effects one might have employed, it was subject to OS/browser version/settings of the users computer. All calculations were done at the user-end of things, so that left alot of room for mistakes, and made the lives of webpage builders quite troublesome.
We could finally talk to the server
Soon after, however, there began to emerge a set of server side tools that allowed webmasters to build dynamicaly generated data on their server prior to being uploaded to the user and displayed in their browser as plain HTML and/or javascript. This was an amazing development, using PERL, then ASP/PHP, and others. One could make very specific customizations for websites on an automated basis, and tailer the data being sent to the user so as to streamline and lighted the strain of bandwidth with the ever more increasingly complicated websites being built.
That darned page reload
One problem with making effective applications of websites was that every time a user clicked on the page, it required a full page reload to see the changes. This is pretty much still true today, because it works, and because people learned to build sites that way.
However, being able to call out to the server and grab new data, then effect a change in the page.. that would truly make the web much more useful.
Along came Flash
During the time when coders were learning how to make cleaner, more versatile code, Macromedia was steadily making websites richer and richer, requiring longer download waits, but in the end, creating very dazzling websites. Most net geeks will tell you they hate flash, and for good reason. It breaks all convention, being based not in the browser, but in a plug-in that loading into the browser…There is no browser history with flash, Search Engine bots cannot navigate inside a flash site, and alot of flash is just plain bad and painful.
What made Flash great
the one great thing flash allowed was to do dynamic calls to the servere and then retrieve that info ALL WITHOUT RELOADING YOUR BROWSER, nor making any change in the flash movie (unless you want to). This was amazing. You could create really dynamic applications using flash. All that was required was an expensive development platform, a whole new way of programming, and for all your users to install the flash plug-in.
Back to javascript
Ok, MEANWHILE, as Flash was distracting everyone, there were some hardcore geeks who found this little used, hard to understand feature of javascript that no one was using. This feature was given an ugly, not very intuitive name… “XMLHttpRequest” object… This little baddie was a function that woudl allow you to call out to a server and request XML, which was returned and made available to the javascript engine to…do things with.
This discovery came along at a time when people were trying out new and radical ways to use CSS and code to create nice interfaces and fancy special effect such as navigation structure, dynamic images, etc. Some smart guys started tying all these things together, and voila! AJAX was born.
What is AJAX
Ajax is not a technology in itself, but a term that refers to the use of a group of technologies.
As opposed to Flash, which is a specific software package, AJAX is a method of using technologies that have existed for 10 years, but in a new, specific way. It does alot of the same things that flash allowed you to do, and that is namely to interact with a website and change data in a dynamic way, all without reloading the page.
Image uploads, text changes, colour/interface changes, filtering tables of data, news tickers, clocks, weather monitors, etc etc… all sorts of new features.
The best thing of AJAX is that you don’t have to require a user to have the right plugin, or the right browser, or to wait for long periods of time to download fancy flash interfaces and such. AJAX uses technologies that already exist in the browser you are usied to using.
So, the difference between Flash and AJAX?
Flash creates fancy, interactive and usually animated RICH MEDIA COMPONENTS, which you can embed in HTML as a smallpart of your webste, or build out to be your entire website. Full colro photos, music, video… you can make video games.. etc. All dynamically communicating with a back end server scenario that is seamless and hidden from the user.
AJAX is a communications method for browsers, using javascript, to call to a server, retrieve results, and display the changes to the screem without reloading the page.
Flash and AJAX are two separate things. Both can act as conduits from the user to the server and back again, but one (flash) requires their plug-in to present the results in the browser, whereas AJAX requires Javascript/HTML/CSS to show it’s results.
In Closing…
The intelligent use of AJAX has led to some amazing new movements in web developement, which is being hailed under the hyped up buzzword “Web 2.0″. AJAX is not the end of the story, nor is it the only/best option. It is new, it is effective, and it really does turn websites into web applications. There are still isues with Search Engines with AJAX, but with judicious uses and practical development practices, those can be overcome.
For those of us who have been there since the beginning, it is both a blessing and a curse, but one long overdue.



0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.