Oct 26, 2018

JavaScript Data-Binding

It can be very helpful to use one or two-way data-binding to ease syncing updates to and from DOM elements, given the dynamic nature of many modern web applications.

- Knockout is an MVVM framework allows you to easily associate DOM elements with model data using a concise, readable syntax. When your data model's state changes, your UI updates automatically. Knockout enables you to implicitly set up chains of relationships between model data, to transform and combine it.

- Rivets.js is agnostic about your model/controller layer and works well with existing libraries that employ an event-driven model such as Backbone.js and Stapes.js. It ships with a built-in adapter for subscribing to plain JS objects using ES5 natives, however this can be replaced with a Watch.JS adapter or an Object.observe adapter.

- Ractive.js is a template-driven UI library for building reactive user interfaces. It supports declarative two-way data-binding, event handling through a publish/subscribe mechanism, and performant animations and transitions with intro and outro directives.

- Ember.js provides a convention-over-configuration opinionated framework for building large web applications, and provides tools for url routing, data-binding templates, creating components, loading data from servers, and more.