Web-based IDEs Edge Closer To the Mainstream
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."
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
Sure, they will not replace local editing tools for the main development of applications, but for remote access and small stuff it sounds nice.
i've been using web based visual studio for MFC for a few weeks now and it works smooth as brown sugar.
i recommend it to anyone that wants to create Win32 applications on a web-based ide
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.
... but wouldn't that be awesome and liberating?
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
My work here is dung.
Semi-related sf proyect:
http://sourceforge.net/projects/codepress
-Woof woof woof!
Isn't using Eclipse without the editor kind of pointless?
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?
When I hear "IDE" I think of a type of hard drive (Integrated Drive Electronics).
Free Martian Whores!
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.
How many more things need be integrated to the cloud before we start to blur the edges into thin clients (in a good way).
We have SVN and Eclipse and Visual Studio .Net. Free dd-wrt with OpenVPN support on a free after rebate home router.
I can't see the reason why people keep reinventing the wheel.
I use vim and really the only reason I do is so I don't have to install and learn another editor. What make emacs and vim so powerfull is not their command line tools, its their ability to be scripted. That way every language that has ever been used has its own mode. One editor for sql, c, python, lisp, html, css, JavaScript etc. Does this do that or not? If so with web based software (all the hype these days) this project could get lots of attention, and if its really useful it may convert enough programmers over to this new platform.
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.
This is my sig. There are many like it but this one is mine.
WTF is it with undescribed acronyms?
It's often about context; for example when I see the word 'tool' I know that it doesn't always mean an inanimate object.
The next release will feature "offline code editing"... just to bring things full circle.
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.
I went to eat some animal crackers and the box said, "Do not eat if seal is broken." I opened the box and sure enough..
The cloud city... nice.
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.
This is my sig.
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...
I stole this sig from someone cleverer than me.
ProofWeb http://proofweb.cs.ru.nl/ is an IDE-like system for teaching logic and formalized proofs through the web. It was designed for teaching logic to undergrad CS students, but it's been successfully used to teach proof assistant courses.
While ProofWeb's database is limited to simple logic exercises, it is actually based on the Coq proof assistant http://coq.inria.fr/, which can be used to develop software in an interactive way and even certify that it meets a formal specification. (It uses a functional programming language, similar to Haskell or ML.) My guess is that an extended version of this system could be very useful in CS and software engineering.
... 2012 will be the year of the in-game web-based IDE...
Vim? Please don't leave me...
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?
I am TheRaven on Soylent News
Why do I think this? Because most online office application have a EULA, which states, more or less, that anything you write with it belongs to them. Who's saying that this doesn't apply to online IDE services? Software copyright is already insanely convoluted (or maybe just insane?) as it is. I can't even imagine a programmer who would use an application online where his source code is made available on a public-facing server (which is a big deal for those writing propriatary software) when a superior program is available natively for for their platform where they can keep their rights.
However, if the idea is that a company or individual sets up bespin for their private usage, then it would make sense.
Comment removed based on user account deletion
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.
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.
---- Booth was a patriot ----
Is this how we're going to avoid any Eclipse based entanglements? Sounds like a lot of Tibanna Gas.
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 know some green screens from 30yrs ago that pretty much accomplish what you are proposing, and there's a reason we moved away from those.
Install LogMeIn on your beefy Home Workstation and logon to it from the browser running remotely on a netbook, laptop, or desktop.
I coded up a web-based IDE two years ago for my senior project at California State University Fresno and presented it to a group of entrepreneurs at the Central Valley Business Incubator. It was a student project, but it incorporated SVN on the backend and did some slick syntax highlighting in real time on the frontend. A user could login anywhere, code for a bit, commit changes and logoff.
They smiled and nodded, but it was evident that they had no idea what an IDE was let alone how a web-based IDE would enhance the development process.
It has been technically possible for years, but now with Mozilla's Tamarin, and Google's V8, more complex functionality can be added (webtellisense?).
reminds me of plan 9 architecture.
terminals are allowed to be slow and
have limited connectivity. graphics
are still done on the terminal. cpu
servers are supposed to be faster &
have better connectivity.
Let's see
As a user you get:
As a company, you get:
I'm not saying I hold the objective truth, just some counterpoints which seem to justify a deeper investigation.
I'm quite convinced someone sufficiently motivated could replicate the Eclipse IDE in ASCII format and functionality in emacs.
GNU Emacs has had Eclipse-like functionality for longer than Eclipse even exists.
Other versions of Emacs had IDEs that are still not matched by anything existing C++, Java, or C#.
Eclipse has a lot of buttons and windows, but other than that, it doesn't do that much.
Sun's Java Webstart provides this functionality.
And
Pretty much what you asked for. OSS[?not sure here], available for a large number of platforms, and already seeing some real world use.
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.
I don't understand why everyone keeps trying to move away from keeping anything local nowadays. Programming is a task that I usually do without needing to be online. I really don't think I like the idea of that going away. Its starting to bother me how many "web" versions of applications I see nowadays. A lot of what I run into doesn't even seem to allow you to cache much or to load an offline copy. An example would be my phone, which comes with a gps that refuses to cache the maps. Pretty pointless in a lot of situations. I guess I just see this as a solution without a problem. Sure, maybe it was fun to do and maybe there will be some neat uses for it later on. Also I have trouble seeing using this to program desktop applications, wouldn't you prefer to be using the same environment your programming for?
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 another university, and their network is locked down in arcane and nondeterministic ways, so that sometimes I can access my machine, sometimes I can't, and god only knows why. The one thing you can reliably do is surf the web.
...which is why we're cramming all this bullshit into web browsers to begin with. We've kept the Web working, but broken the Internet.
vi and a web browser is good enough for me.
Reply to That ||
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
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 against this approach has been "well, I can just do php -a".
For the interested, see http://eval2.sourceforge.net/
The dumb terminal was pretty dumb -- it would send individual keystrokes across the network, and wait for a response. If you scrolled, it had to redraw the screen.
A web browser can cache as much in RAM as we like, plus some disk cache. It can do audio and video, and a true GUI. It can do most things you would imagine a native client could do -- with Google Gears, that includes running offline.
And when your network connection died, the dumb terminal was useless. The netbook is still several orders of magnitude more powerful than the machine your dumb terminal would've been connecting to.
there's a reason we moved away from those.
Please, enlighten us. Then tell us why these reasons are still relevant.
Don't thank God, thank a doctor!
I use links and lynx sometimes, but I always wonder- is there anyone out there who browses the web w/ wget or similar, forming http requests themselves?
'Course, when you're doing that, might as well read your web pages with hexedit or something!
The problem with web tools is they are all OBJECTS of compiled code. People just seem to forget the actual technology behind it.
Would you rather run Photoshop locally or a Photoshop Clone app inside of Internet Explorer? This is how the web tech works. Transfer and connection was and is NEVER THE ISSUE when dealing with technology. These random 'HWTS' (pronounced witts) are solutions for problems that do not exist (like .net).
please stop endorsing these.
I own the servers. Having all my apps served over the web is awesome. I have a web based client management system (wrote it myself), web-based email and calendar (using an OSS project), web-based shared folders (also wrote it myself), even a basic web-based word processor (also OSS).
If you have ever done IT support, you know what a nightmare it is to keep all of your machines secure and keep the proper software installed. God forbid if you need to patch an application. Yet, all I have to do for my 30 client machines is set up auto-update, install the printer driver, install Firefox and I'm done. When I want to patch a piece of software, I patch and its done
I understand where you are coming from, and I agree that it is not a good idea to trust your data to outside sources, but if you have any kind of developed it infrastructure at all, mainframes really are better.
For my dissertation I wrote a web-based Java IDE that used Eclipse as a backend (see www.willryan.co.uk/WWWorkspace for a demo). It has far more features than Bespin although i didn't test it fully for scalability and couldn't afford to host it for a reasonable number of users. I then went traveling for six months and didn't further pursue or promote it. It supports Java compilation and safe execution of code as well as collaboration. It's very interesting to see this new trend in web based IDEs. I think there is certainly a market for it, from coding on a machine that is not set up for programming to education and introduction to programming. I thought this was an ideal forum to resurface my solution and would be interested for any feedback...
Or you could send a mail to a demon that wgets the page and mails it back to you.
Didn't read all the comments, but if noone here has already pointed it out, the original post is available here : http://www.infoq.com/news/2009/02/web-based-ide Please cite your sources newt time.
I was actually looking for one of these the other day, not to be my main IDE, but for when I was out and about and away from my computer. I came across http://codeide.com/ which is mentioned in TFA as well as several other places, but the site doesn't seem to work..
Their old blog is still live ( http://codeide.livejournal.com/ ) but it links to the new blog which is now dead. (last week it was giving me a copy of the home page.)
Does anybody know what these guys are up to?
Nathan Friedly
While the web based IDEs are quite convenient, I find they greatly lack functionality, which means it'll be long before they become more mainstream. www.MindCipher.com : Challenge yourself.
Will your project be part of this summers' massive release (named after some spacey thing or another, no doubt) or do you have any milestones that are targeted around then?
I look forward to building a new Eclipse distro every summer during the simultaneous release. That's generally when I do my 'window-shopping-for-shiny-objects'.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
http://wonderfl.kayac.com/
It's not really an IDE, no code highlighting, hints etc. The killer feature is that it compiles Flash as soon as you stop typing and reloads the swf. It's a really cool way to play around with Flash, and it's much smoother than having to compile locally (really!).
I want to live in the web. Living outside it is so last century.
I am working on a web-based open source luxury resort with a grand Firefox entrance.
It will replace my expensive non-web existence.
Freely built, upgraded, and maintained by millions of Slashdotters.
Her lips were softer than a duck's bill, but her quacks
test
The network should be used intelligently in the sense that one should only be passing important information on the network with the important expression here is "as needed".
I don't need a web-based IDE. I'm perfectly happy with out-of-process local procedure calls for making/using a GUI/IDE.
Somebody should have their ass fired for such nonsense.
Amin, brother! Good thing we've got Java applet VNC viewers and shit, though.
I know tobacco is bad for you, so I smoke weed with crack.
It actually would be a useful tool, especially considering the fact that the following thing to come is direct import from a svn/trunk...
:)
Imagine a case when you have to patch quickly your code (possibly a vulnerability in it) and your not on your computer. You haven't got the tools (a decent text editor, svn application) at hand, so bespin COULD be the day saver...
Although wouldn't use it for actual developing because:
- too many commands have to be typed in
- syntax highlight is only available for html/js/css(? haven't tried)
- ctrl+s is faster than clicking the save button
- many more
But as I mentioned, for quick jobs (if you haven't got the tools) will do fine...
$god = null;
if($god) echo 'I believe!';