BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Web-based IDEs to become mainstream?

Web-based IDEs to become mainstream?

Leia em Português

This item in japanese

Bookmarks

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:

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?

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Now here is something...

    by Lars Tackmann,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    This I like; as a consultant I can testify to the huge amount of time needed to set up development environments, It is not unusual to first be online after 8-10 days of fighting the sys-admins for access rights, finding the right install docs, fiddling with classpath, dll's...

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I think the breathless faux-humility coming from these Mozilla devs is going to turn to shame once they realize their corporate Google & Mozilla masters are planning to have them show up to work at a dumb-terminal soon.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    What about Eclipse Rich Ajax Platform? www.eclipse.org/rap/

  • Re: Eclipse Rich Ajax Platform

    by Laurentiu Ciovica,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi all,

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.


    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi Mr. Ian Skerrett,

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    For me is hard to realize that web based IDE will become mainstream expecially developed country like Indonesia with have difficulty in limited bandwidth. At least 5 years from now. Only some company are lucky with broadband connection can use that.

  • Nothing new .... AltioLive is all about web based

    by Gary Thompson,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I don't believe a web based IDE should focus upon hard core developers. There is a community that build Excel and MS-Access solution in a adhoc manner with little software engineering discipline. As a development community we should be engineering the widgets that these power users can make use of. The power users create their business systems online and deploy them online, without the need to understand source control and testing methodologies other than user acceptance testing. Source control should be implied (handled by the environment), and testing should be achieved at the widget level by the engineering team.


    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.

  • Online IDE

    by ivan php,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Dear sir,


    You forgot the one of the best online IDEs - PHPanywhere.net



    Cheers

  • Re: Online IDE

    by Josh Pratt,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    HI. I am very interested in an online or internet based IDE. I have found a few but most cannot handle the knids of things I am interested in or are not in the languages I want to use. I am looking for a IDE for Java Processing or for Python.

    Any ideas?

  • Re: Eclipse Rich Ajax Platform

    by Vijay Allagi,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hello Laurentiu,
    I want to know more about the Web-IDE.I am trying make a static Test tool to webb based tool.So please send me deatails of it.
    Regards,
    Vijay
    yavijhere_03@yahoo.co.in

  • Hyper IDE

    by Thomas Hansen,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    [shameless-plug]
    I've created one which is called Hyper IDE, you can check it out here - github.com/polterguy/hyper-ide

    It's open sauce ...
    [/shameless-plug]

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT