GWT - The right tool for Java men!
That said, there are now hundreds of JavaScript Libraries, Ajax Frameworks and RIA based on virtual machines (Adobe Flash/Flex/Air, Microsoft Silverlight/.Net and Sun JavaFX).
Which one will be the good one considering the tool itself, our team composition, the Sakai's architecture and our future development needs?
After some exploration, we decided to go with GWT (Google Web Toolkit) for our OpenSyllabus project in Montréal. A main argument was that our team is essentially composed of Java developers with little knowledge of JavaScript.
The Google Web Toolkit (GWT) represents nothing less than a completely original ("revolutionary!") approach to web development.
GWT allows Java developers to create Rich Webapps without having to write any JavaScript. As a matter of fact, GWT Cross Compiler takes client side Java code and generates cross-browser JavaScript.
In short, you write, test and debug your client-side code in Java and let GWT cross-compiler convert it all into cross-browser JavaScript. When compiled the Client-side is now pure JavaScript and HTML.
GWT Cross-Compiler compresses the JS naming and obsfuscates your code to the shortest possible length.
With GWIT you "Only pay for what you use!"
So, GWT Cross-Compiler prunes unused classes, methods and attributes, from your code.
In fact, GWT can generate faster JavaScript than you can write by hand!
In the ideal world, the Java developer would never have to write JavaScript code.
This is the fulfilled promise of GWT...
GWT is all Java
With GWT, Google bets on the 6 milions Java developers community out of here.
GWT allows rapid development and debugging with common Java IDEs as Eclipse.
The built-in library of UI components will look very familiar to Java developers, particularly those having Swing experience.
Open Source and Community Initiative
GWT is not only a Google thing, since its an Open Source initiative under a friendly Apache 2.0 license.
The GWT community exists and well alive...with a developer forum of over 13 000 members, many third party development tools and libraries including an amazing visual editor (GWT Designer) and many books.
GWT is improving quickly. For example, accessibility support is a main addition to the version 1.5 now in Release Candidate 2.
HelloGWT
This section will describe an Hello World GWT application which will be fully integrated within the Sakai's platform.