Ajax, Java, and a huge misunderstanding
Tim O’Reilly has a post on the O’Reilly Radar that caught my eye today. He mentions how Java developers at the JavaOne conference showed signs of (and I quote) “envy and angst” against Ajax, and follows that with “Java had the vision of rich web apps long ago, and is still a great platform for building network-enabled apps with great front-ends”.
Now the misconception here isn’t that Java is a great platform to build applications front-ends (network-enabled or not), but that it can be compared to Ajax. The two can’t be compared for several reasons. Here’s two:
- The technologies behind Ajax alone (XML, Javascript) are not enough to build an application. Ajax is a means to an end - or part of it. It depends on other code layers, both for data presentation, as well as application flow - and those aren’t Ajax at all. Thats why you don’t see web apps purely based on it - it’s simply impossible.
- The percentage of Java (some people still confuse Java with Javascript) being used on the web is declining, and has been since alternative - and far lighter - technologies (like Flash) came along that removed the need to load a JVM to do what Java used to do. In fact, why would I, as a developer, pick Java over anything else that allowed me to do the same thing and not frustrate my users by slowing their machines down a notch?
Tim O’Reilly concludes the post with this sentence:
It’s impossible to think through what people are going to want to do until they start doing it, so sometimes it’s best to seed the market with a hack that gets people going, and then follow up as you watch what they do with it.
Tim, the major problem here is that the time for Java-based front-ends on the web is gone. Others have emerged in this space and took its place, not because they were “hacks”, but because they were better solutions to the problems developers faced. Why should anyone change from Rails+Ajax (or anything else+Ajax), Flex or anything else to Java? What does it really have to offer that we haven’t seen before?
And I mean on the web, Tim. Because the application you mention on your post isn’t web-based. It’s desktop Java, using Swing. There’s no competing with Ajax, or anything else on the web, because they’re not even playing in the same field, here. Let’s not compare Apples to Oranges, or hype technologies because the enthusiasts behind them (which I respect, naturally) are feeling angst for their ball being taken away, not by hacks, but by several other solutions which people have grown to use.
Update:
After reading some comments (and getting some IMs), I realized I didn’t make a proper distinction between what I meant with the time for Java on the web being gone. It’s not the server-side Java I’m talking about. What I *am* talking about, though, is Java as a presentation layer for web applications, the front-end, the frickin’ applets - which is what Tim was talking about as well. This being explained, my point may be clearer.

“envy and angst” against Ajax”
One has to wonder if Ajax wasn’t just a convenient target at the time for Java developers to channel their angst and envy.
Many times it’s not so much the disruptive technology or ideas as much as it is the fact that there *is* a disruption, and they happen to be on the wrong side of that disruption.
It’s interesting that in my experience (small sample size warning) Java developers are more threatened/closed than .NET/C# guys.
Comment by Alex Hutton — May 25, 2006 @ 4:30 pm