This time, I chose to implement it using React, Redux and ImmutableJS. I really enjoyed the functional nature of this stack — state management is so much simpler and predictable this way.
When writing a web application from scratch, it’s easy to feel like we can get by simply by relying on a DOM manipulation library (like jQuery) and a handful of utility plugins. The problem with this is that it doesn’t take long to get lost in a nested pile of jQuery callbacks and DOM elements without any real structure in place for our applications.
Chain.js – Data Binding Service for jQuery Chain.js is a jQuery plugin, providing unobtrusive data-binding capability that allows you to generate web contents automatically by binding your data to html. Unlike other data-binding frameworks and library, it uses pure DOM, instead of string-based innerHTML approach, so event binding won’t gone during rendering. This library can also be very helpful if you strictly separate your data from your HTML, e.g. developing using MVC-Pattern