Seleccionar página

Web IDE: when and why you should use them

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

These type of Cloud IDEs are normally (but not only) focused on front-end web development using mainly HTML, CSS and JavaScript programming languages. The aim of this coding solutions is to offer a fast and agile development environment, similar to well known code editors like Atom or Sublime. They normally offer usefull features like syntax highlighting, agile library import, fast and automatic preview of the work you do and sharing facilities (embedding the code and result on other websites, code discovering with social network features, etc).

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:

  • Support for different programming languages: C#, C/C++, Clojure, CoffeeScript, ColdFusion, CSS, Groovy, Java, JavaScript, LaTeX, Lua, Markdown, OCaml, PHP, Perl, PowerShell, Python, Ruby, Scala, SCSS, SQL, Textile, X(HTML), XML
  • 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

codepen

 

jsfiddle

 

jsbin

 

Fully functional Web IDEs

c9

codenvy

codeanywhere

Conclusion

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.

What’s next

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.

Enjoy!