Sublime VS. Atom: Can GitHub Take the Lead?

By Alex Zhitnitsky —  August 13, 2014 — 12 Comments

VS Sublime VS. Atom: Can GitHub Take the Lead?
Comparing Sublime and Github’s Atom in 10 major categories

Sublime has been the undisputed text editing champion for a while now. But a new contender – GitHub’s Atom – is stepping into the spotlight, making noise and trying to steal the not-so-old champion’s thunder. 5 Months after the release of its beta, and some 30 versions later, we felt it would be a good time to test these two head-to-head. On the left corner, in the black shorts with the orange stripes – the long standing champion Sublime. In the green corner – the young and “hackable” contender – GitHub’s Atom.

Let’s get started:

1. Setting up

Both editors are cross platform and available for Windows, Linux and OS X. Sublime’s stable version is 2.0.2, and version 3.0 is in beta for over a year now. As with the recent beta of Atom (v0.120), you’ll have to jump through some hoops for Windows and Linux. On windows it’s recommended to install through the Chocolatey package manager and on Linux you’ll have to build it yourself.

One thing you’ll quickly notice is that Atom weighs well over 60Mb while Sublime weighs 6x less. We’ll talk about that when we’ll drill down into performance. Once installed, you’re ready to roll.

Bottom line: Installation is easier with Sublime, but Atom is still in beta.

2. It starts with a little peek at Atom

If you’re already familiar with Sublime, Atom will feel just like home. The look and feel of the UI, selection shortcuts and command palette are very similar to those of Sublime. Some might even say too similar, to say the least.

A nice addition you’ll quickly see in Atom are the keyboard shortcut hints that appear on the backgrounds of blank tabs. A useful shortcut or feature you’ve ignored in Sublime might become more accessible in Atom. Other than that, here’s a challenge – try closing your eyes for a few seconds going ⌘+Tab (Or alt+tab god forbid), and then try figure out which editor you’re looking at.

minimap Sublime VS. Atom: Can GitHub Take the Lead?
Missing in Atom: The iconic Sublime code minimap

Bottom line: There are a few subtle nuances in the look & feel, Atom has a slight rounder touch to it.

3. Find, select, replace and some magic tricks

My first memory of Sublime going past the dark theme was multiple markers. I guess that’s the way editors show off. Combine this with the ⌘+D multiple selection / find next hybrid and you have one of the flagship features of advanced editors, a fast find & replace that allows quick renaming of variables or attributes.

With Atom it’s very similar and the editors even share the same keyboard shortcut. More than that, the command palette from Sublime is also available in Atom (once again, with the same keyboard shortcut), showing all available commands for a certain context. With Sublime it’s also easy to find HTML tags using the fuzzy finder, try opening it with ⌘+P, and then prefix your search with a hashtag. Atom currently lacks this feature.

command palette1 Sublime VS. Atom: Can GitHub Take the Lead?
The Sublime command palette making a guest appearance at Atom

Bottom line: Atom and Sublime perform pretty much the same here.

4. Tree view, tabs, navigation and file handling

Next up, we would want to load multiple files or projects and see how the editors react. There’s a nice command line shortcut that comes out of the box with Atom. To activate it go through the app’s menu and do Atom -> “Install shell commands”. Navigate through terminal to your desired folder, type atom and there you go, all your files loaded into view. The same is possible with Sublime’s subl tool, but like many other features, Atom just comes out of the box with this.

command line Sublime VS. Atom: Can GitHub Take the Lead?
Atom’s command line tool

Once we have the files loaded, the fuzzy finder allows us to navigate between them real quick, exactly the same in both editors. Playing around with tabs, throwing them around and switching between them also works just the same.

The tree view on the other hand (or sidebar as it’s called in Sublime) is a bit different, notice the color changes (both on a dark theme) and the icons. Another thing that should be coming soon to Sublime’s next version and already available on the Atom beta is image previews – right in the editor. It could be useful in skipping the hassle of going out of the editor when working with images.

tree Sublime VS. Atom: Can GitHub Take the Lead?
Atom on the left and Sublime on the right

Bottom line: Could be a matter of taste, I personally like the way it’s done in Atom.

5. Source control integration

Naturally, GitHub’s Atom comes ready with git integration, committing from the editor is a different story though (Edit: here’s a package that also allows committing to git). When editing a project you’ll find that the tree view has color indicators for .gitignore files and tree view files with changes that have not been committed yet. It also has a status bar with your current branch, a Git Diff package and open on GitHub shortcuts. More advanced features are yet to come.

