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.
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?
I do believe you've been had. His comment about Win32 strikes me as the intended 'tell' for his sarcasm. The point being that developing desktop applications in a web-based IDE doesn't make much sense. Which I do agree with. The two environments are not at all integrated.
Of course, the AC conveniently ignores the massive business of web development which *could* benefit from centralized IDE services.
Javascript + Nintendo DSi = DSiCade
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).
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.
there are loads of acronyms with many meanings, and with almost all of them the meaning is left unambiguous by the context. If you cant figure it out from the context, then it's probably not of importance to you.
Idiot Dumbass Editor.
"City hall" in German is "Rathaus" Kinda explains a few things......
I figured as much, but the prospect was too tempting to ignore...
I don't see why "real" applications couldn't be developed though, albeit they would have to be very limited in their imports and what-not, as well as almost mandatory open-source, and could be compiled on the host server, then spit out the executable back through the browser.
Although handling security would be a nightmare I would imagine, plus it would have to have an amazing code-analysis to make sure there was no infinite-loops, security-bypassing, etc in the code. However generally anyone knowledgeable enough to get that far, probably wouldn't need a web-based IDE to bypass the system they are typing it on.
The next release will feature "offline code editing"... just to bring things full circle.
AKA, a slashdot editor?
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..
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.
WTF may refer to:
Wonderful Tingling Feeling
Waterfowl Training Facility
Web Transfer Function
Wide Tunnel Friction
Wispy Transformer Fructose
rewriting history since 2109
... 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.
Worst. Argument. Ever.
BTW, for those of you who think I'm just trolling, here's an excerpt from the book "When Computers Went to Sea":
Supposedly if the drums were not properly balanced, the gyroscopic forces were powerful enough to induce significant roll into the ship's standing on the water.
The MCP (or "Master Control Program") was the main operating system of the Burroughs (later Unisys) range of mainframes. CANDE stood for "Command AND Edit program" which was an IDE similar in principle to the BASIC editors that many folks may remember using in the 80's. The primary difference is that the T27 terminals worked in a stateless submit/response mode similar to how HTTP works today. Since a persistent connection was not maintained like with the IBM terminals, code was usually edited one screen at a time before being transmitted back to the mainframe.
I shouldn't even have to explain the switch flipping. That was the ideal method of programming the old Honeywells. ;-)
Javascript + Nintendo DSi = DSiCade
Hex editor, you n00b!!
"City hall" in German is "Rathaus" Kinda explains a few things......
Does "Web-based Integrated Drive Electronics" make sense?
No, which is why I investigated further. Had they spelled it out I would have known that it held no interest to me.
I'm a coffee addict and it's early; my old brain needs to warm up before it functions properly.
We also threw glowing discs at the MCP right up until management put a stop to our shenanigans
Coincidentally I just watched TRON two days ago. It's still a good movie, and somehow even after almost thirty years it's still not outdated.
Free Martian Whores!
Ah. See, that's a different problem from the issue of spelling out acronyms. 99% of people "got it" as soon as it was posted. So you'll just have to warm up the vacuum tubes and pour some coffee into the primer channels before tackling Slashdot in the morning.
Besides, everyone knows that IDE (aka ATA or ATAPI) has been replaced by SATA. The IDE term is antiquated and only exists as one of those strange connectors on some "legacy" motherboards. Sort of like those odd "ISA" slots occasionally found sitting next to the PCI and PCIe slots. ;-)
Has it really been that long? God, now I'm really feeling old.
Javascript + Nintendo DSi = DSiCade
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.
My point exactly.
Free Martian Whores!
Install LogMeIn on your beefy Home Workstation and logon to it from the browser running remotely on a netbook, laptop, or desktop.
Why is that tempting? It seems like the equivalent of paying second graders to do your taxes.
Well.. maybe. Or Maybe not. But Definitely not sort of.
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?).
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.
WTF is you point!
rewriting history since 2109
Musta been the pirates
r
WTF is your point!
There, fixed that for me.
rewriting history since 2109
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.
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.
And Bespin et al wouldn't be?
Never said it was going to make me drop all other alternatives, and stop using dedicated IDEs, I'm just more familiar (and preferential) with the MS IDEs...
Besides, i've found little, or no use for Inno, NSIS, or SharpDevelope, Java, etc, etc... but I have been tempted to try them all out, just like trying Vista, but having no use for it, trying CentOS but having no use for it.
If it wasn't for these temptations I'd still be using my C64.
Yeah, I first saw that movie when I worked at Disney in Florida (they had a pre-release showing for employees, in 72mm surround sound), and that was around '82.
Maybe I ought to replace my brain tubes with brain transistors, but then I'd have to wait for the damned thing to boot...
Free Martian Whores!
For great justice!
Sorry, sorry. Couldn't resist. :-P
Javascript + Nintendo DSi = DSiCade
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?
Nah, you just need to switch to a Unix system. The neat thing about Unix systems is that they really boot fast. You ought to see one boot, if you haven't already. It's inspiring to those of us whose LispMs take all morning to boot*. ;-)
* With apologies to John Rose
Javascript + Nintendo DSi = DSiCade
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!
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...
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
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
ATA = Advanced Technology Attachment != Advanced Technology Attachment Peripheral Interface.
IDE != (P)ATA;
(P)ATA is a strict subset of the ISA standard, meant to only interface hard drives and nothing else. This is because hard drives used to be mounted along with the drive electronics on an ISA board. Since the slots weren't meant to bear the strain, it was problematic, so they moved the drive and electronics in a separated enclosure, linked by cables to the now much simplified ISA card, hence, giving (P)ATA drives the incorrect name IDE drives, since SCSI and FC drives could also integrate the drive electronics.
I know tobacco is bad for you, so I smoke weed with crack.
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!';