Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News GitHub Open Sources the Atom IDE

GitHub Open Sources the Atom IDE

Leia em Português

This item in japanese

Lire ce contenu en français

GitHub has open sourced their Atom IDE including the Atom Shell framework, Atom Core, and the Atom Package Manager (apm).

According to GitHub, the Atom Shell has been under development for over 2 years, going through multiple transformations as the team tested the waters with a Cocoa WebView, a Node Webkit, a Chromium Embedded Framework, and settling in the end on a framework that integrates Chromium with Node.js.

The Atom Core provides the build system, workspace, panes, a global environment, and the text editor. Most of Atom’s functionality is not in the Core but in the over 80 packages that were open sourced earlier this year, the community adding +500 packages in the following 10 days.

The last piece open sourced is the apm, a library and command line utility for dealing with publishing and installing Atom packages.

GitHub wanted to have a code editor that has the appeal of Sublime or TextMate and the extensibility of Emacs or Vim, so they started the project Atom. While Atom is meant to be firstly a tool for web technologies, it does not run online like Eclipse Orion or Cloud9 due to limitations in accessing the file system and sub-processes. Atom is actually the latest Chromium integrated with Node.js and having access to the native UI with native dialogs, menus and window controls.

This combination offers Atom the looks and capabilities of a browser-based editor by building on all the present and future features of Chromium, development freedom by not having to make it work on different versions of all major browsers, access to a growing collection of over 70,000 Node.js packages, and all the benefits of a desktop application.

Besides running JavaScript apps on Node.js’ V8 engine and offering full access to the browser’s API, Atom supports C, C++, Objective-C out of the box, and it can be extended to support syntax highlighting for other languages as well, and the community has started adding support for Python, PHP, CoffeeScript, Java, Ruby, Go, Clojure, XML, Markdown, CSS, etc., some of them being TextMate bundles converted to Atom. It probably won’t take long until most of the over 100 languages supported by TextMate will find a home with Atom.

While still in its infancy, Atom sports a number of useful features: Git integration, file system browser, project find and replace, multiple cursors, multiple panes, snippets, code folding, etc., and its functionality can be extended by anyone now that the project is open sourced.

In spite of all these developments, some are wondering if there is room for a new IDE. Will developers switch their IDE for Atom? It probably depends on Atom’s pace of innovation, community’s commitment to invest beyond the easy phase of adding TextMate’s syntax support, its stability and breadth of features that mature IDEs have.

Atom is currently available on Mac OS X, but pre-built versions for Windows and Linux are expected in the following months after some performance issues are taken care of. In the meantime, developers can build those for themselves from the source code.

Rate this Article