Sublime is cleaner, but has wider variety of tried and tested integration from external packages including Git, Mercurial and SVN. Atom’s community is showing great signs but it still needs time to prove itself in creating an extensive package ecosystem.

Bottom line: Sublime’s external packages for the win.

6. Web Vs. Native goes back to the desktop ring

Sublime is written close to the metal in C++ using a Python API for plug-ins. A nice little feature not many people are aware of is the ability to open up a Python console from within Sublime or run your Python scripts directly through it without any external packages (except Python of course).

On the other hand, the most amazing thing about Atom is that it’s an all web based desktop app. In fact, it’s built on top of Chromium, Google’s open-source web browser, so… wait wait wait … does this mean… we can fire up the dev tools?

devtools Sublime VS. Atom: Can GitHub Take the Lead?
Yes we can! (and the JavaScript console too)

Other than Chromium, Atom is built with C++, Node.js, CoffeeScript and of course HTML, JS and LESS. But how does that affect performance? Well, pretty badly. Atom takes the web native, which means every single tab, window or frame is rendered locally from HTML. Recently it switched to React to improve performance but you can still feel the difference (try resizing Atom or moving to full screen mode for example). One more downfall is that Atom can’t currently handle file sizes larger than 2Mb.

Bottom line: Sublime will keep performing better, but it would be interesting to see just how far Atom could push the envelope of web performance.

7. Packages and customization

The first thing you notice when visiting Atom.io is the tagline: “A hackable text editor for the 21st century”. It also comes comes with over 50 packages pre-installed around its core, everything is hackable and interchangeable. Since it’s web based, creating packages (written in CoffeScript) gives you more control over the editors’ components (even installing packages is easier with Atom’s settings menu). For example, check out this recent package that integrates StackOverflow search results and snippets right into Atom without having to leave the editor:

ask stack1 Sublime VS. Atom: Can GitHub Take the Lead?
“Ask Stack” on Atom: https://atom.io/packages/ask-stack

On Sublime’s front, the editor comes with less bundled packages (written in Python). But it’s nonetheless extendable. Even the popular package manager, Package Control, is an external plug-in. A quick look at its front page, and baam – the day has ended, and all you managed to do is play with plug-ins. Themes are available for both editors of course.

Bottom line: Atom, being web based, offers some new exciting possibilities to editor extensions, but Sublime’s community already produces and keeps on producing a feature-rich ecosystem.

8. Community

Sublime has a huge following of users with hundreds of questions each month on StackOverflow, countless blog posts on any feature by power users, recommended workflows and packages (Even a quite good unofficial newsletter) – mostly pushed by the users themselves with little to non official involvement. Official platforms are quite hard to maintain considering Sublime is mostly a one-person show. Check out this recent post confirming it is still alive and kicking despite the lack of communication.

It’s interesting to spot the differences on this front between Sublime and Atom, whose still taking its first steps. However, since Atom is open-source, backed by GitHub, and developed on it, everything looks modern, shiny and bright: From the website, through the discussion board (compared to Sublime’s “oldschool” phpBB) to the presence and action on GitHub itself.

Bottom line: You’re less likely to get lost with the established Sublime Text, but GitHub knows its stuff when it comes to community management and support.

9. Pricing

Atom is open-source and free under the MIT license while Sublime costs $70 per user (This includes the long awaited version 3 update). There are no differences between the paid and free Sublime versions, apart from getting the “unregistered” status off and losing an occasional pop-up screen. Also, the Sublime Text 3 beta is available publicly, but the latest build is for registered users only. That said, $70 for a practically independent developer with an awesome product actually seems alright as a token of appreciation.

Bottom line: Atom is free, Sublime is “Winrar free”.

10. A note about the release cycle

This is a short one, take one quick look at Sublime’s release notes compared to Atom’s release notes. You’ll see that Atom is going ahead full throttle with new weekly releases while Sublime’s are far and in between. In fact, Atom probably already had more releases in its short lifespan than Sublime had since its inception.

Bottom line: When it comes to new releases and bug fixes Sublime is unbelievably slow, while Atom is moving super fast.

So what’s the final verdict?

It’s great to see a new major player in the text editors landscape, especially a web based one. This challenges some basic concepts and gets the conversation going – Always a good thing. Is this a fair “fight” with Sublime’s Jon Skinner and GitHub’s octocat army? Sublime is the undisputed champion with a huge community and it will always have better performance. Although if Atom’s performance issues will not push users away – Sublime better speed up the release cycle, brush up its small UX tweaks, and consider letting in more contributors because it looks like this is where Atom may finally have the upper hand.
takipi logo 03 Copy Sublime VS. Atom: Can GitHub Take the Lead?

