"Building large-scale web apps" is almost here!
The React field guide to build and maintain large-scale applications
Hey folks! Addy and Hassan here 👋🏽 We're so excited to share an update on "Building large-scale web apps: a React field guide" today! The book is almost here and we've got a first-look at physical copies this week!
After years of hands-on experience developing and leading large-scale React applications at companies like Google, Shopify, and DoorDash, we realized there was a need for comprehensive practical guidance on this subject. Most resources introduce React concepts but rarely go deep on the intricacies of scale - the exact pain points engineers encounter daily in real-world codebases.
Driven by this pressing gap, our upcoming book covers specialized topics aimed at helping developers build resilient, high-performing React apps ready for complexity.
We start by covering software complexity fundamentals before diving deep into practical React-focused chapters. We discuss simplifying convoluted state management by leveraging tools like React Query, Context, the useReducer Hook, and Redux. We explore various data fetching strategies and tradeoffs to connect React apps with APIs efficiently.
Several chapters are dedicated to UI and UX for consistency and usability. We cover how design systems, component libraries and CSS methodologies foster better collaboration between developers and designers. We also discuss accessibility, internationalization, personalization and A/B testing techniques to cater to diverse user needs.
Later sections tackle more advanced organizational and architectural optimizations for scale. We provide actionable guidance on simplifying migrations, enabling scalable infrastructure, implementing robust testing and utilizing TypeScript for improved reliability.
Here's a snippet of what readers can expect:
Architecting for Performance
In the performance chapter, we provide best practices for optimizing the user experience:
Tools to identify optimization opportunities - Chrome DevTools, Lighthouse etc.
Reducing JavaScript costs and optimizing parsing/compilation
Importance of metrics like Largest Contentful Paint (LCP), Interaction to Next Paint (INP) / First Input Delay (FID) etc.
Patterns for improving perception with skeleton screens, lazy loading etc.
Optimizing images, fonts, third-party scripts and more!
Testing for Confidence & Reliability
We provide guidance to help test React apps effectively:
Unit testing individual functions/components with Jest and React Testing Library
Writing integration tests to validate key workflows and integration points
End-to-end testing critical user journeys with Cypress
Leveraging static analysis and type-checking for catching issues early
Factors to consider in determining overall testing strategy
And So Much More...
Managing State with Tools like React Query & Redux
We provide a practical guide to managing client-side state - from the simplicity of useState and useReducer to leveraging sophisticated tools like React Query and Redux:
How React Query helps eliminate messy request logic with features like caching, background updates, and retry capabilities
Simplifying complex state transitions with useReducer
How Redux enables predictable global state management via concepts like actions, reducers and central stores
Tradeoffs to consider before introducing a state management library like Redux
With insights from leading large-scale React apps at Google, Shopify and Doordash, this book is for any JavaScript developer working with React, even more so those looking to level-up their skills!
Sample Chapter (Modularity)
If you’re interested in reading a sample chapter of the book, here’s where you can find a sample on the chapter of Modularity and their purpose in large-scale React applications.
Can't wait to share the book with you! We'll be aiming to launch in the next coming weeks and will keep you posted when we do. Stay tuned!
Addy and Hassan
hi, the link for the sample chapter is down, can you please fix it?
Any release date ?