Wednesday, February 27, 2013

Deploying App Engine apps with DevTable


Today’s post comes from Jake Moshenko, founder of DevTable. DevTable is a collaborative hosted IDE which aims to provide a single development environment that can be accessed online from any device or location. It also allows you to collaborate on projects in real-time with your teammates. DevTable supports development and deployment of Google App Engine projects in the cloud.

At DevTable, we support development of Google App Engine apps with Python directly on the cloud, without having to install and run the App Engine SDK locally.  While the App Engine SDK development experience is excellent, it is not yet supported on mobile or web platforms.

Some of the major reasons to use DevTable for App Engine are:

  • Cloud based editing and deployment of your App Engine projects
  • Autocomplete for Python code, including built-in App Engine libraries
  • OAuth deployment, so DevTable never has access to your Google Credentials
  • Native App Engine deployment for production releases
  • Git DVCS integration, including GitHub support
  • Mimic deploy, for faster intermediate testing feedback

To get started, first log in to your DevTable account and create a new project using our Google App Engine template.  This template loads the basic webapp "hello world" project that you’re probably already familiar with from the App Engine documentation.  Follow the instructions to create a new App Engine app and to authorize DevTable to deploy on your behalf.  Don’t worry, we use OAuth deployment, which means we will never ask you for your Google password.



Now that you have everything set up, press the Run Project button and select View on App Engine Mimic, which will deploy the Mimic bootstrap code to a special version of your app.  This may take up to a few minutes, but each test deploy after this should happen instantaneously.  Once Mimic has been deployed, you will see “Hello, world.” proudly displayed in a new browser tab.  Each time you refresh this page, the newest code is pulled from your DevTable project, so editing and testing code is seamless.  Try it now; change the message in your app’s main .py file, then refresh the tab which is showing your project.

Python autocomplete and documentation in DevTable
Mimic works by creating a proxy which intercepts requests to your app and loads your app code dynamically from the datastore.  DevTable keeps this code in sync with your latest changes.  One added bonus to testing your code using DevTable and Mimic is that your test code will be running in the production App Engine environment, so some APIs and capabilities will work that don’t work on the Development Server, such as the App Identity API and making multiple concurrent requests.

Mimic bootstrap code deployment
Once you are happy with how your app works in Mimic, you may want to deploy your application to production. Click the Deploy button, to deploy your app directly to App Engine, which may take a few minutes.  Once deployment is complete, you can view your app at the production url, which is probably something like .appspot.com.

What can you do with this? You can build and deploy apps completely in the cloud.  You can use DevTable as an emergency backup editor to check out your code from Git, fix a small bug, and push to production, without having access to your development machine, from the beach!  You can use our real-time collaboration support to pair program an App Engine app concurrently across the world.  Our users are constantly surprising us with new ways to use DevTable, and we’re excited to see what you can come up with too!

We encourage you to get started now building apps using DevTable on App Engine.  If you have any questions or suggestions, we are always available at support@devtable.com.  Just send us an email and we’ll get back to you as quickly as we can.


7 comments:

Colin said...

Yay! App Engine Development on my Chromebook!

Michael Schumacher said...

Is support for Go planned, too?

Jake Moshenko said...

We are looking into Go support, but due to the statically compiled nature of the language, we can't use mimic to create a nicely integrated, quick experience. We may look at supporting a local dev_appserver at some point, but that has its own challenges.

Eric Gonzalez said...

Very nice!

Sergey said...

Is it possible to move existing app to DevTable?

Jacob Moshenko said...

Sergey, Yes it is possible to move an existing app to DevTable but the process is a little less streamlined. The easiest way right now is to use the Google App Engine template to create an app with a working .devtable file, delete all of the other files, and then bring in your project files using git by clicking on "Source Control" from the project screen.

We will definitely be adding App Engine auto-detection so that it is as easy as just creating a new project from your existing git repository or zip archive. If you would like to be notified when this is ready please send us an email at support@devtable.com so that we can keep track.

Roger Bolton said...

It works well.

Deployed my virsion of the example App Engine code, swapped the default from mimic to 1, and hey presto !

App number seven is live, and no local disk storage or app engine sdk was used.

Well done DevTable team.

Read the manual my next step.