Last month Pearson Education hosted a four day conference dedicated to GWT. For those who weren't able to attend (or even for those who were), the conference materials are now available, including:
In particular, you may want to check out Kelly's talk on usability, as well as Bruce and Dan's overview of how GWT can improve productivity. There's also the conversation with Josh Bloch and Joel's presentation on architecture design. And a panel of app developers talks about their firsthand experiences with GWT.
Thanks to Barbara Gavin and all the folks at Pearson Education for planning and hosting the conference. Thanks also to everyone who came to the conference for making it a success.
We're excited to have another guest blog post for you, brought to you by Jeet Kaul, VP of Sun's Developer Products and Programs. He's here to talk about using NetBeans to build web apps with GWT.
Google Web Toolkit is getting a lot of attention in the web developer community thanks to its interesting way of avoiding the need to write JavaScript code for interactive web applications. Developers from the NetBeans community recognized the benefits of such a solution and created a plug-in which integrates GWT support into the NetBeans IDE. NetBeans users can now choose GWT as one of the supported web frameworks, and NetBeans then helps them with all the important tasks such as editing, building, running and debugging GWT applications. Here's how to get started with GWT development in NetBeans and where to find more information about the plug-in.
Although GWT is not supported in NetBeans 6 out of the box, you can download this GWT plug-in and start developing GWT-based applications in NetBeans.
The first step is to install the plug-in using the Plug-in manager. Go to the "Tools | Plugins" menu action, switch to the "Downloaded" tab and locate the plug-in on your disk drive. You don't even have to restart your IDE - GWT support is instantly available for you!
The plug-in is seamlessly integrated into NetBeans IDE. That means that when you create a new web application GWT is shown as one of the available frameworks in the last step of the New project wizard. Here you can specify the GWT installation folder and choose the main entry point class of your GWT module.
You can use the plug-in both if you start from scratch or if you want to work on an existing GWT application. So if you used a different IDE than NetBeans before, it is easy to switch the GWT application to NetBeans. You just point the wizard to your existing GWT application and create a new project from existing sources.
Once you get the project created you can run the application simply by hitting the Run button. There are two options – you can either use the default Run action which deploys the application to the application server and opens your default web browser. The other option is to run GWT in hosted mode and then the GWT development shell is opened and you can see your application inside of it.
Debugging is also supported, so you can just run the Debug action and then the runtime is ran in debug mode. You can simply add breakpoints, step into, step out, etc. as you would expect in a regular web application.
NetBeans already provides lots of tooling out of the box that you can take advantage of, like a powerful XML editor, HTML editor and of course a Java editor with code completion and quick fixes. NetBeans 6 made huge strides in improving the editing experience and it shows when developing GWT applications, too. All GWT APIs are available for you including javadoc documentation, because the GWT jars get automatically added into the project during it's creation.
To learn more about GWT support in NetBeans, the project homepage and screencast can help you get started. Sang Shin, a member of the Sun technology evangelism team, also created a free course for GWT and NetBeans, so you can learn from his examples and do the hands-on lab.
The plug-in was developed as an open source project so we encourage developers to join the project and contribute. There are many ways you can contribute, even submitting an issue or request for enhancement counts.
The future roadmap contains exciting features such as refactoring for GWT and GWT-specific quick fixes in the editor which will make developing GWT code even more comfortable. We are always looking for feedback, so if you try out the project let the developers know what you think.
Another project that may be of interest is jMaki, an AJAX framework that provides a lightweight model for creating JavaScript centric AJAX-enabled web applications using Java, Ruby, PHP, and Phobos. jMaki has an integrated NetBeans module for all the above languages, and some new features are being developed that will expose all the jMaki widgets as GWT java components, easily accessible to GWT application developers using NetBeans.
There's also Project Woodstock, which provides the next generation of User Interface Components for the web, based on Java Server Faces and AJAX. This open source collaboration enables a community of developers to create powerful and intuitive web applications that are accessible and localizable, and which are based on a uniform set of guidelines and components, to help ensure ease of development and ease of use. These components enable visual web application development in NetBeans. Just drag and drop from the palette into the designer canvas and visually bind them to heterogeneous back end data sources (e.g. databases, Web Services, EJBs). Build powerful applications in minutes.
The NetBeans community has been growing a lot in past several years and NetBeans became a truly universal IDE, so if you haven't tried it recently, you may be surprised about the progress it has made. After all, it won't cost you much - it's free and open source. So give it a try today!
Pearson's Voices That Matter: Google Web Toolkit conference is only a few weeks away, and we're eager to meet folks from the GWT community there. For those of you looking for a little financial assistance, we've worked with Pearson to put together a GWT Scholarship. It's meant to reward folks who have built neat things with GWT, made it better by submitting bug reports and patches, or simply actively discussed GWT in the forums. If you receive a scholarship, you can attend the 3-day conference for a reduced rate of just $150.
We'll be handing out 25 scholarships to folks who have worked hard and contributed to the GWT community. Examples of contributions are:
If you're interested in applying for the Pearson GWT Conference Scholarship, send us an email explaining how you've contributed and how the scholarship would benefit you (no more than 300 words, please!) at gwt-pearson@google.com no later than Friday, November 16, 2007. We'll announce the recipients on Wednesday, November 21, 2007.
And we're looking forward to seeing you at the conference!
Update: scholarships still available
As an update: there are still scholarships available to attend the Voices That Matter: Google Web Toolkit conference in a few weeks in San Francisco. While we've seen several compelling entries, we'd love to see what else is lurking in the GWT community. We'll update this thread when we've run out; in the meantime, please drop us a line if you're interested.
We've got another guest blog post, this time from Russell Ivanovic, Software Developer at Groundhog Software. He's here to talk about his experience building a new product using GWT.
In 2006 Groundhog Software partnered with education specialists to deliver an electronic portfolio solution. As fate would have it, GWT was released by Google during the R&D phase of this project. Groundhog recognised that, even in its infancy (version 1.0), this was a product that could deliver the usability, scalability and ease of development that we needed. A proof of concept prototype was built successfully, and after funding was secured, full scale production began.
Today, Groundhog Software's solution ePo Builder is successfully deployed in a pilot of over 80 schools, catering for over 16,000+ users.
So what benefits did GWT bring to the table? Let's look at a few:
Our website has more information about ePo Builder and Groundhog Software.
We wanted to highlight another success story for GWT. Lombardi Software has created an innovative modeling tool called Blueprint that they recently built using GWT. Rather than having me tell the story, here are the details from Alex Moffat, Engineering Manger at Lombardi:
Lombardi Blueprint includes around 28,500 lines of our Java code that gets compiled to JavaScript by GWT. We think that's quite a lot but the largest page is 50% smaller, at 480K, than the less functional Dojo based prototype, and it was much easier to develop.
The challenge handed to us was to create a tool that the average business user could use to document and manage their business processes. It had to be easy to use, encourage collaboration between team members, and provide a shared repository for all of a company's process documentation. Workflow functionality had to be on par with our competitors: Microsoft Visio, IDS Scheer's ARIS, IBM's WebSphere Business Modeler, and other desktop modeling tools. But we also wanted wiki & shared whiteboard capabilities to store information. Editing should use the drag and drop interaction users of desktop apps are familiar with. We ended up with some additional features that really set us apart:
All that was a significant task for us to tackle and without GWT we wouldn't have accomplished it. It turned out that coding in JavaScript just wasn't an option for such a complex application. If you're developing a browser based app we'd highly recommend using GWT. And we've seen great success, with thousands of users in Fortune 500 companies around the world. And opposite the Web 2.0 / Enterprise 2.0 concern, users actually pay for our app!
(see the larger video)
Back when we began developing Blueprint, we started with a combination of HTML and Flash 8 for the interactive parts. We ended up abandoning that fairly quickly for a couple of reasons:
Our next iteration was pure HTML and JavaScript using Dojo. This approach fixed the problems we had with Flash, but had its own issues:
Around that time, GWT 1.3 was released and we decided to take the plunge. Fortunately we didn't have to convert all of our JavaScript code to GWT at once. By using GWT's JSNI facilities, we were able to migrate areas gradually as we needed to make functional changes. Compared to our earlier efforts, GWT has allowed us to be far more productive and flexible. The big wins for us have been:
Line count comparisons between the Dojo and GWT based versions of Blueprint are invidious, not least because the GWT version of Blueprint includes much more functionality than the Dojo based one did. However, for our last Dojo based release we wrote around 8,500 lines of JavaScript, and at this point we've written 28,500 lines of Java code, excluding comments, which GWT compiles to JavaScript. There's no way we could have built the equivalent functionality using JavaScript, and as mentioned before the resulting downloads are still smaller.
Overall we believe GWT has enabled us to write a much more reliable and efficient application and build it faster than we could have otherwise. Since its release just 120 days ago, people in 60 countries have begun using Blueprint; this represents more than 750 companies and thousands of individuals. You can check it out for yourself and let us know what you think!
Over the summer we blogged about a conference dedicated to the Google Web Toolkit (GWT) that the folks at Pearson Education are planning. We're happy to announce that the agenda has been posted.
Voices That Matter: Google Web Toolkit will take place December 3-6, 2007 at the Palace Hotel in San Francisco. The week kicks off on Monday, December 3rd, with (optional) preliminary workshops on JavaScript and AJAX development to prepare attendees for the rest of the week. Starting Tuesday morning, core conference sessions include:
In addition to the talks and panels, there will be several opportunities for more casual interactions with members of the GWT community, including the conference speakers. Nearly all of the GWT team will be speaking and participating in the conference including co-creators of GWT Bruce Johnson and Joel Webber. Feel free to check out the complete list of speakers.
Be sure to register before October 27th to receive the "early bird" discount. We'll see you there!
In our not-so-humble opinions, we think that the Google Web Toolkit (GWT) and the Apple iPhone are two very cool technologies. Because we're all highfalutin computer-scientist types (as well as being irrepressibly geeky) we wanted to see what happens when you mix them together. Would it be like peanut-butter and chocolate, or hot-sauce and poison ivy? Our approach was to build an application that primarily targets the iPhone and to use that as a test-bed for new ideas.
So what kind of application should we build? The application should:
And so the GWT Feed Reader was created. It combines the Google AJAX Feed API with a user interface geared for use on the iPhone. The source code to GWT Feed Reader is available under an Open Source license from a Google Code project.
The primary take-away from this project is to say this: The Google Web Toolkit can be used to create applications that, in the same code base, work well on an iPhone and a traditional desktop browser. You can read more about the development of the GWT Feed Reader in a Google Groups article.