Programmable in the cloud: a review of the popular IDE

five Years ago, online IDE were toys themselves, causing wild excitement among geeks and fans of everything new. Yes, what can I say, most likely, the creators of such services does not fully understand where they will lead the aspirations and work accomplished. It all began with a trivial online Notepad with a couple of menus and compiler for a pair of three languages. Actually, pretty interesting to watch the development of this market. For example, in 2011 was published overview cloud IDE, some of whom are the heroes of today's article. Two years later appeared another article comparing the two strongest players in the market — Codenvy and Cloud9. Well, on the court in 2015, and, therefore, time for another review.

Characters were not chosen randomly. Helped and Google search, as well as the frequency of references to the thematic forums. So, meet — Codenvy, Cloud9, Koding and Nitrous. The order is completely arbitrary, who is better and who is worse to solve each. We will only go over the main chips and you try to predict the vector of future development of the above-mentioned services.

Codenvy

https://codenvy.com



If you refer to the article Programming in the cloud: a Small overview of the Online IDE, Codenvy know eXo IDE. Five years has changed a lot, if not everything. The new generation of IDE is very different from myself 2-3 years ago. Short and to the point:

the
    the
  • architecture involves the location of different services on dedicated servers, that is, the Assembly of the project (if it is Java) comes on a separate server with pre-installed Maven and Ant. Build artifacts are copied to the runtime server, the heart of which was a Docker.
  • the
  • with Docker, the application runs in an isolated container. The user can collect images from their Dockerfile-s. Thus, Codenvy not limited to the provision of a path with a certain “axis”. Preinstalled machines are based on Derbian Jessie.
  • the
  • support for Java. As competitors, Codenvy pays more attention to the language, which, in fact, written the service itself. Package view and the list of used libraries to the project tree, syntax highlighting, code complete-assistant (Hello, the Eclipse), showing mistakes and offers suggestions to correct them, code navigation (good old F4). Maven and Ant on the Board. Automatic update of the dependencies when you save the build file.
  • the
  • open source. Codenvy is stepping into the embrace of Eclipse, and SDKs slowly migrated to the project Eclipse Che.
  • the
  • support for Git, a convenient Datasource plugin, CodeMirror his buns, the Google App Engine plugin, the ability to do a pull request to the GitHub repository directly from workspace (new “branch”, “fork” and “pull request” are made automatically).




Codenvy also pay attention to the issue of cloning environments, when, in 1 click you can share the project with its surroundings and settings. In fact, to try Codenvy does not need to register. Project you can share with the one button that calls a Codenvy Factory:

image

Among the shortcomings note the following:

