f8app
Source code of the official F8 app of 2017, powered by React Native and other Facebook open source projects.
The complete source code of Facebook's official 2017 F8 conference mobile app, a real-world React Native project for iOS and Android published as an open learning resource, with a companion tutorial series walking through every design decision.
This repository holds the complete source code for the F8 app, the official mobile application for Facebook's annual developer conference held in 2017. The app was publicly available on both Google Play for Android and the App Store for iOS, and Facebook chose to release all of its code for anyone to read, study, and learn from.
The app was built with React Native, a framework that lets developers write mobile apps using JavaScript while producing apps that run natively on both Android and iOS. Alongside React Native, the team used Redux for managing app state, Relay and GraphQL for fetching and organizing data from a server, and other open-source projects from Facebook.
Facebook published a detailed tutorial series at makeitopen.com explaining step by step how the app was designed and built. Those tutorials walk through the choices the team made, from setting up the project locally to the data and state patterns they adopted. If you want to run the app on your own machine, the project links to a local-setup guide in that same series.
Because the README is brief and the main depth lives in the external tutorial series, the repository itself is best understood as a reference codebase: a real-world, production-grade React Native application that a large team shipped to conference attendees, made open for the community to study.
Where it fits
- Study a production-grade React Native codebase to understand how Facebook structured state management, data fetching, and navigation in a real shipped app.
- Follow the companion tutorial series at makeitopen.com to learn React Native from scratch by building along with an actual conference app.
- Reference how Redux and Relay are combined in a single React Native project when architecting your own mobile app.