问题转载自: https://segmentfault.com/q/1010000008810414
楼主原先是学 vue.js 起步的,因为看到新版知乎以及其他一些大型网站也有使用的是 react ,因此自己跟风去学了一下,总感觉 react 相比 vue.js 开发起来要麻烦很多,效率也不算高。
这里不是框架和语言的撕逼贴,希望大家可以在提供事实依据和论点的前提下和平探讨一下这两个框架的优劣。
1
popu111 2017-03-26 14:28:50 +08:00
好在他有 RN 。 XD
|
2
think2011 2017-03-26 15:59:55 +08:00
react 相对先发制人,相关生态也比较好,例如 RN 呗
但觉得 vue 比较好上手,对应 RN 也正在观望的 weex ,生态圈也慢慢丰富了起来 未来难说,话说前段时间发布了 angular 4 ,有人惦记着没.. |
3
changwei OP |
4
jiyinyiyong 2017-03-26 17:12:20 +08:00 via Android 1
两点比较明确, vue 的 dom 是通过自己定义的 DSL 写的, react 用的是 jsx 或者说编译过的 js 代码,好处是 js 代码有比较完善的语法检测类型检测等,而 vue 自制的 DSL 未必把这些静态检查甚至运行时的报错处理很好。其次 vue 采用的是 watch 的策略,细节我不了解,但由于对 react 的貌似整页重绘的方案熟悉之后其实比较信赖那种做法,而对 vue 是否存在缺陷并不自信,当然这也很难说,毕竟我写的 vue 代码太少。 react 社区其实也好不错毕竟大公司很多牛人,在各个方向都有人推进,而 vue 社区相对少。另外吧,我也算见过 vue 作者若干次了,当然技能比我搞出很多很多,可是 react 作者在 Twitter 上刷的东西你们都看了吗,更高的层级啊。
|
6
sammo 2017-03-26 18:38:54 +08:00 via iPhone
react 被设计的目标不是打败 vue ,而是成为更好的 react 。这两个东西(除了都能开发网页之外)没有可比性
|
7
Pastsong 2017-03-26 18:45:27 +08:00
React 是为了实现一种纯粹的 UI 编程思想的框架,从 React 和 ReactDOM 库的分离就能看出来
Vue 是为了实现一个方便前端开发的框架,上手要容易很多 |
8
zyEros 2017-03-26 19:53:17 +08:00 via iPhone
另外生态和爹甩了 vue 一大截
|
9
caomu 2017-03-26 21:23:24 +08:00 6
|
11
finian 2017-03-26 22:05:43 +08:00 via Android
唯一的好处估计是 RN 比 Weex 成熟。 Vue.js 修改状态的方式和 Single File Component 对开发者更友好
|
15
abcbuzhiming 2017-03-27 16:59:38 +08:00
@jiyinyiyong 我没用过 reactJS ,但是你说的两点我很好奇, 1 ,它能对 html 做语法检查? 2.类型检查是怎么回事? JS 本身是弱类型语言
|
16
jiyinyiyong 2017-03-28 15:18:37 +08:00
@abcbuzhiming
1. 不是对 HTML 做语法检查. 写在 js 的里 DOM 的表示是 JSX, JSX 的本质是 JavaScript 扩展语法, 需要经过 parsing 和 code generating, 而 parsing 的过程就会检查语法, 以及标签嵌套, 标签属性等等是否有错误. 当然一定程度上说 Vue 的 loader 也会做的. 然后是 JSX 当中带的逻辑代码, 其实就是普通的 js, 那么就正常地按照 js 语法做检查, 甚至包括变量是否定义, 甚至如果用了 flow 还有类型方面的检查. Vue 是自定义的 DSL 来计算, 某些很像 js, 但是我不确定目前对这些 DSL 当中的逻辑代码都否能做到 js 这样的检查. 2. 我倒没有直接说类型检查. js 现在是可以有类型检查的, 基于类型的推断和类型的提示, 直接看 https://flow.org/ . |