Comparison of JavaScript-based source code editors

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

This article provides basic feature comparison between some of the JavaScript-based source code editors available today. This article is not all-inclusive or necessarily up-to-date.

Contents

Overview

List of source code editors
Site Latest version Style / Clone of Cost (US$) Software license Open source Browser compatibility
CodeMirror Home, Demo 0.63, 2009-08-31 Emacs / regular textarea Free BSD-like license Yes Firefox 1.5+, Internet Explorer 6+, Safari 3+, Opera 9.52+, Chrome[1]
CodePress dead home page, Demo, SourceForge 0.9.6, 2007-09-26 Microsoft Visual Studio Free LGPL Yes ?
CodeTextArea Home page, Demo, Experimental demo Jun. 2009. Microsoft Visual Studio Free BSD license Yes ?
ECCO Home page abandoned Microsoft Visual Studio Free no downloads ?
EditArea Home, Demo 0.8.2, 2010-01-14 Microsoft Visual Studio Free LGPL Yes IE 6 & 7 & 8, Firefox 1.5 & 2 & 3, Safari 3.x & 4, Opera 9, 9.5, 9.6 and Chrome 1 & 2[2]
Helene Home, Demo 0.9, unknown release date Microsoft Visual Studio Free GPL Yes
Markitup Home, Demo 1.1.6, 2010-01-12 markup editor, no syntax highlight Free MIT, GPL Yes IE 6 & 7, Firefox 2 & 3, Safari 3.1, Opera 9+ [3]
9ne Home Page ? emacs Free GPL Yes
jsvi Home Page ? vi Free GPL Yes
Ymacs Home, Demo 0.4, 2010-Jan-17 emacs Free BSD-like license Yes Firefox, Chrome, Safari
CodeIDE Home Page(Russian) ? Microsoft Visual Studio ? ? No
MDK-Editor Home Page 2.10, 2008 Microsoft Visual Studio Depends on the use Dual license Code is readable tested to work on: IE 6, 7 - Firefox 2, 3 - Chrome

List of features

Feature testing was performed with Firefox 3.0.6 against the current demo version, and results may not match those in other browsers or downloadable versions.

List of source code editor features
CodeMirror CodePress CodeTextArea EditArea Helene markItUp! MDK-Editor
Implementation nestable full parsers pattern-based parser parsers
Syntax highlight JS, CSS, XML, mixed mode, PHP, SPARQL; community-extended with new parsers: Python, Lua, Ruby limited mixed mode: HTML + JavaScript (no CSS), PHP + HTML (no JavaScript or CSS), Java, Perl, SQL only keywords only one language at a time: Perl, PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP, SQL, Pascal, Basic, Brainf*ck PHP No mixed mode: PHP + HTML + JavaScript + CSS, single-mode: PHP, Javascript, CSS, XML; extensible
Syntax checking basic; more comprehensive for PHP [2] No No HTML, JavaScript (using JSLint)
Indent, new line keeps level Yes very limited No Yes N/A (can't press Enter) No Yes
Indent, syntax Yes No No
Indent, selected block either automatically, or block-level indent/unindent No yes, including Shift+Tab yes, including Shift+Tab and using context menu
Bracket matching Ctrl+[ after the bracket; no angle bracket matching an implementation exists with mouse-hover bracket matching[citation needed] Ctrl+B; no angle bracket matching No matching bracket ([{<>}]) always highlighted
XML matching tag highlight No No Yes
Code folding No No No No No No No
Code snippets example using API type 'for' or 'if' then Tab No Yes No Yes JavaScript
Code suggestion No No yes[citation needed] No CSS, HTML, JavaScript)
Toggle syntax highlight on/off No last example in demo N/A textmode
Keyboard shortcuts basic some common used: Ctrl+f, Ctrl+g,Ctrl+z,Ctrl+y Yes All key combos (except F1 in IE7) can be bound to shortcuts
Line numbers Yes demo Yes Yes Yes Yes No Yes (supports mouse selection)
Search & replace via API No toolbar button has API for the studio
Spell checking browser-based browser-based none browser-based none browser-based No
Toolbar example using API; demo No Yes No Yes No
Visual styling font-type and font-size 5 styles to choose from, having 2 font-sizes
Undo/Redo Yes Yes Yes Infinite diff-based, with visual update[citation needed]
Usability Initial parse is slow, further performance is independent of document size new text sometimes syntax highlighted only after going out of the viewable area No PageDown/PageUp text ghosting if syntax highlight enabled can't type Enter no documentation


TODO: Other aspects

  • Add Bespin http://labs.mozilla.com/projects/bespin/
  • Add Amy Editor (see also embedded version) http://www.amyeditor.com/
  • What size files do these editors handle best
  • Dependencies: Certain JavaScript library? How many files does it require? When compressed, what is the minimum download size in kilobytes?
  • Tabbed editing?
  • Javascript architecture (prototype, functional, or closure-based)
  • How responsive is each library (with and without a large file loaded)? (Not sure how to measure this yet.)
  • How long is the delay before syntax-highlighting occurs on new text?

Extensibility features

  • Feature plugins
  • Interface languages (English, French, etc.)
  • Syntax highlighting plugins
  • Bracket completion plugins
  • Language snippet plugins
  • Code suggestion plugins

Offspring projects

Below is a list of projects based on each engine.

CodeMirror powered

CodePress powered

EditArea powered

MDK Editor powered

References

  1. CodeMirror supported browsers
  2. EditArea compatibility chart
  3. [1]

External links

Personal tools

Served in 0.259 secs.