如果Vue 单纯看 star 数量的话,确实比 React 多啊

说实话,Vue 实际上策略是紧跟 React,我们组内部讨论的时候,一般把 Vue 看作是全工具链的 React 框架,无论是老版本还是新版本

Vue 和 React 的原理性差异几乎没有,这点和 ng 不同,因为在开发 ng 的时候,编程思维都需要彻底转变才能进行

所以,你对 Vue 和 React 的比较,可能完全没有意义,因为绝大多数有能力的开发者,Vue React 双修基本没有太多额外成本,但是如果加入 ng,那成本就指数上升了

在响应式方面,Vue 和 React 都是数据驱动,简而言之就是,渲染的发生总是因为我修改了某个数据,细节差异你直接看 mobx 文档就能知道(数据变化应该自发地传递),也就是 Vue 加入 defineProperty 或者 proxy 的原因,实际上是对 React 在词法逻辑表达能力的优化,增强 React 的架构能力

这部分差异体现在使用上,也就是你在变量绑定时,是传 value onChange 两个参数,还是 v-model 一个参数,是定义 getter setter 绑定两个 state,还是 computed 传入 getter setter 绑定,在功能上是没有一点点差异的,也就可读性和命名负担以及纯度(质量控制)上有些许差异

这点和 ng 区别特别大,ng 渲染发生(或者脏检发生),不是因为你修改了某个数据,而是因为有异步发生,这个根本性不同,会导致编程思维根本性变化,比如,事件不需要你去做 batchUpdate,响应式也不需要考虑,反正视图总会响应,但是检查次数需要你去做限制,否则检查次数太过频繁,同时hmr将变得非常拉跨,补偿是逻辑组织能力非常强,意味着测试比调试容易

常用的分布式计算模型就两个,CSP 和 Actor,React 占了 CSP(用过 reducer 没?),ng 占了 Actor(别再问为啥 ng 没有状态管理了),所以没有多余的坑位给 Vue

虽然,React 选择社区最优第三方,其实是能够比 Vue 开发体验更好:

styled-components 比 Vue