Gone are the days when programmers worked independently, and further, exclusively on their local machines. Today, 'Net developers regularly use Web-based integrated development environments, or IDEs. For many, that is a big step up for obvious reasons.
An IDE is essentially a programming environment that has been packaged as an application, and will typically consist of a code editor, a compiler (a program that processes statements written in a particular language and turns them into machine language or "code"), a debugger (a program that assists in the detection and correction of errors in programs) and a graphical user interface.
Many of the most popular IDEs today are cloud based (i.e., able to be accessed from anywhere in the world and from any device), making them appealing to programmers and development teams that need to collaborate on projects (even though they are not in the same physical location) using the exact same setup.
There are some drawbacks to online (cloud) IDEs; primarily, they are dependent on an Internet connection. If there is an Internet outage, they become unreliable if not worthless. And while these environments can be set up quickly to test and preview projects, just because an IDE is Web-based does not make it a host (so projects often cannot be stored in the cloud and there are sharing limits).
Let's take a look at a few of the most popular cloud integrated development environments and some of their best features:
Codenvy: Perhaps the most popular cloud IDE, Codenvy is often recommended based on its ability to create workspaces with production runtimes with great ease. Users can define single machine or multi-machine workspaces and even mirror their production environment. These workspaces can also be managed at scale with programmable and customizable infrastructure that makes it possible to control system performance, availability and functionality. Codenvy's onboarding and collaboration features, such as the ability to share workspaces with users on any operating system (OS) and control workspace permissions are also highly appealing capabilities.
Cloud9: Ideal for Linux users who need a software development tool fully integrated with Ubuntu, the offering combines a powerful online code editor with a full Ubuntu workspace in the cloud. The Cloud9 IDE can be connected to a virtual machine via SSH and can even clone the entire environment. The workspaces provide developers with immense control over the environment, including sudo rights (which allow users to run programs with security privileges of another user). Programmers can do a git push, compile SASS, see server output, and Run apps with the built-in Terminal and Runners.
Codeanywhere: Another popular IDE among programmers, Codeanywhere is a powerful solution offering an intuitive editor, the ability to edit code remotely (in multiple ways including FTP, Dropbox, Google Drive and others), and useful collaboration features to share code and develop projects in tandem with another programmer (live pair programming). Codeanywhere's revision features are also worthy of note, providing a practical differential feature that makes it possible for developers to see differences between revisions and revert back to previous code states.
Cloud-based integrated development environments may not be right for every programmer or development team, but they do provide access to some highly sought-after capabilities and are today positioned to be the future of how applications are built. While Codenvy, Cloud9 and Codeanywhere are popular and powerful solutions, they are far from the only options available.