Cloud9 uses ACE as the editor component. Where Skywriter draws the editor contents using Canvas, ACE uses the DOM. The editor content pane is a DIV element; the ACE determines which lines in the editor's backing store are visible on the screen, renders each as DIV elements and adds them do the editor's DIV. ACE uses multiple layered DIVs to render different elements of the editor, in particular selection highlights and the cursor.
Turns out today's HTML renderers and DOMs are fast enough to make this possible and let ACE run fast enough to feel like a native editor component.
Running all these tasks on the foreground thread (GUI thread, event dispatching thread) can work by using the
setTimeout function in clever ways. Web Workers avoid hacks of this kind, and can be used to run extra tasks in the background, potentially making use of multiple cores.
The Skywriter and Cloud9 teams have announced an interest in cooperating and making it possible to share plugins, language specific features, etc. Good if it'll work out - another IDE war avoided.
The Cloud9 IDE blog provides updates and information on new releases. The GitHub repositories are a good way to get started with the source. The Cloud9 IDE can be installed by checking out the source and, running the backend server with Node.js and pointing a browser at it.
RedCar - JRuby
RedCar is an extensible editor, with IDE ambitions, written in Ruby, JRuby to be precise. RedCar uses SWT as its GUI framework which available across many platforms.
TextMate users will be happy to hear that RedCar has support for TextMate bundles, making the transition easier.
A more thorough introduction to RedCar, the concepts and how to extend it, can be found in InfoQ's interview with RedCar creator Dan Lucraft. The Redcar Twitter account or the Redcar Blog are good places to get current information on new projects and features. Redcar can be installed with Ruby Gems.
What about Python?
As you can find in the Python Wiki.
Re: What about Python?
Question, though: how many of the editors/IDEs that are written _in_ Python (not just extensible with Python) are actually w usable and still actively maintained? Which editor/IDE (written in Python) do _you_ use on a daily basis?
The Python IDEs I know are Java based (PyDev in Aptana, PyCharm by IDEA, the Netbeans Python support), .NET based (VS support for IronPython; haven't checked if that is actually written in Python), Komodo (C++ or whatever they use) etc.
And No -that's not a rhetorical question.
Re: What about Python?
Stani's Python Editor (SPE) is written entirely in Python and is quite feature-complete (close to PyDev) and usable. RedCar on the other hand, seems to be too early in development (both feature-wise and because it failed to show any file contents and crashed when I closed a tab) to note as a shift. Aside from HTML extensions and a code browser, it seems closer (when it eventually works, that is) to IDLE (distributed with Python, written in Python) which Python had as a basic option since 2002. SPE is from 2002 as well, but evolved better than IDLE over the years.
> Which editor/IDE (written in Python) do _you_ use on a daily basis?
Although I am generally finicky about having feature-complete IDEs, I use SciTE, a general purpose text editor for Python for day-to-day needs (short scripts). If I think my project is going to be big enough to warrant an IDE, PyDev is my first choice even if SPE gives all the features since I am comfy with Eclipse shortcuts from my other use of it. I like Netbeans Python editor as well but I am less familiar with its shortcuts. I wanted to like Komodo (it's based on Mozilla code for the platform bits) since it came out, but it never met my expectations.
WingIDE is an old and mature commercial IDE written in Python that had good code-completion, early on. But it looks out of place (At least, used to. Haven't tried it recently) outside Linux (GTK) and is less relevant now, given the excellent free alternatives.
Personally, I think not re-using the extensive and freely-available IDE infrastructure from Eclipse/Netbeans is just a mistake for most part these days, unless when trying something truly innovative and starting with plenty of resources.
Re: What about Python?
Also: the Eclipse ecosystem is massive and a lot of software and logic is available in the shape of bundles; a few years ago I published:
to make it easier to access just that functionality and extend Eclipse. Other projects like EclipseMonkey which tried to bring scripting and easy extensibility never really took of (except, I think, Aptana's been using it for a while and seems to be doing more with the Aptana 3 release).
As for RedCar: it might just be an alternative for TextMate users; I never quite understood the appeal of TextMate, not to mention that everyone in the community seems to be holding their breath waiting for they mythical 2.0 release which supposedly is out any day now. RedCar ain't quite there yet but it has momentum, an active community, etc so it might just be interesting down the road.
Re: See also...
thanks for the tip. I'll have to give this a whirl, definitely looks interesting.
Reminds me of my own:
except I didn't have the guts to try and get something like the Smalltalk image concept to work like you do here.