O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

What React Is and Why It Matters

Book Description

React quickly has become one of the most influential tools for web development and a compelling choice for many projects. The decision to use a new library such as React is critical to the way that teams function, so it’s essential to get buy-in from everybody at the table, including team members who are not developers.

Many excellent resources will teach you how to use React, but few get into just why this library matters. In this ebook, author Eric Baer examines React’s core innovations with as little jargon as possible to help promote a diverse set of views in your conversations about technology.

Any member of a technical team, from software engineers to program and product managers to technical management, can use this ebook to understand how the features and constraints of React and other development tools affect the way companies build modern web applications.

You’ll explore:

  • How React’s core components work
  • How React uses tricks from game development to deliver runtime performance by default
  • Why React’s academic leanings have pushed the web development community to adopt cutting-edge techniques from computer science
  • The challenges with using React on large projects
  • Why React Native is pushing the limits of code reuse across web and native development boundaries

Table of Contents

  1. Why I Wrote This
  2. 1. What Is React?
    1. A Short Example
    2. React Is a Library, Not a Framework
    3. Comparing React to Other Frameworks and Libraries
  3. 2. React: A History
    1. Takeaways
  4. 3. React’s Primary Innovations
    1. Virtual DOM
      1. The Web in the Age of jQuery (Circa 2006–2010)
      2. The Web in the Age of Backbone.js (Circa 2010–2014)
      3. The Web in the Age of React (Circa 2015–Current)
    2. Functional Patterns
      1. JavaScript’s Origins
    3. One-Way Data
    4. Simplicity
      1. Backbone.js
      2. Ember.js and AngularJS
    5. Takeaways
  5. 4. React’s Strengths
    1. Versatile Migration Path
    2. Runtime Performance by Default
    3. Code Reuse
    4. Reduced Complexity from Collocated Resources
    5. Fast Error Isolation and Correction
    6. Ecosystem/Community
      1. Stability
      2. Staying Power
    7. Takeaways
  6. 5. Challenges for Large React Projects
    1. Decision Fatigue
    2. Steep Learning Curve
    3. Browser Support
    4. Server-Side Rendering
      1. Organization and Maintenance
      2. SSR Performance
    5. Sharing and Distributing Components
      1. Styles Are Not Portable (Enough)
      2. Redux Does Not Support “Fractal” Architectures
      3. Context-Based Tools Make Components Impure
      4. No Sharable Build Configuration
    6. Takeaways
  7. 6. React Native
    1. Write an Application for Each Platform
    2. Develop for Just One Platform
    3. Develop One “Hybrid” Application that Compiles to Multiple Platforms
    4. What Is React Native?
    5. Takeaways
  8. 7. Common Questions
    1. Is React a Templating Language?
    2. Is React Similar to Web Components?
    3. What Is the Difference Between the Virtual DOM and a Shadow DOM?
    4. How Can React Be Used with Other Frameworks?
    5. How Will React Affect SEO?
    6. When Should I Not Use React?
    7. Are React and React Native the Same Thing?
  9. 8. What People Are Saying
    1. Airbnb
    2. Asana
    3. Atlassian
    4. Facebook Ads
    5. Netflix
    6. NFL
    7. PayPal
    8. Tesco
    9. Venmo
    10. Walmart
  10. Glossary