SitePoint Smackdown: Atom vs Brackets vs Light Table vs Sublime Text

By Craig Buckler
We teamed up with SiteGround
To bring you up to 65% off web hosting, plus free access to the entire SitePoint Premium library (worth $99). Get SiteGround + SitePoint Premium Now


Trending posts on SitePoint today:


A new breed of editor has arrived. It fills the gaping void between basic text applications (Notepad, TextEdit, gedit, etc.) and full Integrated Development Environments (VisualStudio, Eclipse, NetBeans etc.) Simpler applications lack basic development requirements such as multiple documents, line numbering and code coloring. IDEs tend to be monolithic applications which cater for a specific language, framework or platform.

This review considers sophisticated code editors with the following criteria. All must be:

  1. Suited to web development
  2. Cross-platform and work on Windows, Mac and Linux. Your preferences and settings should be available regardless of which OS you’re using.
  3. General-purpose text editors which support typical web languages. You should be able to use the same application for HTML, CSS, JavaScript, PHP, Ruby, SQL, markdown and more.
  4. Highly customizable with cross-platform plugins and themes.
  5. Fast and stable. Launching should never be a once-a-day dread like some IDEs.
  6. Immediately usable without a steep learning curve or having to remember numerous keyboard shortcuts.

Sorry Vim and Emacs fans — console-based applications have been excluded — but you were never going to consider an alternative editor anyway! I’ve also rejected browser-based editors such as Cloud9 and CodeEnvy because they tend to be a little too web-oriented and cannot be used offline. Finally, it’s not possible to cover every editor matching these criteria but let us know if there are any you’d like considered for a future review (such as the new Lime Text project).

About SitePoint Smackdowns

Developers spend many, many hours using their chosen editor. It’s a subjective decision and, once you have the perfect configuration, it’s difficult to switch to another application. That said, SitePoint Smack-downs are not “use whatever suits you, buddy” reviews; the writer (me in this case) will make recommendations based on their own experience, requirements and biases. You’ll agree with some points and disagree with others; that’s great — add your comments so we can help others make an informed choice. We’ll also endeavour to keep these articles up-to-date, with new information added as necessary.

Let’s look at the contenders.

Sublime Text

First, we have Sublime Text. The C++ and Python application was written by Jon Skinner and has attracted more than 2.5 million users since its launch in 2008. Reviews have been mostly positive and, while it wasn’t the first sophisticated text editor, it set the bar for those which followed.

Sublime Text editor

Key features include:

  • comprehensive language support with TextMate-compatible grammars
  • multiple selections and column editing
  • “Goto Anything” quick navigation to locate files and code
  • a command palette to access all features
  • a mini-map and code snippets
  • extensive customization, great themes and numerous plugins
  • good-looking, fast and stable

Unlike the other contenders, Sublime Text is a commercial product costing $70 per user (you can have as many installations as you like). You can evaluate the product for as long as you need; it’ll nag you to purchase a license every so often. $70 is considerably more expensive than free but divide it by the number of hours usage and the cost becomes negligible.

Sublime Text is the most mature application and the only one not in a pre-release phase (although I was using version 3 beta for the purpose of this review). It therefore has a slight advantage but all the contenders are usable today.

Atom

Atom is a new editor from GitHub. The open source beta application is developed in Node.js, CoffeeScript, LESS and C++ in webkit wrapper. To suggest Atom was influenced by Sublime Text is an understatement:

Atom Editor

Key features include:

  • Free and open source on all platforms
  • Integration with Git and GitHub
  • A well-documented open API for plugin developers
  • Immediately usable with less reliance on configuration files
  • A good selection of themes and plugins with a built-in package manager
  • Sublime Text and vim-compatible shortcuts
  • Attractive interface

At the time of writing, Atom is reasonably easy to install on Mac and has a built-in updater. The Windows and Linux versions are a little behind with the latter requiring source build instructions.

Brackets

Brackets is an open source editor from Adobe. It’s been specifically created for web developers and is written in HTML, CSS and JavaScript using CodeMirror in a Node.js container.

Brackets Editor

Key features include:

  • Free and open source on all platforms
  • Good language and linting support especially for web development
  • Live browser preview and updates without a server (requires Chrome)
  • Inline CSS editing
  • A well-documented open API for plugin developers
  • Immediately usable with less reliance on configuration files
  • A good selection of themes and plugins with a built-in package manager
  • Multiple selection editing, auto-complete and color picker
  • Attractive interface

