With everything moving to the Cloud these days, it was only a matter of time before our clunky desktop-based development environments followed suit. Many web-based options are now emerging that offer hosted software environments to developers for minimal or no charge. Until recently, developers have been restricted to highly customized desktop environments that are time consuming to setup and often behave erratically across different operating systems. These archaic IDEs impede productivity by wasting precious development time on software/OS troubleshooting while losing autonomy to software licensing that restrict the software to a handful of systems in the office.
What's the catch?
There are some decent desktop-based IDEs still out there, but none that offer the flexibility of a cloud IDE. If we can reap all the benefits of a fast development environment without worrying about setup, maintenance, and support then why isn't everyone ditching their desktop IDEs right now? Well, it seems few developers can find a valid argument for not at least giving cloud IDEs a try.
Many cloud IDEs provide connections to hosting platforms to deploy projects without installing SDKs. Sites that use these hosting options (such as Amazon's Elastic Beanstalk, AppFog, CloudBees, or Google Apps Engine) can immediately start deploying to development and production sites. With ties to your git repositories, your entire development process can now be ungrounded. This ease and practicality also brings security concerns.
How secure are cloud IDEs?
Almost every cloud IDE operates through SSL. Making sure that your code is not visible to the world through your repository is also key. There isn't much added security risk of developing in the cloud, however, some developers may be bound to a contract that prohibits this type of development. All-in-all, security is not a factor in cloud based development where code already lives offline.
How does the stability of a cloud IDE hold up?
The amount of code necessary to emulate an IDE is massive. There are still many issues with lag as the IDE communicates with the cloud to retrieve your file contents or deployment settings. Also, with browsers still at war with each other you may find your favorite browser may have some unsettling bugs that still need to be worked out. With browsers changing faster than operating systems, this will be something cloud IDE developers will need to stay on top off.
A paradigm shift often makes veteran programmers a little wary, but there is little to hate about some of the cloud-based IDEs currently out there. With barely any overhead, you can set up a project environment for every developer on your team as well as on every system those developers will be working on. By following some security safeguards programmers can confidently adopt cloud IDEs, but it will be a few years before they can compete with some of the more robust desktop IDEs.