Programming in the Cloud: An Overview of Popular IDEs

    About five years ago, the online IDE was such a toy, causing wild delight among geeks and lovers of everything new. Yes, what can I say, most likely, the creators of such services themselves did not fully understand where their aspirations and the work done would lead. It all started with a banal online notebook with a couple of three menus and a compiler for a couple of languages. In general, it is quite interesting to observe the development of this market. So, in 2011, a review of cloud IDEs was published , among which there are heroes of the current article. Two years later, another article appeared comparing the two strongest market players - Codenvy and Cloud9 . Well, 2015 is in the yard, and, therefore, time for the next review.

    The heroes of the review were not chosen randomly. Google search also helped, as well as the frequency of references to thematic forums. So, meet - Codenvy , Cloud9 , Koding and Nitrous . The order is completely arbitrary; it is up to everyone to decide who is better and who is worse. We just go over the main chips and try to predict the vector of future development of the above services.


    If you turn to the article Programming in the cloud: A small overview of the Online IDE, then in Codenvy we learn the eXo IDE. In five years, much, if not all, has changed. The new generation of IDE is strikingly different from itself the same 2-3 years ago. Briefly and point by point:

    • the architecture assumes the location of various services on dedicated servers, that is, the assembly of projects (if it is Java) occurs on a separate server with Maven and Ant preinstalled. Build artifacts are copied to the runtime server, the heart of which is Docker.
    • thanks to Docker, the application runs in an isolated container. The user is given the opportunity to collect images from their Dockerfiles. Thus, Codenvy is not limited to providing virtual machines with a certain “axis”. Pre-installed machines are built on the basis of Derbian Jessie.
    • Java support. Like competitors, Codenvy pays more attention to the language in which, in fact, the service itself is written. Package view and a list of used libraries for the project tree, syntax highlighting, a full-fledged code-assistant (hello Eclipse), showing errors and suggesting options for fixing them, code navigation (good old F4). Maven and Ant on board. Automatically update dependencies while saving build files.
    • open source. Codenvy steps into the arms of Eclipse, and its own SDK slowly migrated to the Eclipse Che project .
    • Git support, convenient Datasource plugin, CodeMirror with its buns, Google App Engine plugin, the ability to make pull request in GitHub repository directly from the workspace (new “brunch”, “fork” and “pull requisition” are done automatically).

    Codenvy also pays attention to the issue of cloning environments, when in 1 click you can share the project along with its environment and settings. In fact, to try Codenvy you do not need to register at all. The project can be shared using just such a button, which Codenvy calls Factory: Among the shortcomings, we note the following:


    • lack of support for scripting languages. Code autocompletion for PHP, Python, Ruby no. Plugins for these languages ​​are left to the community.
    • resource limit and runner time. For free accounts, a limit of 1 hour is set, after which the Docker container stops and is deleted. At the moment, the machines are not saved, but recreated again
    • There is no file synchronization, that is, changes made in runtime will not appear in the project tree at all. Judging by the technical support posts of Codenvy, the last 2 problems are being actively resolved.


    Well, Codenvy seems to have found their audience. Eclipse Che and solutions for enterprise clients (Codenvy is offered in the on-premises version, that is, you can install the service on your hardware or virtual machine) - what are the statements about the project’s maturity?


    The next hero of the review also went a long and difficult way. In many ways, different from Codenvy, Cloud9 continues to bend its line, systematically developing in the selected vector. If Codenvy is Java, then Cloud9 is definitely JavaScript. Who writes what, as they say. By the way, the company recently released a Beta version of the SDK .

    Pros of Cloud9:

    • full support for JavaScript, PHP, Python. Here and auto-code completion, error highlighting, debugging mode, code navigation, file search, functions. In a word, for scripting languages ​​the work is done well
    • the ability to connect to FTP, as well as SSH connection to servers. So, for example, you can pick up the car on Digital Ocean or Amazon, and “connect” there from Cloud 9 Workspace. Thus, the user is provided with all the buns of the editor and the “power” of the raised “instance”:

    • sudo access to the virtual machine. Setting up an environment for yourself is quite simple (Ubuntu is offered out of the box). Cars rise by the same Docker on Google Cloud infrastructure
    • svn, git are already preinstalled on the machine
    • collaboration mode with built-in chat
    • set of built-in build systems for scripting languages


    • even though Cloud 9 does not position itself as a Java IDE, there is not enough Java support. Existing code autocompletion is clearly not what Java developer would like to see
    • free account restrictions. Well, nowhere without it


    A great choice for JavaScript developers. Good editor, many “hotkeys”. Stable development of the company over the years, active development. Without a doubt, you should expect new chips and interesting updates.


    This name is increasingly mentioned on topic forums. Despite its minimalist design, Koding offers simple but effective solutions. You will not see the usual IDE menus. An editor and a terminal are what a developer needs.

    Pros of Koding:

    • fast "raising" of the virtual machine. In this case, you do not need to choose what you need in this car. Everything will be there. Such is the solution. PHP, Python, Java, Ruby, Perl, Java were able to detect immediately. Missing services and software can be installed by hand.
    • Git and SVN available out of the box
    • access to the virtual machine via SSH. There is a short tutorial on connecting
    • collaboration mode with the watch functions (a replica of the workspace is created) and kick (the user can be forcibly deleted from the session)
    • own package manager + tutorials on installing the most popular packages + the ability to install packages under sudo


    • due to its very minimalistic design, it’s hard to immediately figure out how to get started, especially for developers who are used to the classic layout menus and tabs in Eclipse and IntelliJ.
    • lack of full support for Java, although, perhaps, Koding does not position themselves on this side
    • lack of the possibility of a comfortable “deployment” to PaaS, although there is the opportunity to install utilities from providers and “deploy” via the command line.
    • unlike Codenvy and Cloud9, the development of third-party plug-ins is not provided (well, or the information is hidden somewhere off-site)


    The project is quite interesting, but in development it lags behind the first two heroes of the review. At the same time, the simplicity of creating a VM and the absence of “bells and whistles”, that is, unnecessary embellishments that are not of real practical use, are impressive.


    A very interesting concept, since developers are offered either a virtual machine in the cloud, or a virtual machine + desktop application that makes it possible to use your favorite desktop editors.

    Pros :

    • the virtual machine rises quickly. The user chooses a stack on his own. PHP, Ruby, Node.js, Go, Meteor are offered.
    • SSH virtual machine access
    • desktop application for Windows and Mac with which you can work with an offline editor (for example, Sublime) and manage the virtual machine. Projects placed in a specific directory on the local machine are automatically synchronized with the cloud.
    • convenient interface for installing packages. Just enter the package name and click Install
    • code assistant for scripting languages

    Disadvantages :

    • a little inconvenient interface for launching services. Of course, you can do everything with your hands in the terminal, but still, the proposed UI is not entirely intuitive
    • port policy is not entirely clear. It offers a preview of applications on multiple ports, and how to use non-custom ones is not clear.
    • perhaps subjectively, but the design of the editor and the workspace as a whole looks strange.
    • There are no ready-made solutions for deploying to PaaS. Instead, command line solutions are offered, with self-installing packages and utilities.


    An ambitious project that will be of interest to PHP, Python and JavaScript developers. The desktop application is a very good solution on how to connect the desktop and the cloud.

    Instead of Summary,

    criticizing the online IDE is possible and even necessary. More criticism - more incentive for development. And in many ways, this very criticism has made the above-mentioned IDEs what they are today. Someone is targeting the Java and enterprise market segment, someone is trying to make the life of JavaScript, PHP and Python developers easier and more fun. In any case, the idea of ​​coding from a Chromebook or a weak laptop, while having a good editor and a remote Linux machine, has the right to life. Let's see what happens in a few years.

    Also popular now: