Last month, on my way home from my annual skiing vacation I spent a day in Zurich, Switzerland with may family and friends. This city is very nice and clean with well maintained buildings, large windows with watches, silver and gold, and people are well dressed and polite. This was during the day. But when on the evening we were walking along the central Banhofstrasse street to a famous place that sells long sausages, the street was empty. This was 7PM on Saturday! After dinner, my son with his friends decided to go to a night club. The hotel concierge said that there is not too many fun clubs in the city, but if they take a cab and go out of the city, there is a very popular place…
For some reason this reminded me of today’s Java, which is also a well established metropolis, with a multitude of different areas that are suitable to people with various tastes and needs. But…if you take a cab…there are some really fun places to be. And the names of these places are AJAX, Ruby, and Flex. Let’s not get into technical pros and cons of these three, but they are fun places to be. That’s for sure.
The Ruby crowd writes about happiness of programming. AJAX folks are routinely overcoming lots of challenges, but somehow enjoy the process anyway. Flex has a very live and vibrant online community, where almost each blog entry includes at least one occurrence of the word “Cool”. Are all these people faking orgasm? I doubt it.
After my recent talk at New York’s Java user group (this was about using Flex as a front end to Java), a guy from the audience stopped by and said, “This looks nice, but I can do all this in Java Swing”. He’s right, but how easy would it be? Do you enjoy the process of Java Swing programming? There is an old joke when a wife says to her husband, “My mother is dying, I know you did not like her that much, but it’s her last day, please do me a favor and kiss her.” The husband replied, “I’ll do it for you, but you should know that I’m not going to enjoy the funeral!”
The Java metropolis consists of three boroughs – the Server Side (sounds like an Upper East Side), Mobile, and UI. The first two areas seem to be fine. Working with Java Swing for desktop applications is not fun, but if you have enough time and money, you can create solid enterprise applications. But this is not the case when it comes to Java applets, or in other words Rich Internet Applications (RIA).
Then Java was born with its concept of applets, which were the first rich Internet applications (remember the dancing Duke). But Java creators quickly decided that the development of the server side applications should be their strategic direction.
Java is hopelessly lagging behind in the RIA field. Even Microsoft is giving up Windows-only approach with their WPF/E tool for RIA, where E stands for Everywhere. Today, they are behind Flash Player, but at least they are actively moving in this direction. Ironically, they are using competitor’s Flash Player to promote Vista as opposed to their own Windows Media Player.
But Java seems to be hopelessly losing in the RIA field. To the best of my knowledge, nothing exciting is cooking there. Yes, you can create a rich Internet application in Java, but if you take a cab…