When comparing AWS Cloud 9 vs Codenvy, the Slant community recommends AWS Cloud 9 for most people. In the question“What are the best JavaScript IDEs or editors?” AWS Cloud 9 is ranked 13th while Codenvy is ranked 18th. The most important reason people chose AWS Cloud 9 is:
Cloud9 gives full terminal access to home directory. In their hosted Linux Ubuntu environment it has sudo powers. No UNIX commands have been blocked - npm, ifconfig, chmod, chown, tar, etc work. All commands can be accessed and any package can be installed. And if the terminal is used when using Remote SSH feature it connects directly to the server and runs the commands on that server.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Full terminal access
Cloud9 gives full terminal access to home directory. In their hosted Linux Ubuntu environment it has sudo powers. No UNIX commands have been blocked - npm, ifconfig, chmod, chown, tar, etc work. All commands can be accessed and any package can be installed.
And if the terminal is used when using Remote SSH feature it connects directly to the server and runs the commands on that server.
Pro Capable editor
Cloud9 uses their own editor called ACE. Besides the basics, it covers most important advanced code editor features such as code folding, converting cases, auto-completion, code analysis and refactoring, regex search and offers easy access to relevant documentation.
It also gives access to the CLI, has support for Vim and Emacs keybindings, includes multiple cursors and zen coding mode that removes all distractions and allows focusing on code.
Pro Great documentation
Cloud9 has extensive, well-organized documentation at docs.c9.io.
Pro Enables real-time online collaboration
An important feature of Cloud9 is the real-time collaboration ability. It allows pairing programs or perform code reviews really easily as well as simultaneously text chat.
Pro Integrates with AWS
Prior to being part of the AWS Toolchain, AWS integrates deeply with CodeStar and AWS Lambda, allowing you to build serverless architechtures.
Pro Offline editing
By installing and running a client application that syncs the local file system and cloud storage Cloud9 can be run locally. Great alternative for situations when the Internet connection is unreliable.
Pro Can be hosted on own server
Since Cloud9 is an open source project with source code available on GitHub, it can be run as a self-hosted solution on own hardware and behind a firewall.
Pro Git & Mercurial support
Git and hg commands can be run in the command-line, the same way as in a local terminal. There are also built-in add-on services for GitHub, BitBucket and GitLab.
Pro Runs any language
The runner has built-in functionality fo Apache, Node, Python, Ruby, Ruby on Rails, Go, CoffeeScript, Julia, Mocha and Shell script, but any other language can be used by creating a runner for it.
Pro Desktop application is available
Prior to the Cloud9 core source code being released, an Alpha version of a desktop version can be built from the source which is based from NW.js. Instructions can be found here.
Pro SSH Workspace
Allows you to connect directly to your external server via SSH. Modifying files directly on your server using a cloud based editor allows you to have the portability of the a cloud based workspace with the control of your own server (including complete DNS control).
Pro Debugging with breakpoints for NodeJS server side JavaScript
Breakpoints allow specifying a stopping points in the execution of the application. When these breakpoints are hit, the application will stop executing and give the ability to examine data such as local variables, run commands and control the execution flow of the application.
Pro Ability to clone multiple repos in one project
Cloud9 provides one free private workspace. However, I can host multiple projects there by cloning as many repositories into the root project directory, thanks to the full access terminal.
Pro Package manager
Similar to package managers for the desktop, Cloud9 also includes their own package manager, c9pm, which allows adding new software from a list of available utilities.
Apt-get can be used in the project's workspace terminal to install/update/upgrade software. Composer, Bower or any other utilities of choice can be installed to manage dependencies and packages.
Pro Provides with a simple way to deploy apps
Cloud9 allows quickly deploying apps via CLI. There are instructions on how to deploy to Azure, CloudFoundry, OpenShift, NodeJitsu, Modulus and Heroku. For example, all hosted environments have Heroku's toolbelt installed by default so all heroku commands are available from the get-go.
Pro Provides with own runtime environment
Cloud9 can connect to a dedicated VM to provide a powerful Ubuntu runtime environment in the cloud using Docker. Apps can be either run from the run panel where a selection of runners is provided or from a terminal.
Pro Support for most databases
In addition to launching a server to run code, Cloud9 will also host a database to develop against. Support for MySQL, PostgreSQL, MongoDB and SQLite.
Pro Browser testing support
Cloud9 integrates with Sauce Labs a browser testing suite that allows previewing the app in any desktop or mobile browser.
Pro Provides with a simple way to deploy apps
Cloud9 allows quickly deploying apps via CLI. There are instructions on how to deploy to Azure, CloudFoundry, OpenShift, NodeJitsu, Modulus and Heroku. For example, all hosted environments have Heroku's toolbelt installed by default so all heroku commands are available from the get-go.
Pro Easy setup
Once an account is set up and the user has logged in, all that's needed to start is to pick a language, a framework and a PaaS. Codenvy also allows anonymous logins albeit with some important limitations.
Pro Powerful editor
Codenvy has a fast, secure browser-based editor that supports syntax highlighting, code completion, refactoring and more. It can be used to edit, build, run and debug projects. It even has multi-cursor support.
The layout will be familiar to most developer, especially those experienced with Eclipse, with a file explorer on the left, code on the right and tabs for builders, runners, terminal and events at the bottom.
Pro Beginner-friendly
It allows going to any box and pick up a project and work on it.
Pro Git support
Codenvy supports all Git commands through UI and Codenvy CLI.
Codenvy also integrates well with all major Git hosting providers including GitHub, BitBucket, GitLab. Sign up, sign in, repo cloning, uploading SSH keys are supported. Tutorials for integrating various providers can be found here.
Pro Partly open source
Codenvy is a full multi-user, multi-account, multi-tenant implementation of [Eclipse Che](https://github.com/eclipse/che/_ which is open source but only single-user/account/tenant. Codenvy open source projects can be viewed on GitHub.
Pro Self-hostable (priced)
Codenvy has an on-premises solution that allows running it on own hardware and behind a firewall. The service costs $300/user/year.
Pro Nice interface
Look and usability of Codenvy IDE are nice and pleasant.
Pro Easy projects sharing
Projects are share by sharing the link (public projects), adding access rights (private and public projects) and factory.
Factory allows to share projects along with build/run settings. To try run/review project recipient just need an URL. Factory also works with external git repositories so it allows share github/bitbucket/other git hosting projects. Recipient doesn't have to be registered. It also allows giving out a share button that activates the factory and counts how many times it is used.
Pro Portable workspaces
You can send someone a short JSON file and your whole workspace (projects, config and runtime) can be replicated for them in a separate container. Great for coordinating among team members.
Pro On-demand, instant-access, real-time collaborative IDEs
Codenvy "Factory" feature enables developers to create temporary IDE workspaces with full code, build, test, deploy, and collaboration functionality that can be shared with a URL. Multiple people can work in the same workspace making code reviews and teaching simpler and faster. And there's no limit to collaborators.
Factories also work with external git repositories and can be shared with not registered users of Codenvy. It also allows counting how much a factory is used.
Pro Has a fully functional free tier
Codenvy provides a fully functional free tier with 3 GB of RAM and unlimited workspaces, free and public projects and developers. Premium subscription start at $1/month and offers machines with up to 200GB of RAM. Codenvy also offers an on-premises solution that costs $300/user/year.
Pro Fantastic Java support
All Java builders, syntax highlighting, class navigator, jump to package and declaration, and JavaDoc are present in Codenvy.
Pro Can provide a custom runtime environment
Codenvy can provide a runtime environment to test and debug code. This can also be used to share work progress with a client.
Codenvy uses Docker as the runtime application and gives access to Dockerfiles allowing any environment that runs on Linux to be built. This allows using any database, reverse proxy or builder, etc. Codenvy even provides SSH access to running container in every image.
There's also a selection of pre-built environments to speed up the development.
Pro Install anywhere Docker runs
You can install Codenvy on any OS that has Docker running on it. The simple install syntax can work through proxies and even offline.
You can use this for proxy install:
https://codenvy.com/docs/admin-guide/installation/index.html#proxy-installation
You can use this for offline install:
https://codenvy.com/docs/admin-guide/installation/index.html#offline-installation
Pro Provides a terminal with root access
Codenvy offers a terminal with full root access into the machine. Since machines can be defined with Dockerfiles this gives the ability to create any custom environment for building, running or debuging and all the access that's needed to use it as a local machine.
Pro Complete build lifecycle
The IDE allows validating, compiling, testing, packaging and deploying.
Pro Integrates with a wide variety of tools
Codenvy offers first class support for code management, continuous integration, PaaS, and project management tools.
Pro Automation of contribution to GitHub projects
Codenvy provides contribution button that can be placed in Readme.md file on GitHub. It automates contribution to the Github's projects. User clicks this button and it opens a ready to run/edit version of the project in Codenvy. If a user makes changes, Codenvy takes care of everything needed for the contribution on GitHub.
- fork of the origin project on github
- add ssh keys to push to github
- commit
- push
- create pull request in the origin project
- create factory url for review of this pull
- post this factory in pull request.
Then project's owner can use posted link to code review/run project with changes.
Pro Badge to start developing in one click
You can create a .codenvy.json
containing the Factory configuration which includes what binaries to install and how to set up the IDE, may be even start the development server. Then create a badge and put it on your GitHub repository and people can start coding and may be compile and run your server with one click.
Pro Lots of built-in templates
Pro Can be used for Android development
Can be used for android development by adding Eclipse plugin.
Pro Custom build system support
Codenvy allows setting up any build system via Dockerfile. Instructions on how to do it can be found here.
Pro Has Eclipse plugin
Codenvy can be plugged into Eclipse offering choice between online and offline builds. Plugin can be found here.
Pro Developer workspace replicas
Codenvy can create a recipe for a developer workspace that includes the build and run environment configuration plus all the IDE plug-ins, syntax rules, policies and other items. Then version and store that with the code in a repository. Makes it impossible to get a code change that doesn't build and run.
Pro Quick support from staff
Pro One-click automation
Pro SSH Access
Can connect to the workspace via SSH for use with desktop editors.
Pro Provides Java debugger
Pro Includes Subversion support
Codenvy includes full subversion version control support.
Cons
Con Lacks subdomain options
Building an app that needs subdomains is impossible.
Con Free plan asks for credit card details
Free plan requires you to provide a credit card due to the nature of Cloud 9's "Free Workspaces" to be relatively abused. According to the developers, this is the only way to prevent such.
Con Part of Amazon Web Services
While the c9.io site is still up and running, Cloud9 is exclusive for AWS Customers only, and you pay the AWS Compute pricing when you use Cloud9.
Con Lacks a built-in Java builder and runner
While there is no built-in Java builder or runner currently, C9 has provided instructions on how to set them up. Instructions can be found here.
Con Does not accept New Registrants on c9.io Anymore
As being acquired by Amazon Web Services as part of AWS Cloud9, the c9.io service won't accept new sign ups.
Con Terminal will not work on Windows (Cloud9 SDK)
The terminal package does not work on the Cloud 9 SDK in Windows because it cannot find an appropriate unix shell. This might be a recurring bug undergoing fixes.
Con No custom keyboard shortcuts
No possibility to create custom keyboard shortcuts.
Con No SSH, FTP mode
For example, "Code everywhere" allows using SSH, FTP as base of project. In Codenvy it's possible only through VM.
Con No Collaborative editing
At the moment, Codenvy does not have real-time collaborative-editing. But this is on roadmap, and would be implemented soon.
Con Lacks two-factor authentication
Con Slow installation by default
Trying to install with "npm install" and the server restarts before the installation. However, you can circumvent this by using npm install --no-bin-links
.