GitHub’s Atom, the Node.js- and HTML5-powered code editor, has traditionally integrated with Git repositories—including GitHub itself—only by way of third-party components.
All that changed this week with the unveiling of a new core package for Atom, called appropriately enough GitHub for Atom, along with new release and beta editions of Atom itself.
GitHub users, dock here
The new edition of Atom, version 1.17, introduces a new UI component called “docks,” which is a way to provide side- or bottom-dockable tool panels in the editor. IDEs like Visual Studio and Eclipse have had dock-like components for some time, but now Atom is adding such a component as a core element.
Atom developers can take advantage of a high-level API for manipulating docks, so that “tool panels written by different package authors [can] coherently share screen real estate,” according to GitHub’s blog announcement.
One of the first add-ons to use the dock metaphor is GitHub for Atom. With it, a developer can use a side panel in whatever current view is in focus to stage changes, create commits, work with different code branches, and resolve merge conflicts.
Technically, GitHub for Atom is still a preview, so it’s been bundled with Atom’s 1.18 beta version rather than included in the latest full release. The core functions work, but many other integrations, like browsing pull requests in the side panel, are still under development.
Going with the (work)flow
It doesn’t seem likely that adding GitHub support directly into Atom will mean demand for a standalone desktop Git interface will dry up. To that end, GitHub’s own standalone desktop client, GitHub Desktop, has also been remade. It’s been rewritten using Electron, the same cross-platform desktop development library used by Atom, and was released as an open source project under the same liberal terms as Atom itself.
According to the GitHub Engineering blog, the main impetus for rewriting GitHub Desktop wasn’t just to make the app look better. It centered around creating a single codebase that could be deployed across multiple platforms (MacOS, Windows, and Linux) and customized where needed for platform-specific things like localization support.
Where GitHub sees the biggest appeal with GitHub for Atom, as opposed to GitHub Desktop, is with developers who don’t like to change applications in the middle of their workflow. Keeping everything in one interface “reduces context switching and increases productivity by bringing core workflow tools directly into your editor,” according to GitHub in its post.
Previous support for both Git and GitHub in Atom was largely ad-hoc. Individual packages supported specific Git functions, but there was little in the way of a single-package solution for all one’s Git needs. GitHub for Atom provides that, although at the cost of being more a GitHub solution than a general Git solution.
GitHub has long thought of Atom as a simple core, with all functionality provided by add-ons. With GitHub for Atom, there’s now the possibility that Atom will become all the more a delivery mechanism for offerings from GitHub’s own platform.