java
Google Web Toolkit Open Sourced
Google have released the latest version of the Google Web Toolkit under the Apache 2.0 License. The Google Web Toolkit is a toolkit for creating "AJAX" web applications by creating a Java application, then "compiling" it to JavaScript and HTML.
I've always been quite interested in the toolkit, but "compiling" Java to JavaScript always seemed like a novel but messy idea to me. However, after to listening to two podcast episodes by its creators, I've become more interested.
It seems that the choice of the Java language is purely based on the tools available to create applications with that particular language. The GWT is for creating cross-browser JavaScript and HTML user interfaces without having to worry about browser quirks, using existing powerful development tools. You can use any server-side language to generate the JavaScript & HTML once you know what needs generating, so GWT could easily be used in conjunction with PHP, Python et. al.
Something I particularly like is the philosophy of not forcing you down any particular design path, but supporting as many as possible. For example, if you happen to be using the Model View Controller design pattern, GWT would be brilliant for creating the "view" part, and you could use something else for the Model and Controller parts. Or you could not use Model View Controller at all. Also, you don't have to use the whole toolkit, you can use just parts of it, the components are designed to work independently of one another.
I'm still not sure that "AJAX" web applications are the best solution for software as a service in the long term, but they're certainly the best technology currently widely supported, even if you have to deal with browser quirks to ensure compatibility.
GPL Java and Other Bloggings
Some interesting technology related blog posts I've seen recently...
GPL Java
Jonathan Schwartz (Sun) and Bob Sutor (IBM) both mention the news that Sun has chosen the GPL to open source Java with. Good news!
Me and Sam spent the afternoon trying to write an algorithm to calculate a winning hand in Gin Rummy using Java which wasn't much fun. I'm becoming a fan of Eclipse though.
Google has the ultimate answer
Jake Stride points out that Google has the answer to life, the universe and everything. Shame they don't have the question! Or, perhaps they did, until I visited that URI, at which point the universe was instantly replaced with something even more complicated.
network clients != thin clients
Jonathan Schwartz clarifies why he said "I don't believe in thin clients." He goes on to explain that web applications don't run on thin clients because web browsers do too much to be considered thin clients. What's important is network clients, not that they're necessarily "thin".
Open Standards vs. Open Source
In one of the slides from Bob Sutor's talk at the University of Texas, he mentions Open Standards vs. Open Source. He explains Open Standards as an open blueprint which can be developed and maintained in a transparent way and is freely implementable. Open source is a transparently developed implementation, possibly of open standards.
This is interesting because I strongly believe that open standards are even more important than open source. You don't have to believe in open source to implement an open standard, but open standards are crucial. Even if you implement an open standard in a proprietary way, you can still interoperate with an open source implementation of that standard.
