Facebook’s iOS Infrastructure

Facebook has been iterating its mobile products, continuing to increase the richness of the content and speed at which it is delivered. In transitioning to become a mobile-first company, Facebook has faced complex issues and opportunities to make its products more innovative, while building abstractions to do so that are powerful, yet simple—all fit for a very large scale.

Adam Ernst, an iOS Engineer at Facebook New York, will describe Facebook’s focus on speed and performance. He will examine in detail how they decoupled the client-server communication, reduced developer errors, and improved reliability on iOS and Android by writing a custom persistence layer built on top of immutable objects generated at compile-time from a schema on the server. Adam will describe the nuances his team faced and the solutions that that grew from the specific challenges and how they transitioned the codebase with a fast iteration cycle and frequent release process.

Ari Grant, an iOS Engineering Manager at Facebook, will explore how Facebook’s approach to redesigning the data layer of the app was followed by a rewrite of News Feed in the iOS app using similar functional design techniques to build a reactive UI layer with immutable objects, internal view reuse, and all view-configuration performed by the strongly instrumented, private infrastructure. He will describe the view system his team built and how they managed to reduce the code behind Feed by nearly 70%. Ari will end by describing how the team rewrote all of feed one piece at a time, all while keeping the system up and running and how these efforts have led to an even larger focus on speed and performance.

Leave a Reply

Your email address will not be published. Required fields are marked *