Web-based IDEs to become mainstream?
Last week Mozilla released Bespin, their web-based framework for code editing and only a few days later Boris Bokowski and Simon Kaegi implemented an Eclipse-based Bespin server using headless Eclipse plug-ins. With the presentation of the web-based Eclipse workbench at EclipseCon and the release of products like Heroku, the a web-based IDE and hosting environment for RoR apps it seems that web-based IDEs might soon become mainstream.
With Bespin Mozilla aims to deliver an open, extensible, web-based framework for code editing that tries to increase developer productivity, enable compelling user experiences, and promote the use of open standards:
Based upon discussions with hundreds of developers, and our own experience developing for the Open Web, we’ve come up with a proposed set of features along with some high-level goals:
- Ease of Use - the editor experience should not be intimidating and should facilitate quickly getting straight into the code
- Real-time Collaboration - sharing live coding sessions with colleagues should be easy and collaboratively coding with one or more partners should Just Work
- Integrated Command-Line - tools like vi and Emacs have demonstrated the power of integrating command-lines into editors; Bespin needs one, too
- Extensible and Self-Hosted - the interface and capabilities of Bespin should be highly extensible and easily accessible to users through Ubiquity-like commands or via the plug-in API
- Wicked Fast - the editor is just a toy unless it stays smooth and responsive editing files of very large sizes
- Accessible from Anywhere - the code editor should work from anywhere, and from any device, using any modern standards-compliant browse
The current release of Bespin is 0.1 and it is an initial prototype that includes support for basic editing features, such as syntax highlighting, large file sizes, undo/redo, previewing files in the browser, importing/exporting projects, etc.
For more information on Bespin you can try the demo or see the source code.
Only a few days after the release of Bespin Boris Bokowski and Simon Kaegi implemented an Eclipse-based Bespin server using Eclipse components:
We looked at Bespin and asked, wouldn't it be great if Eclipse could play in this space too? Wouldn't it be cool if we could implement a Bespin server using Eclipse plug-ins that already exist?
Well... that Eclipse-based Bespin server is available now, after two days of development!
Simon Kaegi and I locked ourselves into a room and just implemented it. Today, we are declaring success, and are sharing the code as part of the e4 project with anyone interested. If you would like to give it a spin, check out this wiki page.
The Eclipse IDE, as you know it, is an OSGi-based application, and is built entirely out of components (called plug-ins or bundles). Many of these components can run headless, on a server, such as the underlying resource model, the incremental Java compiler, etc. Using the headless components, it was very easy to implement the Bespin client-server API. Like Mozilla's Bespin server, our server supports browsing files and folders, and editing files. In addition to that, we implemented extra features such as showing compile errors and warnings, and checking out projects from CVS servers using anonymous CVS.
This project is an ongoing work within the e4 community effort, for building the next generation of the Eclipse Platform and provides an experimental implementation of Bespin's client-server API.
One more product that follows this paradigm is Heroku , a web-based IDE and hosting environment for Ruby on Rails applications which has features like:
- Instant Deployment
- Online Editing
- Git support
- Easy collaboration
- Fully Integrated Stack
- Elastic Performance
- Rails Console
- Command-Line Collaboration
- and more
It seems Heroku has made a very good first impression to Eclipse committer Elias Volanakis and has made him wonder about similar efforts in the Java space:
After all if the app has to be on the web and source == binary (Ruby is interpreted), why not put the IDE on the web too? Having the tools, the code and the runtime environment on-line makes several things easier:
- Start working in a snap: Instant access to the source code from anywhere. No need to set-up an IDE. No need to set-up a local Ruby on Rails environment. No need to check out any code. Your data is there.
- Instant collaboration: create a developer account. Send link to log-in page to developer. Start collaborating. (I hope it will support collaborative editing).
- Deployment of the app is trivial. No need to find and configure a suitable server.
- The "hosted-everything" aspect could make a great "source-forge-with-hosting" combo. Imagine finding a good web-application and just having to click on "deploy and run this on my account" for giving it a test drive.
This seems to be an excellent fit for Ruby and I'm looking forward to giving it a test-drive
Now, how does it apply to Java web-apps?
Another interesting project in this space is codepad, which is an online compiler/interpreter, and a simple collaboration tool:
codepad.org is an online compiler/interpreter, and a simple collaboration tool. It's a pastebin that executes code for you. You paste your code, and codepad runs it and gives you a short URL you can use to share it. Paste the URL into chat or email to get help or to show someone how to do something. Or just try things out when you don't have an interpreter handy. It works well on many phones.
There are more web-based IDEs with various degrees of maturity and breadth of features like:
- notepad: Based on the CodeTextArea widget
- WaveMaker: Also comes in a cloud-ready edition
- CodeIDE: Is intended for novice and intermediate
- Aurora SDK: Uses GWT
- WWWorkspace: Another Java IDE built on top of Eclipse
- and more
With all those new projects surfacing what do you think, are we going to see web-based IDEs becoming the norm in the near future?
Now here is something...
by
Lars Tackmann
Now if someone would make a decent webbased IDE (Jetbrains...) with Java, SQL and UML support, coupled with online GIT and/or Subversion hosting (Google code, GIThub) and throw in the ability to deploy on Amazon EC2 instances (i.e. predefined instances with GlassFish, Tomcat, PostgreSQL, Oracle...) then I would sure be a happy customer.
Of cause to gain any enterprise customers it would need the ability to run offline, and to be hosted internally (i.e. be some sort of self contained webapp) and ideally integrate with existing virtual environments (XEN, VMWare) and project management tools (JIRA, MS Project...).
Re: Now here is something...
by
Thai Dang Vu
Now if someone would make a decent webbased IDE (Jetbrains...) with Java, SQL and UML support, coupled with online GIT and/or Subversion hosting (Google code, GIThub) and throw in the ability to deploy on Amazon EC2 instances
I like your idea :) I think I have to wait for about 4-5 years.
Programmers on thin clients? You're not going to like that very much
by
gcom nz
Oh, they won't do that because you're too important and need to work from home? No problem, you'll get a nice $100 all-in-one terminal at home too, complete with tamper-free case and secure line to the office.
Seriously people, think about what you're making here and promoting. It's the ultimate homogenization. It's only good for your corporate masters. *sigh* programmers are so stoopid. And unethical. This is as shameful as working on military technology.
Eclipse Rich Ajax Platform
by
Alan Moraes
Re: Eclipse Rich Ajax Platform
by
Laurentiu Ciovica
Last year for the WSEAS International Conferences i wrote an article called "Web-IDE" where I've presented my idea of an web based IDE for Java or other programming languages.
My idea starts from the Java slogan "Write once, run anywhere" becoming "write once, write anywhere, run anywhere" the Web-IDE slogan.
The main target of the project is to build a web based Java integrated development environment with full capabilities in editing and compiling java code and not only.
The initial and current approach for the project were to build it upon the Eclipse RAP technology having as back-end an strong and mature application server.
If anyone is interested please mail me and i will send the whole article.
All the best,
Laurentiu
Re: Eclipse Rich Ajax Platform
by
Ian Skerrett
If anyone is interested please mail me and i will send the whole article.
I am interested but how do I e-mail you?
Re: Eclipse Rich Ajax Platform
by
Laurentiu Ciovica
You can find more information about me here:
www.linkedin.com/in/laurentiuciovica
csourcezone.blogspot.com/
I will wait for your reply.
Thank you,
Laurentiu
hard to realize
by
Nicko SU
Nothing new .... AltioLive is all about web based
by
Gary Thompson
The aim of AltioLive is to provide an environment that enables business people to build RIA applications, leaving software developers to create the UI widgets and write the required server side integration logic.
AltioLive since 1999 has provided a web based environment for creating RIA applications. It is not a full blown IDE where you cut code, compile and test but does set the standards for web based design tools. The reasons for the AltioLive web based IDE was discussed in a previous blog post "Why does AltioLive have its own IDE?"
With the current economic climate tools that enable business end users to work with the softwarwe development team to achieve solutions cheaper and quicker is the priority.
Re: Online IDE
by
Josh Pratt
Any ideas?
Educational Content
Writing Usable APIs in Practice
Giovanni Asproni May 19, 2013
Concurrency in Clojure
Stuart Halloway May 17, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think