Eneris Solutions Oy

Eneris Solutions » Google Web Toolkit (GWT), Gears, and Chrome

Google browser - CHROME.
http://www.google.com/chrome/index.html

Google says to developers of the world: "Er, actually, standard browsers don't really do a very good job when it comes to Desktop Applications". That was a complete about-face, but somehow they always seem to manage to save-face.

FOR THE LAST 4 years Google has been telling developers:
  • 1. Browsers can run desktop Apps - excel-like, word-like, etc.
  • 2. JavaScript is great, and it's not broken (ok maybe a little)
  • 3. Use GWT (Google Web Toolkit) - javaScript may be great, but don't you want to use Java?
  • 4. Use Gears - Browser's don't have storage capability, so let's add a database.
This story was starting to sound attractive. A lot of developers seemed to be really considering porting some major applications to GWT+Gears. Here, at Eneris, we were also in the process of evaluating GWT+Gears. But our confidence level was not high enough to make a big investment, mainly because of concerns about the suitability of the platform, and also the development platform (i.e. browser, and javascript+notepad).

Why did Google make Chrome?

Follow this simple logic:

1. Google Web Toolkit lets us write Java code. Because Java is a real language - you get real syntax checking, real IDE, debugging. You get layout managers, all kinds of tools, etc. But it all gets translated to JavaScript.
2. Ok, now web browsers don't have storage, so Google created Gears so that you could store stuff in databases (like real applications do all the time). Storage lets you work off-line, survive crashes and restarts, reduce data amount going back and forth to server.

The Web 2.0 world is moving slowy, but surely, to becomming distributed applications and applets. Yes -- it almost seems a step backwards, but then again weren't browsers just a step backwards to the mainframe days?

JavaScript and Browsers?

From my personal experience they are not and never were capable of creating really powerful, interactive, desktop applications. Why? Well, both the IDE and the platform were simply not up to snuff - even though it seemed Google and many others were saying otherwise. But now Google has made the admission in their own words (a comic book): http://www.google.com/googlebooks/chrome/
    * Browsers have problems with multiple applications because they share the same process
    * Browsers have problems with threading
    * Browsers don't do a good job of animations (give me a break!)
    * JavaScript isn't very fast, and is buggy.
    * and so on...

Seems like pretty major admissions to me? Why didn't we know about these problems earlier? ;)

What's the future?

It's clear that Microsoft and Google are both going to be releasing 'browsers on steriods'. While this may help fix the platform, we still have the development environment to contend with. Now things get more complicated:  FLASH, Silverlight, .NET, JavaFX, all seem to be contenders.

Google Web Toolkit + Gears + Chrome = ?

If I really add these up I get the following equation "GWT + Gears + Chrome <= Java Web Start"
If you think it is better to write code in Java (GWT), and you need storage (Gears), and you need a decent platform to run these on (Chrome) then why not just make a Java Web Start Application. Then you would have the advantage of having real thread support, platform protection, databases galore (MySQL, etc.), and all the other good stuff. Think about it. What's the disadvantage? The slow load time is the only thing I can think of, and big GWT apps are not really that fast to load anyways. Java is more portable than JavaScript anyways.

Why doesn't someone really integrate Java with a browser - now there's an idea. Imagine -  Sun announces "Super Nova" (good name, eh?) a new Java integrated browser. Why not? I suppose MS could release a "NET Shine" browser with integrated .NET support.

And if you don't think Java is ready for prime time - think again. Vuze, Netbeans, Eclipse, etc.

I guess I wonder why everyone ones to run applications inside of browsers in the first place. Personally I like a little bit of desktop integration with my interactive desktop applications. I like to use the web browser to find stuff and information and to start stuff. So I guess the future of the brower is either to become the platform for the desktop, or it will become the biggest 'start menu' in the world which is used to find and launch powerful integrated desktop applications. 

(c) 2008 Thomas O'Rourke


-