Google App Engine (GAE) is Google's web application development environment. It makes it easy to create web sites that run on Google's infrastructure. It runs application code in sandboxes, 30 seconds of single-threaded execution with no file access or spawning of other processes. And it provides access to some Google's highly scalable resources, most notably a BigTable based datastore.
Google Web Toolkit (GWT) is Google's JavaScript development environment. It compiles Java into JavaScript, supports Ajax style programming and optimises the JavaScript for the main browsers.
There is a well-thought out RPC communication protocol between GWT and GAE and a GAE hosted mode that supports single-session debugging of GAE and GWT apps in the Eclipse IDE.
The benefits of developing under GAE and GWT appear to be
- Massive server and database scalability
- Learning the Google server session way: Serving up a reponse in under 30 seconds in a single threaded servlet. If I can do this then Google can make my web applications massively scalable and robust by simply killing and discarding and server response that take more than 30 seconds.
- A good AJAX-ey user experience on web clients. GWT (like all AJAX clients) calls the server in the background so that it has server data available locally to update the screen when the user requests it.
- Learning and evaluating the GAE and GWT development tools. Hosted mode, Eclipse development environment, server logs, etc
- Learning about Google frameworks, tools and applications.
My goals are
- Test DataStore access rates.
- Test client side responsiveness while fetching a lot of data from the server.
- Evaluate the GWT and GAE development environments for doing substantial work quickly and with decent quality.
- Evaluate the robustness of the GAE model of doing work in 30 second chunks.
- Evaluate data store scalability.
- Create a few re-usable components.
- Learn how to create a simple UI. My design skills are limited and I like the sparse Google web page lay-outs so I hope there some widgets and examples for building sparse Googly web pages.
You can watch this project progress here.
0 comments:
Post a Comment