Cloud9: The Best Web IDE That You Should Try
If you've written code for more than seven years, you probably remember how long it used to take to set up a development environment. Sometimes, it might be stuck for two or more days — which was a very bad experience overall.
Today, we're going to talk about a web integrated development environment (IDE) named Cloud9.
Let's talk about Web IDE
WEB IDE is like putting NetBeans or Eclipse in a browser. It sounds like a crazy idea, but thanks to the power of Chrome and JavaScript, it’s possible. Nowadays, there are a lot of web IDE providers to choose from, e.g. Cloud9, Codeanywhere, Codenvy, and Koding. I've switched many times, but eventually fell in love with Cloud9.
What is Cloud9?
Cloud9 is one of many web IDE providers. It provides a first-class development experience, as you can see in the screenshot below.
Cloud9 has the IDE, command line, and browser, all in the same in tab, which increases productivity.
Now that you're curious, before you visit the Cloud9 site, you should take a look at some bird's eye view features in the list below.
Pros
1. Free project workspace:
In terms of workspace, on one side of the IDE there is 512 MB of RAM and two GB on the disk. The workspace is on Docker, Ubuntu, and VM. A public workspace means anyone can read your code and a private workspace doesn't expose your code.
2. Building Terminal with root access:
Cloud9 gives full terminal access to the 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. However, certain advanced features are inaccessible — for example, one cannot run Docker within the terminal. If the terminal is used when using the Remote SSH feature, it connects directly to the server and runs the commands on that server.
3. Provides useres with their own runtime environment
Cloud9 can connect to a dedicated VM to provide a powerful Ubuntu runtime environment in the cloud, using Docker. Apps can either be run from the run panel where a selection of runners is provided, or from a terminal.
4. Can be hosted on your 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 your own hardware, and behind a firewall, as long as it's being used for non-commercial projects.
5. Git support
Git and hg commands can be run in the command-line, the same way you do in a local terminal. There are also built-in add-on services for GitHub, BitBucket, and GitLab.
6. Capable editor
Cloud9 uses their own editor, called ACE. Besides the basics, it covers the most important advanced code editor features, such as: code folding, converting cases, auto-completion, code analysis, refactoring, and regex search, and offers easy access to relevant documentation. It also gives access to the CLI, has support for Vim and Emacs keybindings, and includes multiple cursors and a zen coding mode that removes all distractions and allows users to focus on coding.
7. Enables real-time online collaboration
An important feature of Cloud9 is the ability to collaborate in real-time. It allows users to pair programs or perform code reviews really easily, as well as simultaneously text chat.
8. Runs any language
The runner has built-in functionality for Apache, Node, Python, Ruby, Ruby on Rails, Go, CoffeeScript, Julia, Mocha, and Shell script, but you can create a runner and use any other language as well.
9. SSH Workspace
This 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 a cloud based workspace while maintaining control of your own server (including complete DNS control).
10. Debugging with breakpoints
Breakpoints allow users to specify stopping points in the application's execution. When these breakpoints are hit, the application will stop executing. This gives the user the ability to examine data, such as local variables, run commands, and control the application's execution flow.
11. Ability to clone workspace
You can clone your own workspace or public workspace for your team to view. If you're a teacher, you can sign up on a .edu plan and create an already coded workspace that your student can clone to use in one minute. It's a very awesome feature!
12. Provides users with a simple way to deploy apps
Cloud9 allows for quick deployment of 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 that all Heroku commands are available from the get-go.
13. Offline editing (Not officially supported)
By installing and running a client application that syncs to the local file system and cloud storage, Cloud9 can be run locally. It's a great alternative for situations when the Internet connection is unreliable.
14. Great documentation
Cloud9 has extensive, well-organized, documentation at docs.c9.io.
Cons
1. Expensive
For more than one private workspace, the starting price is ($19)/month.
2. Lacks a built-in Java builder and runner
While there is no built-in Java builder or runner currently, Cloud9 has provided instructions on how to set them up. Instructions can be found here.
3. You need a credit card to sign up
You need a credit card to sign up for Cloud9, which is problematic for users in countries where credit cards are not the norm. They won't bill you, however, for the free account.
4. Template is not update (you do this own)
if you start develop ruby on rails on laravel you would stuck on old version laravel 5.5 require php7 cloud9 provide php5.6 you would to googling how to upgrade php in cloud9 again
Why Trust Cloud9?
Cloud9 was acquired by Amazon Web Services and provides Open Source code for their service on GitHub.