Chapter 1. Introduction to isomorphic web application architecture


This chapter covers

  • Differentiating between isomorphic, server-side rendered, and single-page apps
  • Server rendering and the steps involved in transitioning from a server-rendered to a single-page app experience
  • Understanding the advantages and challenges of isomorphic web apps
  • Building isomorphic web apps with React’s virtual DOM
  • Using Redux to handle the business logic and data flow
  • Bundling modules with dependencies via webpack

This book is intended for web developers looking to expand their architectural toolset and better understand the options available for building web apps. If you’ve ever built a single-page or server-rendered web app (say, with Ruby on Rails), you’ll have an easier time following the content in this book. Ideally, you’re comfortable with JavaScript, HTML, and CSS. If you’re new to web development, this book isn’t for you.

Historically, web apps and websites have come in two forms: server-rendered and single-page apps (SPAs). Server-rendered apps handle each action the user takes by making a new request to the server. In contrast SPAs handle loading the content and responding to user interactions entirely in the browser. Isomorphic web apps are a combination of these two approaches.

1.1. Isomorphic web app overview

1.2. Architecture overview

1.3. Advantages of isomorphic app architecture

1.4. Building the view with React

1.5. Business logic and model: Redux

1.6. Building the app: webpack