From time to time I’m hearing new buzzwords and maybe the most often was ReactJS, so I decided to take a short look on a few modern frameworks and libraries.
It’s clear what kind HTML it will produce and we have no issues with text editors, code analysers, parsers and other dev tools.
I need to be sure that Hyperscript would not isolate me in any way, so I’ve searched a number of libraries which covers all common use cases that you may encounter:
- react-hyperscript - to use Hyperscript syntax in ReactJS app
- virtual-dom-stringify - to turn a DOM node into a virtual-dom tree
- vdom-virtualize - to turn a DOM node / HTML string into a virtual-dom tree
- virtual-dom-jsx - transpiler from JSX to virtual-hyperscript code
- vtree-select - to use CSS selector with virtual-dom nodes
Thankfully to ReactJS I’ve got familiar with Virtual DOM concept. Also I’m really glad that Facebook’s ReactJS moving forward popularity of Functional Reactive Programming (FRP) paradigm.
- Virtual DOM - base library that provides Virtual DOM API and Hyperscript DSL for more high level frameworks
- Mithril - IE6+, no deps, Virtual DOM concept. 2434 stars, 183 forks on GitHub
- Mercury - IE9+, based on virtual-dom lib and observ-struct. FRP. 1128 stars, 49 forks
- VueJS - IE9+, MVVM, Virtual DOM concept. 3327 stars, 268 forks
- CycleJS - browser compatibility unclear, based on virtual-dom and RxJS libs. FRP. 387 stars, 9 forks
Mithrill looks attractive if you need a framework with minimal footprint, wide browser support and traditional approach for templating.
Mercury is the most interesting framework for me. It contains a number of interesting concepts that I know in theory but eager to try in practice.
Here you can find a very good documentation that explains a lot implementation details, I would reccomend you pay attention on vdom-thunk, main-loop and time-travel.
CycleJS does not have too much popularity now and not likely it will. But author did a very important step - it included full-blown general purpose library RxJS that exposes all power of FRP / Reactive Programming to application framework.
Thats all. Looking forward for your comments on Google+.