Until recently, serious developers might not have considered cloud-based integrated development environments (IDEs). But improvements in the underlying technology promise to make cloud-based IDEs a serious contender for many development shops. "Cloud IDEs are the future for my kids and the future for the enterprise, because people just don't have hours to set stuff up anymore," said Lynn Langit, an independent cloud architect and founder of Teaching Kids Programming.
Langit started working with Codenvy, a cloud-based IDE, about a year ago. She was interested in its potential for her enterprise architecture consultancy. "As an architect I don't have to set up my environment for the client. I can just make a Codenvy project and share it with them."
The cloud workspace becomes polished
She found Codenvy to be a little unpolished when she started, but it was incredibly responsive to her feedback about the need for better database integration capabilities. This made using a cloud-based IDE tenable and highly productive for building enterprise apps.
One of the biggest challenges to leveraging cloud-based IDEs has been the potential for latency to slow down development speed. Programmers benefit from the real-time feedback provided by features like IntelliSense that automatically color codes as it's typed. This makes it easier to find problems immediately. Improvements in the browser implementations are making this less of an issue by caching more of the appropriate IntelliSense logic and user experience elements in the browser itself. "I can't tell the difference with a desktop editor," Langit said.
But Codenvy still has limitations when compared with native IDEs like Eclipse. Codenvy has no refactoring yet, Langit said. On the other hand, it contains many of the features developers require, like build and run and debugging.
Quicker setup and better collaboration
Langit also decided to leverage Codenvy for building a browser-based IDE and workflow for a high school curriculum for kids. This was important because the computers the students were using could not easily install the native software. Having a browser-based IDE also made it easier to preconfigure the programming environment so that kids could immediately start coding.
Cloud IDEs are the future for my kids and the future for the enterprise.
founder, Teaching Kids Programming
A browser-based IDE also makes it easier for developers to switch between workspaces when working on different open source projects, said Tyler Jewell, CEO of Codenvy. Developers can just fire up a new preconfigured environment to get the ball rolling, he said. "The configuration lifecycle of developers is so pervasive that some people report they spend half their time dealing with this stuff, and only half their time coding."
Langit believes that a cloud-based IDE also makes it easier to scale and enables larger teams to leverage the same environment. Development can slow down when large teams of people are hitting the same local database. But cloud databases can automatically scale as required. "Cloud IDEs make developers more productive because they are not waiting around for stuff," she said.
Cloud-based IDEs also make it easier to enable collaborative development practices. Preconfigured GitHub workflows ensure the team is working on the right branch. In addition, real-time communications between developer workspaces make it simpler to implement agile methodologies and pair programming development practices.
New projects drive cloud-based IDEs
The Eclipse Foundation open source community is working to bring standardization and harmonization to cloud-based IDEs, Ian Skerrett, marketing director for the Eclipse Foundation, said. Codenvy is bringing 95% of its functionality to the Che project. It is like a Java-based compiler in the cloud, he said. Che lets organizations set up workspaces based on a common set of things people need.
The Flux project is working on a framework for allowing developers to move between machines whether they are using a Web-based IDE or a desktop IDE. "It is like a Dropbox for developers where the workspaces get moved around using Flux," Skerrett said.
Cloud-based IDEs continue to mature
Web-based development tools face challenges