React Vue 框架比较
使用Vue全家桶开发有一年多时间,React三个月。说一点自己的感受。
总体上来说Vue 比 React要友好一些,React 则更加接近 JavaScript 语言原生状态。就个人来说先学习Vue,在使用了一段时间之后对其模板混合等概念无法很好的理解,官方文档不尽详细,阅读源码从效率上讲意义不大,导致想深入很难。
React 组件直接使用 Class 语法,方便理解,感觉开发过程当中和底层的距离更近。
细节上一一分析
文件
Vue的文件组成更加清晰,模板,JS,CSS分割清楚。React JSX 或 JS 基本混成一团,从开发体验上讲不如Vue。
语法
最大的区别在于 Vue 的模板语言,和React的JSX。在大多数的简单场景下 Vue有更好的体验,v-if v-show等属性标记传承自 AngularJS,React 的 JSX 在复杂组件下有更好的表现因为是完全编程式的书写方式。但是Vue同样也有JSX的实现方式,所以从这点上来说Vue是完爆了 React。同时非常重要的一点Form表单的书写上Vue也是完爆了React,React的表单书写尤其复杂冗余。
生态
就国内的开发环境来说就是Element-UI和Ant-Design的对比。不是我对阿里有成见,我实在是不清楚Ant-Design的团队在想什么,做UI组件库何不专注做好这一件事。非要在项目脚手架上做文章,做文章不是原罪,做的差还乱改就是罪上加罪了。
先是做了一个roadhog的脚手架,本意是好的简化项目搭建流程。但是做了一半丢着不管,扩展性又非常差,有些特殊需求就抓虾了,还是得自己从头webpack一步步从新构建开发编译环境。
做了一半丢着不管之后是怎样?在挖一个更大的坑,新版的演示项目使用UMI,项目耦合程度比上一个单纯的编译工具更高,直接和开发源码耦合,用了就别想退回 webpack原生了,真不知是怎么想的,你们是想卖授权吗?
Elment团队在这点上做的就很好,一句话不做多余的事,直接给一个webpack的最佳实践,大家照抄就行了。
从UI组件库的完成度上来讲也是Element更高。
综上所述,单纯的Web开发来讲,我强烈推荐Vue学习曲线平滑,也留下了可以深入的空间,生态上也好于React,唯一的弱项在于native开发,但是近期由于Airbnb 对React-native的放弃,个人也不看好JS技术一统原生江湖的未来,天下大势合久必分,分久必合。个人看好将来Vue一统江湖。但是原生估计没希望了,PS:微信小程序 前端工程师的灾难。