Raph Levien, a member of the Fuchsia OS team at Google, apparently spends a significant amount of his time (his 20% time perhaps) on Xi, a new text/code editor. Levien has lofty goals for the code editor, including availability for all desktop platforms, and, of course, being the primary text editor for Google’s forthcoming Fuchsia OS.
From the project’s abstract:
Xi is a project to build a modern text editor with uncompromising performance. Its thoroughly async, loosely coupled design promises performance and rich extensibility, but creates interesting engineering challenges, requiring advanced algorithms and data structures. In addition to pushing the state of computer science for text handling, the project also seeks to build an open-source community for teaching and learning, and working together to create a joyful editing experience.
Xi (pronounced “Zigh”) puts Levien in the ring with Google’s own Android Studio, Microsoft’s Visual Studio (and VS Code), Apple’s Xcode and even recent Google ally Jetbrains’ IDEA family. In some ways, the editor also goes up against editors like Github’s Atom and Sublime Text. Each of these competitors have different goals that make them best at what they do. For Xi, the goal is to be fast, no matter what.
“It really came from researching data structures… kind of going deeper into it and realizing that this could be the primitive, this could be the basis for building a really good text editor,” Levien says. “It feels to me that there’s a need for this. There are editors that are very usable but built on older technology, and then there are editors that are very rich in functionality, but are not performant. The most important thing of Xi is uncompromising performance.”
To make these speeds possible, Xi separates its core (built with Rust) from the UI. This separation also makes it easier to be cross-platform, with in-progress targets for Mac, Linux, Windows, and in past even Android.
If you want to learn more, check out Raph’s recent talk:
FTC: We use income earning auto affiliate links. More.