The project is developed in sprints and a new version is available every 2-3 weeks. There’s no auto-update yet, but the editor will warn you when a new version of the application and plugins are available.

Light Table

Light Table is a late contender. The crowd-funded Kickstarter campaign raised more than $300,000 for Chris Granger & Robert Attorri to develop the open source editor in ClojureScript with a Node-webkit wrapper.

Light Table Editor

Key features include:

  • Free and open source on all platforms
  • Lightweight installation
  • Good-looking, fast minimalist interface
  • Auto-complete everywhere
  • Inline evaluation and watches
  • Split views and instant feedback
  • A command palette and fuzzy finder
  • A good selection of themes provided
  • A plugin manager with a reasonable selection extensions and an open API coming soon
  • Application auto-update (I’m yet to experience this!)

Light Table describes itself as “the next generation code editor”. It aims to provide a flexible interface, real-time evaluation, live visualization and documentation where you need it. The editor is still in an early phase of development and language support is more limited than the other contenders.

Evaluation Methodology

I’ve been using all the editors for HTML, CSS/Sass, JavaScript, PHP, Node.js, Ruby and SQL development on three machines:

  • Windows 8.1 — a reasonably powerful 18 month-old laptop
  • Mac OS X 10.8 — a mid-range two year-old Mac Pro
  • Lubuntu 14.04 — an aging five year-old laptop

Inevitably, some editors have been used more than others owing to their release schedules:

  • Sublime Text 3 beta was installed on all platforms and used for six months.
  • Atom 0.123 (and below) was installed on Mac only and used for four months.
  • Brackets 0.42 (and below) was installed on all platforms and used for 12 months (although I initially tried it in 2012)
  • Light Table 0.6.7 was installed on all platforms and used for six weeks. It’s a late contender so it hasn’t received as much testing.

Let the battle commence!

Round 1: The Interface

Text editors don’t necessarily need to be pretty, but you’ll be staring at it all day so it helps if the interface is clean and usable, and also that it stays out of the way during marathon coding sessions. Color coding and customizable themes are essential and, while Sublime Text offers the most options, the other editors have a good range which can be adjusted to your liking.

It’s difficult to choose a favorite because they all look similar. In addition, I prefer Sublime Text’s default Monokai theme, but the others offer similar variations.

The winner: Brackets — but only just. It provides the most consistent cross-platform experience and looks great. It’s let down by font rendering, which doesn’t seem as smooth as other editors, but some tweaking can solve that issue.

Atom is a close second. It has a slight edge on Sublime Text which looks somewhat out of place on Windows. Finally, Light Table has little interface to judge — but that could be an asset.

Round 2: Syntax Support

All the contenders can edit source files regardless of syntax. However, Sublime Text wins the category because it offers color coding and assistance for dozens of popular and arcane languages.

Atom and Brackets aren’t far behind and have plugin support for lesser-used syntaxes. Light Table primarily concentrates on Clojure, ClojureScript, Javascript, Python, HTML and CSS but the situation will improve as the editor evolves.

Round 3: Ease of Use and Learning Curve

The ideal editor will make you productive on day one and allow you to discover features over time. Brackets takes an easy win; most options are available from the menu and interface without having to edit configuration files (although they’re still available).

Sublime Text is packed full of features but finding, configuring and using them is another matter. Atom is slightly better in that respect but still has a relatively steep learning curve compared to Brackets.

On the other hand, Light Table hides its power, and you’ll need to read documents and watch videos to learn basic operations such as enabling word-wrap or changing indentation settings.

Round 4: Speed and Stability

No contest: Sublime Text is far faster than the other editors and I don’t recall a single crash or loss of work.

Light Table is also quick. It managed to open large 25Mb file faster than Sublime Text, although editing was more sluggish. Atom is noticeably slower. It’s usable although opening large files isn’t possible — the editor currently has a 2Mb limit.

Finally, Brackets has higher hardware requirements, starts slower and I’ve experienced several crashes with multiple and large files. I’d happily use it for editing HTML, CSS and JavaScript but may think twice about opening a lengthy SQL dump.

Round 5: Native Feature Set

How good is the editor before you start adding plugins? The winner is Sublime Text: it offers a wide range of features out of the box. Perhaps this is inevitable for a commercial product.

Other contenders take a more minimal approach, with a basic editor supplemented by plugins offering advanced options should you require them. Even auto-complete is a plugin for Atom, and Brackets doesn’t yet have a split view. On balance, I prefer this philosophy but Sublime Text manages to remain nimble and light despite the extra functionality.

