Cloud based IDEs continue to mature, changing the software development process

There has always been talk of doing software development in the cloud, but the reality has been far from the promise. But recent improvements are changing attitudes, enticing developers to change their software development process.

Why is it that developers who design software that will be delivered through the cloud are so hesitant to actually develop using a cloud-based IDE? For many designers and programmers, the idea of tapping into cloud resources for a software development platform seems strange, but that attitude is starting to change, causing software developers and coders to change the way they approach the software development process. Developers are certainly used to having their own hardware set up to do the heavy lifting by having an IDE installed on their local machine, but there is a sea change happening, and cloud-based IDEs are gaining in popularity.

A cloud based IDE might finally free developers from hardware performance concerns.

Tyler Jewell, CEO and Founder of Codenvy

However, there are a number of organizations that are seeking to win over these holdouts and help development move to the cloud. Popular platforms such as Cloud9, Codenvy, and the Orion project at Eclipse are designed to run entirely in a browser, giving developers access to their code no matter where they are or which network-enabled device they prefer to use. The purpose of these platforms and environments is to satisfy developers' needs while tying them more closely to the platform in which they will end up deploying applications.

Why the hesitation over moving to the cloud?

Ken Walker, Orion Lead at Eclipse, admitted that not all platforms are the right fit for all developers. "I think it's the total tool package that developers expect right now. At Orion, we're focusing on scripted languages because we don't the capability to do back-end compilation at the moment. However, we are working with Pivotal on a solution to provide server side tooling for large projects." Ken mentioned that there are other browser-based platforms that currently have this type of capability, such as Codenvy that focuses on Java.

The other big issue simply has to do with familiarity. Developers tend to be very choosy about the code editors they use. Once they have a favorite IDE and all the plugins they've added to customize their workflow, it's difficult to convince them to change. Ken said the platform he is working on is serious about addressing developer concerns. Orion aims at providing client-side extensibility so that developers can write extensions to the browser IDE by using JavaScript, CSS, or HTML. This platform is also heavily focused on helping developers feel comfortable in a browser based environment.

Developing and browsing habits dovetail in cloud IDE

According to Walker, "We are leveraging the web experience with task-focused pages such as a git log. This type of page can be opened in a new tab in the browser, and then closed when it is no longer needed. It's not a single page application." With the ability to open and close tabs at will for various tasks, navigating the browser will be a lot like using the internet for everyday tasks. Of course, developers will still spend most of their time in the editor. Orion strives to provide a high level of functionality and performance with the ability to go full-screen and focus on just the code with no distractions. Content assist, syntax highlighting, and other features are extendable via the plugin model.

For developers who are used to working with Sublime Text, Vim, Grunt, and Yeoman for node.js, the goal is to create shell environments that mimic popular tool chains within a browser setting. Since Orion is free and open source, input is always appreciated and developers are at liberty to change things to suit their own preferred IDE style. 

Developers may work faster in the cloud

Tyler Jewell, CEO and Founder of Codenvy, made a case for why developers may learn to embrace cloud IDEs sooner rather than later. "Historically, people think the IDE is simply a coordinating editor on that machine. But if you broaden out that concept of the workspace, there are three things: the IDE, the build process, and the test runtime for debugging and local testing. In order to configure that workspace you have to get the IDE, the build system, and the run time. There's a download and configuration effort there. You then have to wire those things together."

The effort doesn't stop there. "After that, you have to wire the IDE into the rest of the developer's build process which can include Agile tools, a CI server, code management repository, etc. This entails handling additional plugins and configurations. Once you have all that running on the desktop, those resources are then in competition with all the apps that are on the desktop for memory and compute. Often, there's thrashing and swap issues that make the machine perform poorly. A cloud based IDE might finally free developers from hardware performance concerns."

Enterprises may get behind the push for cloud IDE

Even if developers are initially hesitant about software development platforms based in the cloud, the potential increase in control may be too tempting for businesses to ignore. Jewell pointed out that replicating an IDE across devices can pose a license and compliance issue for large teams in which each developer may have two or more devices. For highly distributed teams, including those with an offshore component, using a VPN solution to gain access to a code base can be slow and painful. After code is checked out, the organization can't easily track what's happening with it. A cloud-based solution resolves all of these issues. In the end, distributing the IDE into the cloud actually centralizes control.

What are your experiences like using a cloud-based IDE? Let us know.

Dig Deeper on Software development best practices and processes

App Architecture
Software Quality
Cloud Computing