8‎ > ‎


Facebook developers have crafted a version of the Atom open-source text editor that can be deployed in a web browser. Atom in Orbit, as the new technology is called, is now available on GitHub under a BSD-3 Clause open-source license, and a demo app lets you take the tool for a spin.

The new tool — which a spokesperson stresses is more of a hack or demo than a full-bore open-source release — builds on Facebook’s Nuclide IDE, which itself runs on top of Atom. Atom has a user base and plenty of extensions to choose from, and people are familiar with its keyboard shortcuts. Now it can just run in a browser, which has certain advantages.

As Facebook product manager Roy Zhang explains today in a blog post:

At another hackathon later in the year, a few engineers set out to produce a version of Atom that runs in the browser as a step toward supporting remote development. While web apps in general offer several advantages for engineers — for example, automatic backups, remote access, and server-side processing — Atom on the desktop still enjoyed several features that weren’t available in the browser, such as synchronous access to the filesystem, access to local resources, natively implemented dependencies, access to native APIs, and unrestricted access to the internet. During the hackathon, the engineers found workarounds to these obstacles and contributed a set of scripts that repackages Atom’s source so that it runs as a web app.

Other companies have experimented with cloud-based integrated development environments (IDEs). Google recently incorporated the existing Eclipse Orion into its Google Cloud Shell for working with the Google Cloud Platform. AWS acquired startup Cloud9 IDE. And GitLab integrated Koding’s cloud IDE into its offering.

Atom in Orbit is among Facebook’s favorite hacks of 2016. Others include the Voyager optical transponder, instant verification for Account Kit on Android, and Swift support in Nuclide.

In the documentation for Atom in Orbit, Facebook software engineer Michael Bolin explains how Atom in Orbit contributes to Nuclide:

Nuclide’s support for remote development is a compelling example of combining the best features of desktop and web-based IDEs. All services in Nuclide are written using the Nuclide service framework, which ensures that features that are designed for local development will automatically work the same way when used as part of remote development in Nuclide. For example, consider the Flow language service in Nuclide, which provides autocomplete, click-to-symbol, diagnostics, and other language features when editing Flow-typed JavaScript code. The service can assume that it is running local to the JavaScript code it is servicing while Nuclide takes care of proxying the requests and responses to the user’s local instance of Nuclide. (Effectively, local development is just a special case where Nuclide and the service are running on the same machine.) In this way, from a single codebase, Nuclide can simultaneously support offline, local development on a beefy laptop in addition to the “thin client” model that users expect from a webapp when editing remote files.

One alternative to Atom in Orbit is GHEdit, a web-based implementation of Microsoft’s Visual Studio Code open-source text editor, which has risen in popularity, like Atom. But there are also companies that offer cloud IDEs, including Codenvy, which pushes the open-source Eclipse Che cloud IDE, and Codeanywhere.

Update at 3:42 p.m. Pacific: Added perspective from a Facebook spokesperson on the nature of the project.


Subpages (2): 9 e