
By Yakov Fain | Article Rating: |
|
January 9, 2007 12:15 AM EST | Reads: |
408,139 |

The idea is noble: instead of rendering an entire HTML page on each little change on the page, it’s much better to send an asynchronous request that will get the data for you and refresh only the relevant portion of the screen. Every author writing on AJAX is giving the same (the only? ) example where this technology is being used: Google maps and email. (BTW, I’m a little sick of these examples). Since I’m not going to be helping Google in improving their maps, I’d like to see some real-world examples implementing this technology. Ajax proponents will immediately come with this exciting example of how great it is to refresh some screen info as the user enters character in a text field. And here's a sample conversation that might have happened between an imaginary AJAX supporter and myself.
- See, I’m just typing the letters of the person’s name and it prompts me with all potential candidates like in Microsoft Outlook
- Wow! I like it… as long as you do not have to be a rocket scientist to program this functionality. But wait a minute, do not you think that any entry level Visual Basic/PowerBuilder/Java programmer can do the same thing easily? AJAX applications have to rely on JavaScript, assume the expert knowledge of this not-so-interesting language, different Web browsers may give you different serious issues, may not even always report the problems in communication between you browser and the server, yada-yada-yada..
- Yeah, but we want this functionality under the Web browser.
- But what about using Java Web Start (JWS) to launch the full-fledged Swing clients? They can easily process events, work the same way under each operational system?
- Yeah, but what if your users do not have the JVM?
- But JWS can download it automatically for you.
- Yeah, but what if you are Google, Amazon or EBay and want to have a very thin client.
OK, now we’re talking. I can agree that big Internet guys can and should invest some serious dough into supporting screen-refresh-on-mouse-move in HTML-based screens. But when it comes to a regular Intranet business application, when the users/browsers/platforms are known and when the cost of the project development matters, I’d stay with a fat client written in Java, or (if you like a fancy GUI) Adobe Flex.
Many vendors are happy to offer you a tool to simplify AJAX development, because it’s the right momentum to do so. But development is just the beginning. What about production support? I have a gut feeling that starting an Ajax project is like one way street: it won't be easy to go back. The users will be more and more demanding, and you'll be spending most of your time on adding more bells and whistles to the GUI instead of solving business problems.
Today's Business Week has published a surprisingly shallow article called "Java? It's so Nineties". First, a former Sun's employee explains that LAMP is the way to go. After that they say that the number of published books in Java is 4% off this year while sales of AJAX books is up 68%. Sure, if last year there was just one AJAX book and now there are three of those, we can even talk about 200% increase.
Having said all this, I have to admit that I also include the talks on AJAX in my Weekend With Experts seminars, because it’s a buzzword and people want to hear about it, but as of today, I’m not going to invest my time in mastering this technology. I’m staying with the good old Java.
Published January 9, 2007 Reads 408,139
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain
![]() Mar. 20, 2019 12:15 AM EDT |
By Elizabeth White Mar. 19, 2019 11:00 PM EDT |
By Liz McMillan Mar. 19, 2019 09:00 PM EDT |
By Zakia Bouachraoui Mar. 19, 2019 07:00 PM EDT |
By Liz McMillan Mar. 19, 2019 04:30 PM EDT |
By Elizabeth White ![]() Mar. 19, 2019 03:00 PM EDT |
By Yeshim Deniz Mar. 19, 2019 01:45 PM EDT |
By Zakia Bouachraoui ![]() Mar. 19, 2019 01:00 PM EDT |
By Zakia Bouachraoui ![]() Mar. 19, 2019 12:45 PM EDT |
By Yeshim Deniz Mar. 19, 2019 10:30 AM EDT |