Round 6: Web-Specific Features

An easy win for Brackets. The editor is developed with web technologies to help build web technologies. Front-end coders can enjoy novel features including:

  • Live Preview: launch a page in a browser and watch changes in real-time as you edit.
  • CSS Quick Edit: hit Ctrl/Cmd+E when editing HTML to reveal and edit the CSS styles associated with that element.
  • Code completion, a color picker, image previewer and animation timing bezier curve editor.
  • Some great extensions such as the Theseus JavaScript debugger and CSS shapes editor.

Brackets has less emphasis on server-side languages but basic syntax support is available.

Light Table follows with workspaces, browser preview panes, live editing, code evaluation, auto-complete and documentation. Surprisingly, it’s not possible to view image files despite the editor having a browser base.

Atom and Sublime Text are more general-purpose editors. They may be less web-oriented but have further options.

Round 7: Plugins and Extensions

Sublime Text seems the obvious winner — the editor has almost 2,500 extensions. That said, quality is variable and package control is more difficult than the competition. Sublime Text’s API documentation is minimal, it’s not possible for plugins to interact with the whole interface and Python knowledge is required.

I’m therefore giving additional credit to Atom and Brackets. While neither has the range or variety of extensions, plugin management is far superior and both have open, well-documented APIs. Developing extensions in JavaScript is a welcome bonus for web developers.

Light Table has a small number of plugins and the API is not complete at the time of writing.

Round 8: Customization and Hackability

This category is more difficult to assess, since all the editors are designed to be highly customizable. After much deliberation, the winner is Atom. It has similar configuration files to Sublime Text, but many options can be discovered within the interface. Documentation is better and the editor’s source is available should you require deeper changes or plugin development.

Brackets has plenty of options and is also open source, but it’s not as configurable as Atom and Sublime Text. Light Table’s level of customization is good, but it’s more complex, even with comprehensive auto-completion and assistance.

Round 9: The Future

Sublime Text’s pace of development has slowed although that’s understandable given its maturity. Its future as a commercial product is less certain given that Atom — the winner in this category — is backed by GitHub who are giving it away for free. The editor will be hard to beat once the final version is released on all platforms.

Brackets also has a positive future: it’s backed by Adobe and has dozens of contributers. The number of features and plugins has grown significantly during the past few months.

It’s too early to predict Light Table’s future. The editor is promising and works well on less powerful hardware, but it’s taking a fairly radical path and I’m not convinced it will gain mass appeal.

Round 10: The Overall Winner

The rounds have been surprisingly close. If we presume round 7 was a three-way tie, Atom won three with Brackets and Sublime Text on four each. All the editors are good but, if I had to choose a single editor today, it would be an easy decision. Sublime Text remains the editor to beat despite the monetary cost. The editor is fast, stable and has a ridiculous number of features and plugins. The downside: features can be difficult to discover and you’ll have a nagging doubt you’re not using the editor to its full advantage.

The Cheapskate Option

If you’d rather not shell out for Sublime Text, you have a few options. If you use a Mac, Atom shows promise. While it won fewer rounds than Brackets it was a strong second in most categories. If it were a little faster and easier to install on Windows and Linux, Sublime Text could struggle to compete. The web development community will almost certainly prefer the open JavaScript API plugin architecture.

Brackets did well. It’s evolving rapidly, has web development features you won’t find elsewhere and feels polished on all platforms. Speed and stability can mar the experience but it’s a viable option for front-end developers with a reasonably powerful machine.

Although Light Table didn’t win any rounds, it’s an interesting project with a radical approach. It’s lightweight and fast on modest hardware but you’ll need to invest time learning how to use and configure the editor. Few of us have the patience but I suspect it could gain an underground Vim-like quasi-religious following.

The editors are free so you can install and use them interchangeably. I usually reach for Atom when I’m doing project work on the Mac. Brackets is my preferred choice on the PC for client-side projects or markdown files (there’s a great preview plugin). Finally, I use Light Table for quick viewing and editing on all OSs.

Ultimately, it’s congratulations to Sublime Text, which remains the editor of choice!

Do you agree with Craig’s choice? Please leave your comments, and let us know which products you’d like compared (not just text editors) in future SitePoint Smack-downs.

We teamed up with SiteGround
To bring you up to 65% off web hosting, plus free access to the entire SitePoint Premium library (worth $99). Get SiteGround + SitePoint Premium Now
Login or Create Account to Comment
Login Create Account