MeteorJS, Polymer, Angular, Web Components UI, Virtual/Shadow DOM and the future
Below some key concepts and options you have.
Shadow DOM vs Virtual DOM
Conceptually they are the same, when a list of item changes, you want to replace just the items or the parts that are changed an maintain the existing rendered list of elements in the DOM as is.
- Meteor(Blaze) and React have Virtual DOM
- Polymer has Shadow DOM, which is native in Chrome and works with polyfill in other browsers
Components UI (in sandbox)
Some rich UI components should be data agnostic and reusable (at least inside projects which use the same CSS conventions).
It also means that the js needed in the view doesn’t have to leak outside.
- Meteor Components or Space UI.
- Polymer Components are already isolated and support custom animations.
I just want Material design for a new project.. what do do? :D
Use Polymer + Paper elements or if you are a Meteor fan, Materialize + grigio:materialize-sass + write your own js to activate the components with Blaze.