Part III. Real-World Solutions

It’s been a great year for isomorphic JavaScript. Since we started writing this book, we’ve seen the isomorphic JavaScript landscape change and evolve. The JavaScript language and server-side JavaScript environments are maturing and are gaining more adoption. JavaScript is becoming a dominant language with an incredible ecosystem of libraries that run on both the browser and the server.

Developers from different backgrounds are converging on JavaScript. At the O’Reilly Fluent Conference this year we had the opportunity to meet many developers who are starting to use the concepts and implementations we’ve discussed in this book. We also had a chance to sit down with some of the thought leaders of the JavaScript community. During our discussions we discovered that, in a lot of cases, the real wedge for Node.js into the enterprise space is in fact isomorphic JavaScript. Isomorphic JavaScript is the real game changer that forces many teams—in some cases teams that are very used to a different server stack—to reluctantly acknowledge the benefits of JavaScript on the server. It is becoming harder to deny the significance of isomorphic JavaScript especially with its implications for initial page load performance and search engine indexing and optimization.

So far, this book has focused on providing the foundational knowledge required to build an isomorphic JavaScript application. We’ve introduced the concepts around isomorphic JavaScript apps and built a seed project that implements these concepts. In this part of the book, we will explore existing solutions in the market today, looking at various frameworks that have adopted (or will soon adopt) isomorphic JavaScript. We’ll also see examples of isomorphic projects at different companies in different situations using different technology stacks. These case studies outline the many kinds of problems teams have to solve when building isomorphic JavaScript apps. We hope this part provides a third dimension to the overall picture, illustrating approaches you might consider when adopting isomorphic JavaScript.