subject: Languages Supported by Google App Engine [print this page] Languages Supported by Google App Engine Languages Supported by Google App Engine
As we learn about the basics of writing a application on Google App Engine a critical aspect to understand about the App Engine is its language support. It is critical to understand that being a Cloud environment there are limitations on what the App Engine supports. It is critical to understand the difference between a Hosting Provider like Rackspace which can provide support for any platform, language or environment as against a Cloud Platform like the App Engine which would have limitations in terms of what it supports.
Google currently supports the following languages:
Java:
App Engine runs the Java Web Applications in a Java 6 environment
App Engine supports frameworks like Struts 2 and Spring MVC
The App Engine will invoke the Servlet class of the application to handle requests
The Java application executes in a Sandbox environment
While the Application can execute code and store data in the App Engine Data Store, service the web request and prepare responses
However the Application cannot write to the filesystem, open a socket or access another host directly, spawn a sub-process or thread or make system calls
The supported set of classes are here in the JRE Class Whitelist
Download the App Engine Java SDK which includes a development server and includes all the services on the App Engine including the Data Store.
If you are using Eclipse download the App Engine plugin for Eclipse
Python:
App Engine runtime environment uses Python version 2.5.2
The python environment includes support for standard python libraries
Third party frameworks like Django are supported
Since the App Engine provides a sandbox environment the following are not supported, opening a socket, writing to the file system and making system calls
Only pure python is supported, extensions written in C are not supported
APIs are available for access to the Datastore, Google Accounts and Email services
The App Engine Python SDK includes a server applications which provides a complete App Engine environment on your computer.
Download the App Engine SDK for Windows
Other JVM Languages (Groovy, Scala, JRuby, Clojure):
All aspects mentioned against Java applies to all the JVM based languages as well.
More details available in the article on the Technology Trends Blog - Languages Supported by Google App Engine