Google just announced Google App Engine, and certainly (driven by Robert Scoble) that has been running like wildfire around the blogosphere. It solves some very interesting problems, and does it in a slick way, but it also creates some questions.
Google App Engine solves the following problems that I can see:
- Scalability
- Deployment
- Authentication
- Management
And it solves these in great ways that make sense, leveraging the resources that Google can bring to bear on the problem, and preventing the developers from having to reinvent all the infrastructure. Awesome.
Let's look at the problems that Google Web Toolkit solves:
- Cross-browser compatibility
- Lack of compile time error checking in interpreted languages
- Sophisticated handling of layout
- Architecture for creating custom controls and AJAX behaviors
- Asynchronous round-tripping to the back end correctly
- Sophisticated caching
- Image bundling
- Integrated best practices for handling browser history (back button support)
As you can see, these frameworks, both from the same company, are basically non-overlapping in the problems they solve. Imagine a combination, where you can easily create a GWT application and deploy it to App Engine! In some ways GWT is solving the client side of the big picture problem of writing web apps, and App Engine is solving the server side, with GWT doing some of the heavy lifting to allow seemless communication between them.
This is nirvana. Until they integrate them, Google has a big hole in their developer story. Once they get that tied together it will be amazingly difficult to compete against it.