»
January 06, 2010
»

My GWT & AppEngine Toys

For some time I’ve been building complete stack of tools for GWT projects hosted on Google AppEngine. This includes:

  • Maven plugin for AppEngine and GWT 2.0
  • Maven archetype for quick start
  • gaeds — easy to use AppEngine DataStore wrapper library
  • bones-client — library what implements MVP, EventBus and Command pattern (Also known as Action pattern in GWT corner of the world)
  • bones-appengine — library what provides Action server-side part, AppEngine JUnit TestRunner and so on
  • places — GWT library for History Management
  • bones-validator — GWT and Server-side Validation framework with shared definition
  • gwt-mootools — GWT Wrapper for MooTools Animation classes

All of those things are still in SNAPSHOT phase but I’m using them in multiple projects.

To try Bones, Gaeds (unfortunately this archetype doesn’t yet have Places library integrated) make sure you have latest Maven and run:

mvn archetype:generate -DarchetypeCatalog=http://www.amateurinmotion.com/repository
Choose archetype:
1: http://www.amateurinmotion.com/repository -> google-quickstart-archetype (Google GWT & AppEngine Web App)
2: http://www.amateurinmotion.com/repository -> bones-google-quickstart-archetype (Google GWT & AppEngine Web App With Bones and Gaeds)
Choose a number:  (1/2): 2
Define value for groupId: : som.something
Define value for artifactId: : something
Define value for version:  1.0-SNAPSHOT: : 
Define value for package:  som.something: : 
Confirm properties configuration:
groupId: som.something
artifactId: something
version: 1.0-SNAPSHOT
package: som.something
 Y: : y
cd something
mvn install

At this point you can run project in GWT Development Mode with AppEngine launcher:

cd something-gwt
mvn google:gwt-run

Or run compiled application in AppEngine Development server alone:

cd something-war
mvn google:appengine-run

Or deploy to AppEngine (make sure appengine-war.xml has correct id and version)

cd something-war
mvn google:appengine-deploy

In case you’re wondering, plugin supports multiple GWT modules.

More info

Have any questions? Feel free to reach me using twitter @ampatspell or email what can be found in about page.

 
Internet Explorer 6
Are you serious?