Ok, I don’t really have any authority or any involvement whatsoever with jDojo but I figured I would introduce it on my site. I am going to be checking it out more closely going forward and seeing what benefit it really gives us.
You will need to register to get into the jDojo site so go ahead – I think it is well worth it. The latest version now has support for Dojo 1.4 – which tells me these guys are making sure the community has the ability to support very current API’s. I didn’t get to see the EclipseCon session Michael gave but it looked very interesting and also gives a great summary of what jDojo is.
The benefits in summary..
- The JDojo programmer can now write its Web UI code using the features of the Eclipse Java tooling.
- Type information is now part of the code, and not of the documentation anymore.
- The programmer still deals with the DOM, browser environment etc, having the full control over all the details.
- Existing code can be easily integrated by writing a JDojo stub for it.
I think of compilers and tools like this as a point in time technology. It will be great in the beginning but in the end the developer will rarely “compile” the web application and possibly just edit the output directly – or rewrite it from scratch. The problem I see is the steep learning curve so the latter part of that statement may be a while.
I relate things like this to MFC, MFC was great for C/C++ developers but once you learned what MFC did under the covers for the most part many just went around MFC and removed the bloat.
So if Google and the open source community do this right, GWT may stay around for quite a while. If it ends up creating “bloaded” applications then I think in the end it will not survive.
Lastly, it looks like this approach is gaining popularity. From the comments there were a couple of open source projects and even a commercial project Vaadin that essentially do the same thing.
I am sure we will be hearing more of GWT and I would like to hear other opinions on this approach to Web 2.0 development.