Today marks the first day of F8 2017, where more than 4,000 people gathered in San Jose to learn about Facebook's latest technologies and tools for developers. We announced several new open source projects today that improve app experiences for both users and engineers. With modern frameworks, we can support richer, more immersive experiences like augmented reality, even on low-power devices.
Today we open-sourced Litho, a new declarative framework for efficient UIs on Android. Every month, more than 1 billion people use Facebook for Android, often on typical devices over slow or inconsistent network connections, and we wanted to provide a best-in-class experience for everyone regardless of how they access our Android products. Litho uses a declarative API to define a user interface out of individual components. It seamlessly prepares UI components ahead of time, runs layout code in background threads, and renders incrementally to provide the best experience for users. We've already started rolling out Litho across our Android apps, including the main Facebook app, Facebook Lite, Messenger, and Workplace, and have seen up to a 35 percent improvement in scroll performance. We're excited to open-source Litho and hope to enable Android developers everywhere to develop more efficient UIs while writing simpler code.
As our apps have grown more and more complex, and in order to support low-end mobile devices, we've been exploring some fundamental changes to React. React Fiber is a complete, backwards compatible rewrite of the React core which enables sophisticated scheduling of rendering work. In the short term it will unlock new developer facing features like comprehensive error boundaries, the ability to return arrays and strings from render, and more descriptive error messages and stack traces. In the long term, Fiber will serve as a new foundation on top of which the next several years of improvements and innovation will come, making it easier to build high-quality web and native mobile apps.
Relay Modern is also designed as a suite of modular tools that can form the foundation of a GraphQL client ecosystem: An optimizing GraphQL compiler that can efficiently regenerate code artifacts, a view-agnostic core runtime that can be integrated into React and other view libraries, and an easy-to-use React API.
For a full recap of everything announced today, you can check out today's keynotes from Mark and others here, as well as find videos of all the engineering and open source talks at fbf8.com.