Cloud9 IDE is a powerful IDE using Ace editor (made by Cloud9 IDE Inc.) with support for debugging, plugins and collaboration tools.

IDE is running in virtual instance called workspace, which gives you access to sudo privileged user account, thanks to which you could install most of the linux development tools.

Registration requires valid payment card info for verification purposes and spam prevention. Free users are allowed to have 1 private workspace and unlimited number of public workspaces. They currently offer 512 MB RAM and 5GB of disk space per workspace.

Premium users can create unlimited number of private and public workspaces, their last 3 opened workspaces will also be running non-stop. On top of that, user can create a SSH workspace allowing him to work via Cloud9 IDE on his own machine. Premium users can also resize their workspace to up to 2.5GB RAM and 10GB disk space.

Fun fact: GUI on IDE

Since IDE doesn’t offer any way to display GUI applications, one needs to start a VNC service. Thankfully, fjakobs has created a package for quick VNC setup. Unfortunately, his repository doesn’t exist anymore. But don’t give up yet, EtienneWan made a mirror of such package and the setup is pretty straightforward.

What is Meteor?

From Wikipedia page:

Meteor, or MeteorJS, is a free and open-source JavaScript web framework written using Node.js. Meteor allows for rapid prototyping and produces cross-platform (web, Android, iOS) code. It integrates with MongoDB and uses the Distributed Data Protocol and a publish–subscribe pattern to automatically propagate data changes to clients without requiring the developer to write any synchronization code. On the client, Meteor depends on jQuery and can be used with any JavaScript UI widget library.

How to install it?

The setup is actually very simple:

  • Launch terminal in Cloud9 IDE.
  • Use curl | sh in terminal.
  • This will install the latest stable version of Meteor.
  • Now let’s try it out! In terminal, type Meteor create testapp.
  • This will generate project files in our workspace.
  • Move into our newly created project by typing cd testapp.
  • To start Meteor, we need to make sure Meteor runs on Cloud9 IDE’s opened ports, do the following:
    • Run Meteor with command: Meteor --port $IP:$PORT.

Meteor Android build

I wasn’t really able to finish it due to huge space usage (about 8GB of disk space), But these are the things I did (this way, we’ll install android studio). Please note you will need to setup VNC connection for Android development on Meteor to work!

  • Run the following command: sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make to add repository into our subscribed channels and call sudo apt-get update afterwards.
  • Run command: sudo apt-get install ubuntu-make to install required package.
  • Run umake android. This will install Android Studio on our workspace.
  • Run Android Studio from menu in your WM.
  • Android Studio will guide you through the Android SDK installation.
  • As soon as you’re done, run android sdk in terminal.
  • As of writing this article, you need to install the latest version of Android SDK build tools and API rev. 23 SDK with system image.
  • Now we need to create virtual device, use android avd to open manager and create your virtual device.
  • In our testapp folder, run Meteor add-platform android. This will install Android tools for our project.
  • If installation fails due to unresolved paths, make sure you export $ANDROID_HOME and $PATH environment variables:
    • Create file called .bash_profile in your $HOME directory (note: not a workspace directory!) and write in following two lines:
      export ANDROID_HOME="/home/ubuntu/Android/Sdk"
      export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    • Save and use source ~/.bash_profile to execute exports now.
  • Now you should be able to start your application in Android build by calling Meteor run android.

In case of any issues, feel free to respond via Issues page or via E-Mail.

That’s it for today, happy hacking inside of yor new remote workspace!

Written on July 21, 2016