Forgot your password?
typodupeerror
Programming

Web-based IDEs Edge Closer To the Mainstream 244

Posted by timothy
from the hope-your-connection-is-reliable dept.
snitch writes "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, a web-based IDE and hosting environment for RoR apps, it seems that web-based IDEs might soon become mainstream."
This discussion has been archived. No new comments can be posted.

Web-based IDEs Edge Closer To the Mainstream

Comments Filter:
  • by BadAnalogyGuy (945258) <BadAnalogyGuy@gmail.com> on Thursday February 19, 2009 @11:06AM (#26916597)

    I had this great idea for a product. It would clean the soil in your yard. The soil itself would be clean soil after using the product. In other words, even if you rolled around in it and got the soil all over you, you would still be clean.

    Strangely, it was a solution to a problem that no one had. It figures that I shouldn't get my product ideas from Bill & Ted

  • Why not? (Score:2, Insightful)

    Sure, they will not replace local editing tools for the main development of applications, but for remote access and small stuff it sounds nice.
    • Re: (Score:3, Interesting)

      by von_rick (944421)

      I'm wondering how they would word their EULA. If they claim ownership of the code that's compiled and developed on their servers, that would be a deal breaker for most developers.

      Otherwise its a wonderfully implemented idea.

      • Re: (Score:3, Interesting)

        by digitalunity (19107)

        For precisely this reason, I would never ever switch to a remote IDE hosted by another company.

        A possibly debatable secondary reason is just that I don't want anyone else having access to my code that is potentially going to be released as closed source. Everyone knows IT guys are generally snoopy when they're bored, and sometimes my comments contain profanities directed towards my users.

        • A possibly debatable secondary reason is just that I don't want anyone else having access to my code that is potentially going to be released as closed source.

          That is something you're going to have to live with, if your software is going to be a web application, unless you really want to start building your own datacenter.

    • Re:Why not? (Score:4, Interesting)

      by Vectronic (1221470) on Thursday February 19, 2009 @11:35AM (#26917041)

      This is rather off-topic, but Sumo-Paint [www.sumo.fi] still impresses me, it's not quite as good as Photoshop, etc, but it comes very close...

      If Bespin, etc can get anywhere near that functionality/power... it will certainly be useful. Especially in classroom situations, where it can be sandboxed in the browser.

      However, I am curious about how one would go about compiling, or is it strictly code-editing, online-only apps?

      • Seriously, mod parent up! I don't give a rip if it is a little off-topic; that's the coolest web app I've seen in a very long time.
      • Re: (Score:2, Insightful)

        by amoeba1911 (978485)
        "it's not quite as good as Photoshop"

        Photoshop: $500
        Sumo-Paint: $0

        Value = Quality / Price
        Sumo-Paint = infinite value.

        Nice flash program.
      • However, I am curious about how one would go about compiling, or is it strictly code-editing, online-only apps?

        I think that would be the idea -- for example, Heroku is all about editing Ruby On Rails apps. I'm also not entirely sure I see the point if your compiled program is an executable that you have to download...

    • Re: (Score:3, Interesting)

      by Garridan (597129)

      I'm a Sage [sagemath.org] developer, and our only GUI is a web interface. Run Sage on your local machine, and you serve to localhost. As Sage developers use the GUI, we're getting more attached to it, and we keep adding more IDE-like features. Recently, there have been discussions to make it easier to edit Sage directly from the GUI. With a little care and extra work, it seems as though we'll be able to make the system such that multiple developers can collaboratively edit the source, making messy merges a thing of th

      • With a little care and extra work, it seems as though we'll be able to make the system such that multiple developers can collaboratively edit the source, making messy merges a thing of the past.

        Right... So you expect less of a mess when you have different developers hacking away at the same files without a revision-control system to integrate what everyone is doing?

  • by eldavojohn (898314) * <eldavojohn@@@gmail...com> on Thursday February 19, 2009 @11:17AM (#26916767) Journal
    As someone drooling over the insanely low prices of light weight netbooks with weak Atom processors, I was kind of lamenting that there wasn't something I could host on my beefy Linux desktop back home that acts as a code repository and compilation machine while all my development is done through a netbook.

    I'm not too keen on someone else's server being the host for my web based IDE and holding my code but if they could make it so you could attach to any server (including one from your home) I would be all over this.

    I know it sounds like I'm just coming full circle and mimicking mainframes from the 80s with the ability to cool and keep a quad core beast at home with a terabyte of storage mirrored across two drives while keeping a nice cool easy to move netbook ... but wouldn't that be awesome and liberating?
    • by ianare (1132971)
      If you use a "heavy-duty" IDE like eclipse or netbeans it may run a bit slow on a netbook.
      If you are a vi kinda developer then what's the difference between using a versioning system (having the desktop as a SVN/Git server) ?
    • by cabjf (710106)
      So long as you were always connected a high speed network, it would work fine. It seems like we're moving back to the mainframe idea, but with a less than dedicated connection between the terminal and mainframe.
    • by Anonymous Coward on Thursday February 19, 2009 @11:33AM (#26917005)

      Setup ssh on your beefy box. Install eclipse. run xhost +

      Now on your netbook ssh -x
      login
      eclipse&

      It should popup on you netbook but be running on your beefy computer.

      • by TerranFury (726743) on Thursday February 19, 2009 @11:39AM (#26917105)
        Apart from "xhost +" (which is a bad security move), I wholeheartedly agree. This is what X was designed for.
      • by godrik (1287354) on Thursday February 19, 2009 @12:01PM (#26917487)

        there is no need to xhost + your machine. It is the point of using ssh Xforwarding.

        An other version would be to run your IDE from your netbook but alias make to "ssh make" or using a well configured distcc. The last point would be transfering datas. Two options are available here. Either you rsync them to the server, or you mount the code directory on your local machine using ssh, fuse and sshfs

        • by Windrip (303053)

          I wouldn't worry about it. Those who know enough to use ssh to start a remote X session will establish the connection via PKI, not xhost.

        • Re: (Score:3, Insightful)

          by Mechanik (104328)

          An other version would be to run your IDE from your netbook but alias make to "ssh make" or using a well configured distcc. The last point would be transfering datas. Two options are available here. Either you rsync them to the server, or you mount the code directory on your local machine using ssh, fuse and sshfs

          Mounting via NFS or SMB is generally dog slow and not recommended. Using an intelligent IDE like Eclipse that wants to parse and index all your source code, and trying to do that on a mounted dr

      • by doug (926) on Thursday February 19, 2009 @12:51PM (#26918161)

        Avoid the "xhost +" stuff. From the netbook try something like

        ssh -YtC user@beefy.box.com /path/to/eclipse

        and you just might get what you're looking for.

        - doug

      • Technically true.

        It works great when your netbook and your beefy computer are on the same LAN, but it's horrible when you're remotely accessing over the Internet via VPN.

        No Machine's NX server makes X bearable with VPN.

        I also had good results from VNC, so it makes me wonder if X is losing its "networking advantage."

      • Install LogMeIn on your beefy Home Workstation and logon to it from the browser running remotely on a netbook, laptop, or desktop.
      • Re: (Score:3, Informative)

        Eh, running eclipse over ssh sounds like pain, but I was going to suggest ssh too. But I would probably suggest using vim or emacs instead of eclipse over ssh, because the bandwidth used from running eclipse might be horrid.

        Yeah, just tried it on one of the campus servers. Took 5 minutes to start up, and another minute before the screen was actually painted. UI is unresponsive, menus wouldn't draw for another minute, and basically everything has about a 30 second delay. But it would probably work great over

      • by Mechanik (104328)
        Shameless plug... I work on an Eclipse project (Remote Development Tools aka RDT) that allows you to have a local Eclipse that targets a C/C++ project that lives on the remote machine. No SMB or NFS mounting required, nor do you have to deal with the slowness of running Eclipse over X. When you do something such as build your project, the build commands are sent to the remote machine via the remote protocol of your choice. This can be via SSH if that's what you want. If you want all the whizz-bang featu
      • As others have mentioned, `xhost +` is unnecessary in this scenario and potentially harmful.

        Also, X is a bit painful to use over slow and/or high-latency connections. For this, you may want to set up FreeNX. Once setup, it works similarly to X, only optimized for low-speed high-latency connections.

    • That would indeed be awesome, but I think the amount of Javascript code required to make the Web IDE behave properly would probably be too much for an Atom processor to handle in a responsive manner.

      Perhaps for your situation, a remote X session or RDP would be better.
    • Re: (Score:2, Troll)

      by 3dr (169908)

      Hmm, I don't know. I see where you're coming from, but how is this more liberating that having a slightly more capable laptop that has a local set of dev tools? This is the camp I'm in. All the limitations of being tethered (by wire or wi-fi) are gone. I don't see how being tied down is liberating.

      I recently upgraded to a smaller laptop (uni macbook) for its smaller footprint and better graphics, and for me, this is a near-ideal mobile dev machine. A local subversion repository that is periodically mirror

    • I'm skeptical (Score:5, Insightful)

      by IdahoEv (195056) on Thursday February 19, 2009 @11:52AM (#26917361) Homepage

      I'm going to remain skeptical.

      Net apps are great, but their performance in many areas is unavoidably way below that of native apps. When you can do everything with JS, you can be reasonably speedy if the processing requirements aren't huge and your browser doesn't leak memory too badly. (Dammit, Firefox!)

      But when you need to persist data, you have to spawn an ajax query and that 1/10 to 1/4 second (even over a fast network connection) just isn't comparable from the user perspective to hitting a local HD. As local mass storage switches from HD to solid-state over the next couple of years, the difference between native and web apps is going to increase, not decrease.

      Besides, half of these things are going to be ad-supported, right? At least in my experience, the performance of most websites has decreased the last 3 years or so as they hit and increasing number of different servers. It's typical for a single page to load content, ads, local javascript, stylesheets, and analytics from 10 or more pages. Each of these connections triggers its own DNS query. Every connection and every DNS lookup has a %age chance of hanging for a few seconds due to network traffic, server load, or what have you - as a result almost 10% of web pages I try to load these days stall for a few seconds. Do you really want that kind of crap going on in the background while you're developing? I don't.

      Hah! Just reminded of a most annoying example! Slashdot, for me, loads pretty much instantly. But every time I post and click that "preview" button, there's a five-second wait before the preview actually shows up. That'll be fun, and additional five seconds for every classfile save in my IDE...

      • Hmmm, that preview lag is really annoying, especially because sometimes it just gets stuck. Yeah, webapps are kind of lame for anything that's not really basic.
      • by Unnngh! (731758)
        That lag is not intentional? Back in the day, you had a choice to 'preview' or just 'submit' directly, the first time through. Preview always took much longer than submit, and it used to ding you if you replied too quickly.
      • by drinkypoo (153816)

        You could do it with google gears or another offline web framework. Lots of it runs on your machine without any remote queries and you can cache stuff locally. I haven't actually had to try offline google yet since I've been online the whole time though, so I haven't actually used gears exactly :)

      • But when you need to persist data, you have to spawn an ajax query and that 1/10 to 1/4 second (even over a fast network connection) just isn't comparable from the user perspective to hitting a local HD.

        Or you use something like Google Gears... But let's pretend we have to do it your way, as there are some advantages anyway.

        Notice the 'a' in 'ajax'? It stands for asynchronous -- as in, you don't have to wait, the UI remains responsive.

        Besides, half of these things are going to be ad-supported, right?

        No reason they have to be. Especially the open source ones -- I think there is some real value in having a beefy machine that you own somewhere, and accessing it with a netbook.

        It's typical for a single page to load content, ads, local javascript, stylesheets, and analytics from 10 or more pages. Each of these connections triggers its own DNS query.

        In other words, it could be poorly implemented, and it could be slow to load the first time, until

    • by Rycross (836649)
      A bit off-topic, but I'm not so sure a netbook is a good development environment even if you could set something like this up. Of all the ones I've seen, the keyboard is way too small to be able to type very quickly. Then again, maybe I just have big gorilla hands.
      • This is true of most of the original wave of netbooks (which were designed around 8.9" displays), but the market is moving to slightly larger models with 10" displays, which allow enough space for a decently usable keyboard. (I'm typing this on an Asus EEE PC 1000, one of those 10" models, and its keyboard is completely usable for touch-typing.)
    • cvs on server?
      compile via ssh?

    • For C++, I like Qt [trolltech.com] - with it, you can have your Linux server do "distributed builds" for your netbook. You can also host your code in git or svn and manage your project in trac - all very easily installable and maintainable on your Linux box - I have a setup running at home for my hobby stuff just because it was so easy to do again after setting up at work. The QtCreator IDE is showing promise, but not 100% released yet.

      As for hardware, I bought an eeeBox (Atom desktop) to replace my wife's 8 year old
    • I always find it odd when people lament how underpowered Atom-based netbooks are. Sure, they're not as beefy as a modern dual core desktop system, but short of video editing and 3D gaming they can still handle pretty much anything you can throw at them.

      I use Visual Studio on my Acer Aspire One all the time. Code compiles a bit more slowly than on my desktop, but it's still perfectly usable. I love that machine, it's actually small enough to take places, and powerful enough to run everything I need.

    • by gknoy (899301)

      As someone drooling over the insanely low prices of light weight netbooks with weak Atom processors, I was kind of lamenting that there wasn't something I could host on my beefy Linux desktop back home that acts as a code repository and compilation machine while all my development is done through a netbook.

      I'm in a similar boat, and have been working to get Emacs and Slime playing together. Then, I can have a nice sexy REPL running on my server machine, and use a laptop while coding at the couch. (Emacs w

  • Isn't using Eclipse without the editor kind of pointless?

  • by puppetluva (46903) on Thursday February 19, 2009 @11:27AM (#26916921)

    Don't get me wrong. . . I think it is an amazing technical feat, but is it really practical to require internet access for this?

    I think it is time that we as a community get behind a project that allows these remote apps to be cached locally for fully disconnected use (with a desktop runtime -- something akin to Adobe Air). It would be great to visit the site once and thereafter run it local (and get updates later while connected). As long as I'm fantasizing, I think we should try to make this a standard for new desktop apps -- written like gadgets, but full blown apps.

    What do you think? Are there projects out there that are working on this already?

    • by fuzzyfuzzyfungus (1223518) on Thursday February 19, 2009 @12:02PM (#26917505) Journal
      http://code.google.com/p/gears/ [google.com]

      Pretty much what you asked for. OSS, available for a large number of platforms, and already seeing some real world use.
    • Re: (Score:3, Insightful)

      by godrik (1287354)

      What do you think?

      I think that I do not need web based applications. They are slow and do not do what I want them to do. It entraps you into a given view of your data without getting fine control on it. Can you search your mail on gmail for one containing an URL that matches a given list from a webcalendar ? No you can not, because you have no raw access on the data.

      I only use web based applications as a remote access when I am using a windows machine (Otherwise, I can use ssh and X11 forwarding and everything is fine).

      • If I had mod points I'd mod you up. The web weenies really have no clue about the kind of functionality that power users want. As long as the eye candy looks "kewl" and the app is "Remote editing! , woah!, cutting edge dude!" (they've probably never heard of X Windows) thats all they need.

    • I think this would be great at work. Let's face it, when the network goes down at work, you're already pretty much screwed. It rarely happens.

      Right now, on my work computer, I have the following IDEs installed to handle different projects:
      Eclipse
      VC++ 6
      Visual studio 2005
      Visual studio 2008
      Lotus Applications.

      VMs might be a good idea here :P But so would web based versions. All updates, library versions, configurations... are handled by a central web based app reducing IT support... (maybe)... unless the we

    • I agree - in fact, I'd go even further. If only there was some way to run an "executable file" natively on my machine that could handle these kind of development tasks.

      It could perform the same job as these web-based IDEs, but potentially much quicker, and without requiring internet access. I don't know if such a thing would be feasible, perhaps it's a crazy idea, but I can dream.

  • It will either be a shit load of network communication (which will be slow).
    Or a lot of client side caching and processing (heavy on memory).
    IDEs need to be fast and responsive, a slow start is acceptable. You don't want to wait seconds for files to open, or even for code completion (and other nice gimmicks) to kick in.

    • If you got a netbook, or lightweight laptop, and need to work on a file for a huge code project, this would be much, much faster. Even if there is a bit of lag in the UI. Your server (or server farm) you connect to is just about guaranteed to have faster processors, more ram, and larger disks.

      Have you ever used the google apps? They are actually very quick and responsive, and work in a similar way.

      • Re: (Score:3, Interesting)

        Have you ever used the google apps? They are actually very quick and responsive, and work in a similar way.

        Just my anecdotal experience, but I spend most of my day in Google Docs spreadsheets that I think it is fair to call small (8 columns by somwhere between 20 and 100 rows). At any given time, there are zero to 3 people collaborating on the same document as me. It is slow as shit. I just sorted a 25 row column (just a simple A to Z sort), there was almost 5 seconds in between choosing the GUI function and seeing the result. It even lags when typing in a cell sometimes. I couldn't imagine doing development wor

        • I don't understand the push toward web applications where it's not necessary. Obviously the main advantage of a web app is that it's much easier to roll out in a corporate environment. I've never used a web app that performed better than its desktop equivalent. Not in response time, not in convenience and, with a few exceptions, not in features. In the case of IDEs - does anyone really want this? I've been developing through VPN on a virtual machine and the repaint on that has been bad enough. If I were usi
      • by theCoder (23772)

        I can't imagine there is a netbook or lightweight laptop out there that is so slow it cannot run Emacs to load source files, which are just plain text. Emacs may have been bloated 20 years ago, but by today's standards it's lean and mean (of course, this means we've developed whole new levels of bloat in things like Eclipse). Any machine that can run Firefox can run emacs.

        I guess it's neat that you can edit source files through a browser, and I can even think of times where it would be useful (editing fil

  • How many more things need be integrated to the cloud before we start to blur the edges into thin clients (in a good way).
  • Offline coding??? (Score:3, Insightful)

    by Foofoobar (318279) on Thursday February 19, 2009 @11:36AM (#26917063)
    I often find myself without an internet connection and will just pull up Eclipse on my laptop and work on my checked out copy of the codeline. I don't need the connection except to check code back in and versioning control systems )if setup and used properly) already allow for collaboration (to an extent). So why should I require a connection to code? I want to work on code whenever I want regardless of whether I can find a wifi hotspot or not.
  • As people romance the scale and stability of the mainframe and move towards centralized, mainframe approaches, they forget the reasons that gave birth to the PC revolution to begin with.

    Having your stuff on your computer is an immensely liberating act. No matter what the terms of service, your data is in someone else's charge when its on yonder mainframe, and you are at the mercy of their data center when it comes to performance, user interface, virtually all aspects of the system.

    On the other hand, with a PC, particularly as applications move towards more open file designs, you get much more control, more choice, and as much power as you would like to invest in.

    • There are also advantages, its not all doom and gloom. As a user you get more power, reliability, centralized support, automated backup, universal access. As a company, you get more billing options ( who here remembers cpu and tape mount charges? ), control over your data, better security and application management ( licensing ).

      Now, that said, having lived thru both ways, I think there is room for both datacenter and personal computing models.

      • Partial Bullshit (Score:3, Insightful)

        by jonaskoelker (922170)

        Let's see
        As a user you get:

        • more power - no, the server controls your data and you have to be the kind of person who knows what a web scraper is and how to write one to get it out without spending $BIGNUM hours.
        • reliability - depends on whether you're better at managing your local app than the bottleneck of you managing to always have a connection and them managing the app.
        • centralized support - whether that's good depends on how good support you can get. Your mom is going to prefer good support from you rath
      • Re: (Score:3, Insightful)

        by TerranFury (726743)

        universal access

        If the Internet fsking worked the way it was supposed to, I wouldn't need some other server; my own machine would be a first-class citizen, and so long as I could remember its IP address I could SSH in.

        I used to do just this. I was at a university which had a very nice, rather open network, and I could access my machine from anywhere in the world. Why bother even carrying a laptop around when you can x-forward your machine to any of a thousand terminals scattered around campus? But these days I'm at anot

  • by Evan Meakyl (762695) on Thursday February 19, 2009 @11:55AM (#26917415)

    ... 2012 will be the year of the in-game web-based IDE...

  • Not only is Seaside still unsurpassed as a web-app framework, it's had a browser-based IDE for years. Is this suddenly a new feature for its competitors?
    • Is this the SeaSide you're referring to?

      http://www.seaside.st/ [seaside.st]

      If so, that was a rather unpleasant experience. The entire page refreshes on every interaction with the controls. That sort of technology has been around for nearly a decade now and has never caught on for a lot of good reasons. Not the least of which is that the back/forward buttons royally mess with the expected state of the widgets.

      For an example, try playing around with this tab editor [songbirdocarina.com] for Ocarinas. It looks good on the surface, but after usi

  • by hahiss (696716) on Thursday February 19, 2009 @12:07PM (#26917573) Homepage

    Emacs started out as an editor and now does everything (including browse the web); Mozilla (well, Firefox) started out as a web browser and soon will be able to do everything (including edit code).

    But I'll stick to using lynx and cat + ed. ;)

  • Notepad (Score:4, Funny)

    by Frankie70 (803801) on Thursday February 19, 2009 @12:20PM (#26917753)

    I have stopped using my local Notepad. I use a web based Notepad these days.
    It totally rocks.
    Planning to try a web based browser next so that I can uninstall Firefox from my machine.

  • At Google's moon base:

    Bob17349: So Bob, did you get the webservers on Earth fixed?

    Bob27346: Well Bob, I was going to but I can't seem to load the darn tools.

    Bob17349: Well, if that doesn't beat all. I wonder how that happened?

    Bob27346: Dunno Bob, dunno, maybe we never will know. Wanna go bang some moon rocks together, since we are out of golf balls?

    Bob17349: Sure, sounds like fun.

  • Whenever I want to work remotely, I just remote desktop into my work computer. It works fine...why do I need a web-based IDE?
  • While vi and a Web Browser is good enough for some, I'd take just the Web Browser. Rapid development needs to break out of the constant theoretical-writing-uploading/saving-previewing cycle and that's why I put together my "eval2" project for PHP.

    This video tells it better:

    http://www.youtube.com/watch?v=Yfxrt2pc3pg [youtube.com]

    While the example is ultra-simplistic, I use this every day for altering regex or otherwise previewing REAL data as I protoype code. Anyhow, the typical horse and buggy mentality backlash agains

Prototype designs always work. -- Don Vonada

Working...