AngularJS算是近来最火的一个前端框架。React 是即将要火的。目前有许许多多的框架,但这些框架都不是更好的。Angular 我这段时间用下来,Angular 不能算是一个很顺手的框架。Angular 虽然实现了很多有用的特性,但是缺点也很明显:视图层太过草率,开发时细节难于把握;Scope、Factory、Service 等等这些概念对于前端来说相对陌生,说白了很多东西 Angular 之前就有,来到 Angular 这里算是换了一个名字,徒增了很多学习成本;Angular 的模块管理和依赖注入,就算没有,我们也可以找别的已有的东西代替。Angular 框架性太强了,而且这种框架性有点华而不实。我们需要的是解决问题。
React 的流行是我没想到的,一个视图层能做多少事情?但 React 的优势在于轻量(当然源码还是不小的),可以组合,结合一些思想,比如 Flux,社区可以由此组合出一个优秀的开发框架。但这种框架的自由度可以很高。我们可以使用 RequireJS 或者 Browserify 解决模块的问题,可以使用更强大的 Model 层,这些东西都是可以组合可以装卸的。
Polymer 或者说 Web Commponent 的核心就是组件化。但看过一些现有的例子,感觉还有很长的路要走。为什么一个 Ajax 非要写成一个标记,还要绑定到一个变量上?大量的模块之间组织引入的方式非常繁琐。
结合在平时工作的体会,我认为现在的这类框架必须要解决下面这几个关键的问题:
单独的 UI 组件模式:必须解决好组件的状态,与数据的分离,组件之间的配合和一个组件的生命周期。React 在这方面做得不错,很多时候组件需要依赖一些异步的操作;
数据层:独立、一致非常重要,尤其对于实时的应用来说。Angular 没有在这上面下太多的功夫;Backbone 还好;
路由功能:一个复杂的应用,需要一个强大的路由组件。Angular 的 ui-router 是我见过最强大的路由组件,支持嵌套路由,如果 Backbone 有类似的组件的话,Backbone 会厉害许多。
关键是要解决问题,任何太过理想,太过封闭的框架都是不长久的。
其他的Nodejs也是必须要会的,还有一些js依赖库,requirejs,seajs等,了解运用前端自动化工具,如FIS等
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-23-621-1.html