Tuesday, July 17, 2012

Develop in the cloud with eXo’s Cloud IDE

Today’s post comes from Mark Downey of eXo, creator of Cloud IDE. Cloud IDE is an online IDE for Java, Python, PHP, Ruby or Javascript, and for nearly two years it has been used by developers to build applications for a number of PaaS environments. They recently added support for deploying code to Google App Engine.

Since eXo started the Cloud IDE project back in 2010, our objective has been to make developers more productive in building and deploying cloud-based apps. We’ve made it easy to import, build and debug code from Github and to deploy it to a PaaS. We have tried to make the development workflow as painless as possible by providing a smooth integration with popular Cloud services from source control to application hosting, and now we’re bringing that integration to the Google App Engine world.

Developers can now use Cloud IDE to build, debug and deploy App Engine apps without having to install and configure the App Engine SDK or any traditional desktop IDE. Everything happens right in the browser.

It’s easy to get started. Once you have a Cloud IDE account, start a new project and select a Google App Engine app (Java or Python) as the project type. Confirm that you want to deploy to Google App Engine, and you will then be asked to create an app with your App Engine account.

This opens the App Engine admin console in a new browser tab, where you get to choose your app ID (which will define the URL of your application). Upon completion, a callback in the URL automatically updates your appengine-web.xml with your app ID, inside Cloud IDE. 

That’s it! From there, just click deploy and enter your credentials to build and deploy your app on Google App Engine.

In Java, you can use auto-completion (alt+space) and have access to all the Google App Engine libraries. Many keyboard shortcuts are also available to help you develop efficiently (Help > Show Keyboard Shortcuts).

To run and debug your app on a development server, press Debug in the Run menu, and set your breakpoints. Your app will run in another browser tab and you’ll be able to inspect variables at runtime.

To re-deploy, just go to the App Engine menu in Project > PaaS > Google App Engine, and click Update Application.
The Google App Engine menu also enables you to view and update your App Engine services such as Indexes, PageSpeed, Queues, DoS, Resource Limits, Crons or Backends.

With eXo Cloud IDE, you can run, debug and deploy App Engine apps without having to install and configure the App Engine SDK or the Google Plugin for Eclipse (or, for that matter, Eclipse itself). Because everything related to your development activities is taking place on the Cloud IDE servers, your initial setup time is dramatically reduced. In a couple minutes you can be focusing on the things that matter most: coding and refining the app itself.  

- Contributed by Mark Downey, product manager for eXo Cloud Services @marksdowney


Christoph said...

That sounds really cool. Will Go be among the supported languages in the near future?

Cláudio said...

Any plans to support Android too?

Unknown said...

Very cool. Is it possible to autodeploy GAE application after commit on git?

Anonymous said...

@Christoph: Why not if there is some demand :) ... stay tuned

Anonymous said...

@Claudio: Yes, we consider Android apps, stay tuned

Anonymous said...

@Dmitry: Not possible for the time, but might be interesting idea for future, thanks.

Unknown said...

Why the auto completion feature is only enabled for Java AppEngine apps and not Python as well? Any idea if it is gonna be supported anytime soon?

seeni said...

Any plans to support GWT also?

Gennady Azarenkov said...

@Mohammad: Yes, autocompletion for Python is not supported yet but definitely will be added soon.

Gennady Azarenkov said...

@seeni: GWT should work. You can try to see it yourself with GWT sample provided by GAE.
On cloud-ide : Project->New->Import Sample Project ->gae-gwt-sample

Unknown said...

when can we expect websocket API for Java ?

Appengine uses jetty servlet container which "normally" supports websockets.

Gennady Azarenkov said...

@Pawel: For GAE Apps we are using GAE SDK runtime (for the time it's version 1.6.5), so it should support Channel API and stuffs like that.
If you have some concrete problem, please feel free to contact support[at]cloud-ide.com or use Contact Us form on the site.

Christoph said...

My initial interest in Cloud IDE has slightly declined after I found that the Change Passwords form sends the password as cleartext over plain HTTP.