O'Reilly logo

Building Isomorphic JavaScript Apps by Maxime Najim, Jason Strimpel

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

Chapter 3. Different Categories of Isomorphic JavaScript

Charlie Robbins is commonly credited for coining the term “isomorphic JavaScript” in a 2011 blog post entitled “Scaling Isomorphic Javascript Code”. The term was later popularized by Spike Brehm in a 2013 blog post entitled “Isomorphic JavaScript: The Future of Web Apps” along with subsequent articles and conference talks. However, there has been some contention over the word “isomorphic” in the JavaScript community. Michael Jackson, a React.js trainer and coauthor of the react-router project, has suggested the term “universal” JavaScript. Jackson argues that the term “universal” highlights JavaScript code that can run “not only on servers and browsers, but on native devices and embedded architectures as well.”

“Isomorphism,” on the other hand, is a mathematical term, which captures the notion of two mathematical objects that have corresponding or similar forms when we simply ignore their individual distinctions. When applying this mathematical concept to graph theory, it becomes easy to visualize. Take for example the two graphs in Figure 3-1.

chap4isomorphicGraphs.png
Figure 3-1. Isomorphic graphs

These graphs are isomorphic, even though they look very different. The two graphs have the same number of nodes, with each node having the same number of edges. But what makes them isomorphic is that there exists a mapping for each node ...

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

Start Free Trial

No credit card required