Many developers have a Charlton Heston view of their IDE: the only way you’ll get it is from their cold, dead hands. But behind every IDE is a setup process, a learning curve, and an installation. Web-based IDEs do away with much of the overhead associated with installing an IDE, but are they mature enough to replace desktop-based IDEs?
Benjamin Mestrallet, CEO of eXo Platform, believes the time is here for the Web-based IDE. His company has been producing a portal and content-management platform for enterprises, but last winter, eXo Platform launched a free multi-language IDE called www.cloud-ide.com. He said that this development environment was tailor-made for the cloud and offers support for Java, among other languages.
“We support code completion and syntax highlighting, debugging and building in the cloud,” said Mestrallet. “We are the only one that does typed and non-interpreted languages, so far. We also support deployment to four different [cloud platforms] for deployment: CloudBees, Cloud Foundry, Heroku and OpenShift.”
eXo Platform’s goal is to use its Web-based IDE to bring developers to its platform, said Mestrallet. “It will remain a free service. We’re not going to monetize it,” he said.
“We are about to launch new cloud services and those will integrate with Cloud-IDE. Its goal is to give developers the best tools possible to deploy applications to the cloud, and part of those developers will be interested in building eXo applications at some point and use our platform.”
That’s a bit different from the approach of appMobi, according to the company’s CTO, chairman and founder, Sam Abadir. While appMobi focuses on offering development tools for smartphone developers, its Web-based IDE supports browser-based device emulation.
That means developers who are building an iPad application can, with a few mouse clicks, see how it would work on an iPad in their browser.
“We emulate how things will show up on an iPad, on HTC devices, on Droids of different sizes, on Samsung tablets and its Galaxy line of phones,” said Abadir. “We emulate hardware functionality, like the camera or accelerometer in a way no other desktop environment does. If you’re using Apple’s tools to build a native application, you couldn’t tilt that in the emulator. We can do that in our SDK or in our Web-based IDE. We can emulate someone taking a picture or QR code-scanning.”
Tool integration on the Web
Orion is currently slated to be included in Firefox 10 as part of the recently released Scratchpad feature for the browser, according to Gavin Sharp, a Firefox engineer. That version of the open-source Web browser should arrive in February 2012.
Thus, Web-based IDEs may grow into the many niche and unique cases that are left out of traditional desktop-based IDEs. Sharp said that “Orion is really handy for the Scratchpad feature. The Scratchpad is a very simple editor. It’s not a full-blown IDE. You develop stuff quickly in a pop-up window, and Orion fits in well with that. It’s simple and offers some really nice functionality.”
Mike Milinkovich, executive director of the Eclipse Foundation, said that Orion has been moving forward at a fast pace, and that Mozilla’s contributions to the project have been most welcome. He said that while Orion is not built for the desktop like Eclipse, it is still evolving in much the same way Eclipse did. The next release of Orion was due to arrive in November.
Milinkovich said there’s a lot of focus “around improving integration and the server-side aspects of Orion. We’re coming from the Eclipse view of the success we’ve had with plug-ins and having an extensible platform; that’s a big part of what we want to do with Orion as well.”
He added that for this new release, the development team has “done more work around the extension model and allowing cross-site authentication. In the Web world, it’s not like Eclipse where all plug-ins are on your desktop. In the Web context, plug-ins are effectively links to services on other servers. When you get into that kind of context, you struggle with what sites you are authenticating with. How do you prevent a developer from logging into every site individually?”