Java Developers – Know when and why production code breaks – Start Your Free Trial 

CI Sublime VS. Atom: Can GitHub Take the Lead?

CI – Know when your code slowed down after deploying a new version – read more

Alex Zhitnitsky

Posts Twitter

Some kind of monster @ Takipi, GDG Haifa lead.
  • Fabian Lopez

    I haven’t tried atom but now i’m curious, very interesting

    • http://www.takipi.com/ Alex Zhitnitsky

      Thanks Fabian, another up and coming open-source and web based editor to check out is Brackets, interesting things are happening in this space

  • https://chiefy.github.io/ Chief

    I wouldn’t exactly call `PS choco install atom` “jumping through hoops” to install on Windows. I did this yesterday and it was pretty easy :) Good roundup though, I am a ST3 user who is toying with the idea of switching to ATOM or VIM.

    • http://www.takipi.com/ Alex Zhitnitsky

      Thanks Chief, let’s settle on jumping through one hoop ;)

  • http://larsschuetze.de/ Lars Schütze

    Webupd8 Team provides a PPA which is regularly updated for Ubuntu. Just read http://www.webupd8.org/2014/05/atom-text-editor-ubuntu-ppa-update.html for more.

    Atom needs some serious performance update. Until then, I’ll stick with Sublime Text.

    • http://www.takipi.com/ Alex Zhitnitsky

      Hi Lars, thanks for the reference! Great shortcut

  • Natsirtt

    Thanks for the article. I’m gonna give Atom a try for some time as it seems to fastly catch up on Sublime, and the package managing (and the young but active community) seems really enjoyable.

    But I guess the most awesome discovery I made through this article is Chocolatey. This thing should be reaaaally must more known, especially by Frustrated-Linuxians-Forced-To-Work-On-Windows like me :p

    • http://www.takipi.com/ Alex Zhitnitsky

      Thanks @natsirtt:disqus, happy to hear you discovered something new :)

  • Samuel Williams

    Can you elaborate on the source code related issues? I personally found Atom a huge win here, with out of the box support for git unlike anything I could get working with Sublime Text.

    • http://www.takipi.com/ Alex Zhitnitsky

      Hi Samuel, thanks for the comment! Did you mean source control? Atom has some great out of the box support for git but I didn’t find a way to commit right from the editor during the writing of this post (something that’s possible with Sublime’s Git plug-in: https://sublime.wbond.net/packages/Git).

      Regarding performance, since Sublime is native and written in C++ and Atom is web based, I think that it would be hard and maybe even impossible for Atom to reach the same responsiveness and speed. However, if Atom will keep focusing on improving performance it might reach the point where you wouldn’t notice the difference for most use cases.

      It’s amazing to see all the packages and community growth with in the short period of time Atom exists, but currently I think Sublime still has a broader offering when it comes to packages. Atom’s web based nature offers greater control for plug-ins so it would be interesting to see what kind of creative and useful packages will come in the future.

      • Samuel Williams

        Yeah I did mean source control, I thought I read source code as your subheading, my bad. There is the git plus package for atom which lets you commit files. Generally I prefer to use other tools for that though.

        All things being equal, you are right about performance. However, as long as they can make it fast enough, it won’t matter. I think that’s a reasonable argument. I do agree that Atom does have a pretty big performance problem.. but I’m kind of in awe at what’s been capable so far with the react editor, and if they manage to improve the core performance of WebKit/Chrome that would be amazing!

        I don’t have enough experience with Sublime Text, w.r.t. to the scale of the plugin ecosystem. I tried to use S.T. but found the git support to be generally really bad. For example, no way to change the icons or text colour in the sidebar to show git status, no *good* way to show changed lines of text. The response from IRC was “that’s just how it is”. After that I gave up with S.T. Even if you compare S.T. with TextMate, I think TextMate pretty much wins by miles if you just need an editor for a Mac. The new T.M. 2.0 alpha builds are really good.

        The main thing I really like about Atom is that I can use the same plugins on both Mac and Linux, and usually, now, Windows.

        • http://www.takipi.com/ Alex Zhitnitsky

          Thanks, added a link to git-plus!

          Re performance, amazing to see this, seems like it’s a high priority for Chromium: http://www.chromium.org/developers/speed-hall-of-fame especially with all the #perfmatters campaign.

          I also liked the Atom tree view better, seems like the Sublime sidebar can’t be extended this way even with plug-ins.