the
    the
  • lack of support for scripting languages. Code autocompletion for PHP, Python, Ruby no. Plug-ins for these languages at the mercy of the community.
  • the
  • a limitation on the resources and time of the runner. For free accounts exhibited a limit of 1 hour, after which the Docker container is stopped and removed. At the moment the machine is not saved, but recreated anew
  • the
  • missing file synchronization, that is, changes made at runtime will not appear on the project tree. Judging by the posts of support Codenvy, the last 2 problems are actively solved.

  • Insights

    Well, Codenvy seems to have found its audience. Eclipse Che and solutions for enterprise customers (Codenvy is offered in the on-premises version, that is install the service on your hardware or virtual reality) — is not a statement about the maturity of the project?

    Cloud9

    https://c9.io



    The following review hero also had a long and difficult path. In many respects differing from Codenvy, Cloud9 continue to stick to their guns, gradually developing in the chosen direction. If Codenvy is Java, Cloud9 is certainly the JavaScript. On what someone writes, as they say. By the way, the company recently released Beta version of the SDK.

    Pros: Cloud9:

    the
      the
    • full support for JavaScript, PHP, Python. Here and auto-code completion, error highlighting, debugging, code navigation, find files, functions. In short, for scripting languages work good
    • the
    • the ability to connect to FTP and also SSH connection to the servers. For example, it is possible to raise the machine on Digital Ocean or Amazon, and “petconnection” back from Cloud 9 workspace. Thus, the user is provided with all the editor and “moscha” raised “instances”:



    the
      the
    • with sudo access to a virtual machine. To configure the environment for themselves is quite simple (out of the box, Ubuntu offers). Machines rise to the same Docker-th infrastructure on the Google Cloud
    • the
    • svn, git is already preinstalled on the machine
    • the
    • collaboration mode with built-in chat
    • the
    • the set of built-in build systems for scripting languages


    Disadvantages

    the
      the
    • at least Cloud 9 and not position themselves as a Java IDE, Java support is not enough. The existing code autocompletion is obviously not something that he would like to see Java developer
    • the
    • limitations of the free account. Well, without it anywhere


    Insights

    A great choice for JavaScript developers. A good editor, a lot of “hotkeys”. Stable development of the company for many years, active development. Without a doubt, we can expect new features and interesting updates.

    Koding

    https://koding.com



    This name is often mentioned on discussion forums. Despite the minimalist design, Koding provides simple but effective solutions. You will not see the familiar menus of the IDE. Editor and terminal — here's what you need to the developer.

    Pros Koding:

    the
      the
    • quick “lifting” of the virtual machine. With this, you do not need to choose what you need in this car. There will be all. Here is the solution. PHP, Python, Java, Ruby, Perl, Java was able to detect immediately. Missing services and software can be installed by hand.
    • the
    • Git and SVN out of the box available
    • the
    • access to the virtual machine via SSH. There is a short tutorial on connecting
    • the
    • collaboration mode c functions watch (creates a replica of workspace) and kick (user can forcibly remove from session)
    • the
    • own package Manager + tutorials on installation of the most popular packages to install packages under sudo


    Disadvantages

    the
      the
    • due to very minimalist design, hard to figure out how to begin, especially for developers who are accustomed to the classic layout of menus and tabs in Eclipse and IntelliJ.
    • the
    • the lack of full Java support, though perhaps Koding and have not positioned themselves on this side
    • the
    • lack of comfortable “deployment” on a PaaS, though there is the possibility to install utilities from providers and “deplot” command prompt.
    • the
    • in contrast to Codenvy and Cloud9, development of third party plug-ins is not provided (or the information is hidden somewhere in natrah site)


    Insights

    The project is quite interesting, but the development behind the first two characters of the review. However, impressed by the ease of VM creation and the lack of “bells and whistles”, that is, the unnecessary frills that do not carry real practical use.
    Nitrous

    https://www.nitrous.io



    Very interesting concept, since developers have the option of either the virtual machine in the cloud or virtual machine + desktop application that makes it possible to use your favorite desktop editor.

    Pros:

    the
      the
    • fast rising virtual machine. The user chooses a stack. Offers PHP, Ruby, Node.js Go, Meteor.
    • the
    • SSH access to the virtual machine
    • the
    • desktop application for Windows and Mac with which you can work with an offline editor (like Sublime) and control dev. Projects, placed in a certain directory on the local machine, automatically synchronized with the cloud.
    • the
    • convenient interface for installing packages. Simply enter the package name and click Install
    • the
    • code assistant for scripting languages


    Disadvantages:

    the
      the
    • is a little awkward interface to start the services. Of course, doing everything by hand in terminal, but still, the proposed UI is not very intuitive
    • not quite clear policy on ports. Offers preview of the applications neskolkih ports, and how to be to use non-custom, is unclear. the

    • perhaps subjective, but the design editor and workspace in General looks weird.
    • there were no solutions for deployment on the PaaS. Instead, it offers command line solutions, an independent installation packages and utilities.



    Insights

    Ambitious project, which will be interesting for PHP, Python and JavaScript developers. The desktop application is a very good solution to how to link the desktop and the cloud.

    Is Outcome of

    Criticize online IDE is possible and even necessary. More criticism — more incentive for development. And in many ways this is the most criticism and made the aforementioned IDE what they are today. Someone focused on Java and enterprise market segment someone is trying to make the lives of JavaScript, PHP and Python developers easier and more fun. In any case, the idea of coding with 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.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Integration of PostgreSQL with MS SQL Server for those who want faster and deeper

Custom database queries in MODx Revolution

Google Web Mercator: a mixed coordinate system