这篇文章强烈推荐给大家看,是choo的作者Mattias的一个朋友写的。里面通过一个小例子对比了react,angular2,cyclejs和choo的异同,真的各有精彩,各有千秋。react很好的简化了应用程序逻辑,使代码成为宣扬式的,而且其单向数据流的状态控制理念,虽然父子props传递和限制有些繁琐,但使代码的状态易于管理。angular2则提供了很多可爱的"糖",UI与逻辑的代码组织的分离似乎少内聚,但其实很清晰,率先拥抱rxjs令人称赞。cyclejs则是一朵奇葩,它真正把FRP的编程理念贯彻到极致,没有状态,没有副作用,只有不可变值和函数,整个就是一条线性的流,应用程序的逻辑如行云流水。choo在这篇文章介绍的是老的版本不太好。choo更像一个捣乱的小子,这个仅有4KB的框架主张少的依赖,"纯"函数(这里打引号,是指从副作用的角度来讲是不纯的,但它主张尽可能只用函数来组织UI),少的信息噪音,反潮流使用真实而非虚拟dom,由于它的组件是真实dom,因此可以导入到任何的其他dom中直接使用,而且"纯"函数式服务端渲染异常简单。(关于choo,大家可以参看我的demo代码,没有任何状态管理工具,直接用函数和本地变量实现有状态和事件的函数式U,直接支持同时在浏览器和服务端运行[字符串模板的语法高亮,sublime党建议装sublime-ecmascript插件]: github.com),原文链接:Composition in CycleJS, Choo, React and Angular2