Are GitHub and Facebook Challenging Visual Studio?

Microsoft may not have much to worry about yet, but there's a new IDE in town, open source and backed by a couple of heavy hitters in the coding industry.

GitHub and Facebook this week announced Atom-IDE, a new initiative to bolster the open source Atom code editor with IDE-like features.

Based on GitHub's barebones code editor, the project's UI borrows from Facebook's Nuclide editor, which itself was created to bolster Atom with more IDE-like features. Apparently, that effort from the social media giant didn't pan out as expected.

"Over time we've heard feedback that the 'one-size-fits-all' philosophy can be overwhelming for many Atom users," said Hanson Wang, a Facebook developoer on the Nuclide team, in a blog post. "That's why we're proud to announce the new Atom IDE UI package, which is part of our collaboration with GitHub in the broader Atom IDE initiative."

That broader Atom IDE initiative includes features such as: context-aware auto-completion; code navigation features including an outline view; "go to definition"; "find all references"; "hover-to-reveal information"; diagnostics such as errors and warnings; and document formatting.

Those features are provided by language packages that can be installed to supplment coding in TypeScript, Flow, JavaScript, Java, C# and PHP, with more support planned for languages such as Rust, Go and Python. The language packages are based on the Language Server Protocol.

"Each of the IDE packages expose a selection of functionality that is dependent on the underlying language server and is activated when you open files it supports," GitHub's Damien Guard explained in his own introductory post. "(Some take a few seconds to start-up and others like ide-java and ide-php will take a short while on first open to download the language server itself.)"

"If a language server exists for your favorite language it is incredibly easy to create your own Atom-IDE package that takes advantage of it by using our atom-languageclient npm library that provides common automatic wire-up of the major features as well as helper tools such as downloading support files and conversions," Guard said.

[Click on image for larger view.] Atom-IDE (source: GitHub).

For more information, check out:

Facebook's Wang detailed the roadmap for that company's part of the project, which will rely on community contributors.

"The list of features in Atom IDE UI doesn't yet encompass all the features available in the language service protocol, and over time we'll be working to fill in the gaps," Wang said. "In particular, we're looking to add:

"Our hope is that other Nuclide features will eventually also become part of the Atom IDE effort, including key components like the Nuclide debugger. Note that we're still committed to supporting the open-source Nuclide package for the foreseeable future."

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube