During the last years we have seen how many services have moved from local environments to the cloud. Cloud based services are used more than ever and the number of services than can be reach with an Internet connection and a browser still keeps growing. IDEs (Integrated Development Environment) aren’t an exception and have evolved to offer not only the same services as traditional ones but also new features that couldn’t be possible using Desktop based software.
What is a Cloud IDE and what can it do for you
First of all, don’t think that I’m going to tell you that you should stop using Eclipse, Netbeans or whatever IDE that your are using. These tools are great and a really good choice for developing all kind of projects. What I really want is to show you what Cloud IDEs (aka Web IDE or WIDE) can do for you and why you should definitely consider using them in some scenarios.
“A Web IDE is a browser based IDE that allows for software development or web development. A web IDE can be accessed from a web browser, such as Google Chrome or Internet Explorer, allowing for a portable work environment.” – Wikipedia
What Wikipedia is trying to explain you is that you can have your IDE accessible from anywhere with an Internet connection and a browser and without having to install any software and its dependencies. Not having to install software and dependencies is specially important when you develop multiple projects using different programming languages and setting up environments becomes painful and time consuming task.
They also come with other advantages like not requiring powerful PCs to run a server locally, developing from any OS or the possibility of sharing and using the workspace simultaneously with other teammates.
Different kind of Online IDEs for different needs
As it happens when you start developing a project in your local machine, there is not always the need to use a complete IDE that also contains a compiler, debugger or embedded server. Sometimes we only need a code editor to get our work done, and this is what also happens with Web IDEs: you have to find the one that suits you and makes the development process more agile.
Light code editors
Fully functional IDEs
On the other hand, fully functional Web IDEs have made a huge progress and have been adopted by lot of companies. They offer everything that you can imagine:
- Code completion for snippets and identifiers
- Real-time language analysis
- Built-in terminal, with npm and basic Unix commands
- Customizable key-bindings, including presets for Vim, Emacs, and Sublime Text
- Support for code repositories liek GitHub, BitBucket, Mercurial, Git repositories, …
- Support for deployment to 3rd party servers: Heroku, Google App Engine, Windows Azure, OpenShift,…
Best Web IDEs available
There is big hype around Web IDEs and it may not be easy to make the right choice. This is the reason why I have made the following list with the Cloud IDEs I have been using for a while and I can recommend them.
Light Code Editors
Fully functional Web IDEs
In my opinion there are some scenarios where a Web IDE is a perfect fit. If you answer YES to any of the following questions (and you have a good Internet connection), I would recommend you trying one of the Cloud IDEs listed above:
- Do you need to access your development environment from anywhere?
- Do you want to show and share your developments code results with other people?
- Do you develop projects using multiple programming languages (and waste lot of time setting up software, libraries and environments)?
- Do you need real-time collaboration with your team?
- Do you program as a hobby and want to focus on coding and easy deployment?
In my experience Web IDEs have been a good choice for these use cases. Desktop IDEs are also a great solution for almost everything, but it is also true that the may require more effort setting up environments and a harder learning curve.
I encourage you to try at least one of the light code editors mentioned in this article. I personally like CodePen, as it can be considered as an online community for showcasing your work and discovering amazing stuff built by other developers.