Rebuilding our tech stack for the new Facebook.com

From Facebook Engineering Blog:

When we thought about how we would build a new web app — one designed for today’s browsers, with the features people expect from Facebook — we realized that our existing tech stack wasn’t able to support the app-like feel and performance we needed. A complete rewrite is extremely rare, but in this case, since so much has changed on the web over the course of the past decade, we knew it was the only way we’d be able to achieve our goals for performance and sustainable future growth. Today, we’re sharing the lessons we’ve learned while rearchitecting Facebook.com, using React (a declarative JavaScript library for building user interfaces) and Relay (a GraphQL client for React).

Tons of great nuggets in here, and a lot that I can relate to in what’s we’ve been up to at my job.

Facebook reduced their CSS by 80%, added code splitting and added code budgets to help deliver what’s needed only when it’s needed. They also moved to GraphQL to modernize their data fetching.

It’s a shame Facebook makes products that are so terrible for society, because they really do build world-class software.