Enter React.js
As we'll see in this chapter, the answer to the question posed in the previous section is a resounding yes and, as you might have guessed, it involves React.js.
But what makes it special?
It's wise to start with what React is not. It is not an MVC framework and as such it is not a replacement for the likes of AngularJS, Backbone.js, and so on. React focuses solely on the V in MVC, and presents a refreshingly different way to think about user interfaces. We must take a slight detour in order to explore how it does that.
Lessons from functional programming
As functional programmers, we don't need to be convinced of the benefits of immutability. We bought into the premise long ago. However, should we not be able to use immutability efficiently, it would not have become commonplace in functional programming languages.
We owe it to the huge amount of research that went into Purely Functional Data Structures—first by Okasaki in his book of the same title (see http://www.amazon.com/Purely...