Groovy itself has been running on AppEngine since its launch, but we had to make a few tweaks here and there in Grails to make Grails applications run on AppEngine.
Included in this is the introduction of an AppEngine plugin which replaces Hibernate with JDO (and soon JPA) for persistence in order to take advantage of Google’s DataStore API. The AppEngine plugin also integrates the AppEngine development environment with Grails so that you can run your Grails application locally inside the AppEngine container whilst still benefiting from hot reloading support.
As with many things in Grails the ease of use is something best demonstrated visually, hence we have prepared a screencast demonstrating creating a Grails application and deploying to Google AppEngine using the AppEngine plugin. Simply click on the image below to start the screencast:
For even more information there are detailed step-by-step instructions on how to create and deploy a Grails application to Google AppEngine on the AppEngine plugin page.
The Grails and AppEngine combination is already the most productive combination you can use to deploy Java applications to AppEngine, but we are not finished yet. We are hard at work on building GORM-like abstractions over JPA and JDO in order to bring productivity enhancements to the AppEngine DataStore API and users of JPA/JDO in general.
Luckily since Groovy produces valid Java bytecode we are able to take advantage of all of the AppEngine features and tools such as the DataNucleus Enhancer. The ultimate goal is to make Grails the primary environment for building applications targeting the AppEngine Java SDK and a real viable alternative from a productivity standpoint to the Python SDK. What we have introduced today is a great step in that direction.