New for GitHub: Atom Integration and a Desktop Client Beta

GitHub Inc. today announced new integration with the open source Atom code editor and a beta of its GitHub Desktop app. Both provide developers with new ways of working with the GitHub software development platform and the open source Git distributed version control system, beyond the traditional command-line interface (CLI) and browser-based experience.

GitHub for Atom is a new package that's integrated into the 1.18 beta release of the Atom code editor -- originally developed by GitHub -- which reportedly has attracted some 2.1 million active users since its 1.0 release in 2015.

"The Git and GitHub Integration for Atom is ready for your editor, bringing your Git workflow right where you code," GitHub said in a blog post today. "The new integration allows you to use some of the most common Git operations directly in Atom's UI: stage files, commit code, switch branches, and even resolve merge conflicts."

GitHub said the new integration is just the first part of a continuing effort that will soon see enhancements to existing operations along with all-new functionality to be introduced.

Another blog post on the Atom site provided more information on the new integration, which it described as a preview still in a very early stage.

"Git is an essential part of many developers’ workflows, but dropping to the command line or another GUI application in the middle of writing code can take you out of the flow," the Atom.io post said. "The GitHub package provides a dock item and status bar widgets to give you access to some of the most common Git operations without leaving your editor. Stage changes and create commits, create and switch branches, and even resolve merge conflicts directly in Atom’s UI."

As an early-stage project, the Atom post said the Atom/GitHub integration is just the first step of the team's core mission, which it described as: "reduce context switching and increase productivity by bringing core workflow tools directly into your editor."

Meanwhile, the new GitHub Desktop beta, the company's new open source client for working with its namesake platform, also lets developers create project code branches, collaborate with other developers and commit project changes without using the CLI.

GitHub Desktop has been completely redesigned on top of the Electron framework -- formerly known as Atom Shell -- which can be used to create native apps with Web technologies such as JavaScript, HTML and CSS. Electron also provides the main GUI framework for Atom itself and the popular Visual Studio Code editor from Microsoft.

[Click on image for larger view.]
GitHub Desktop (source: GitHub)

With downloads for both Mac and Windows development, the client app was written in TypeScript and uses the React JavaScript library for building UIs that was originally developed by Facebook. Hosted on GitHub under an MIT license, it can be installed alongside existing instances of the older GitHub Desktop for Mac or GitHub Desktop for Windows apps, though there's no current migration path to import existing repositories into the new offering. The site says developers can get started with it by dragging-and-dropping repositories from disk onto the application.

"We've rebuilt GitHub Desktop from the ground up in Electron to create a simplified user experience focused squarely on how you use GitHub," the company said in its introductory blog post. "Developers who are new to Git and GitHub can get comfortable without the command line and seasoned users can work frictionlessly across multiple projects.

"Desktop Beta is open source, ready for your feedback and input at github.com/desktop/desktop. Build on the app with the functionality you need or, even better, contribute and improve the experience for everyone."

A GitHub Engineering blog post provides the nitty-gritty details of the one-year development process as well as the reasoning behind the team's decisions, such as the statement: "As it turns out, building native apps for multiple platforms doesn’t scale."

Developers can find more information in the documentation and in an upcoming overview presentation scheduled for May 30.