不懂前端, 如何用后端框架来形容 vue 和 react 的区别?

279 天前
 YugenFring

看有人说 vue 是自动档, react 是手动挡, 但还是没啥概念.

有没有有理解的大哥能用后端框架之间的开发差异来形容 vue 和 react 之间的差异.

目前想学个前端, 虽然有人说两个迟早都要学, 但肯定专 1 个比较好.

至于对于新手出活快不快不考虑, 英文文档之类的也不考虑, 学习曲线也不考虑.

想听听各位的看法.

5081 次点击
所在节点    程序员
37 条回复
Makabaka01
279 天前
React 有很多反直觉的东西,不懂前端建议直接 Vue2
ychost
279 天前
React 有个好处就是基于它的 UI 框架啥的特别多,VUE 基本是二等公民
Mark24
279 天前
Vue -> Django 全家庭,设计范围内工作的很好,想搞事情,需要对抗框架
React -> Flask 有一个核心,剩下自己搞灵活
Mark24
279 天前
全家庭 -> 全家桶
potatowish
279 天前
通后端,不排斥英文文档的前提下,建议选 React
Hilong
279 天前
如果我推荐后端的入门的话,肯定是 vue 比较好。因为更快能出活,并且在你的立场下,也不需要去关注这两个框架哪个更好,你只需要关心哪个能更快出活就行。在我来看,国内 99% 的项目,都不需要关心要选哪个框架。所以更容易上手的 vue 就天然有优势
NerbraskaGuy
279 天前
一般问这种问题的我都推荐 vue ,因为看文档和原理就能明白差异的事情都懒得研究,那就用 vue 这种能快速上手的
clue
279 天前
其实吧, 两个功能都很强, 社区资源也都足够, 最大的差别在低层设计, 可以参考下 #19 说的

React
- 纯 UI 层 ( 数据层更多的交给其它社区框架做 )

Vue
- UI + Model, 集成响应式

两个我都开发过, 说说目前的个人感觉, vue 3 的潜力比 react 要好

看现在流行的新框架也能看出来, 大家都在往 细粒度、响应式 上走 ( Signal / effect )

有些人会觉得响应式没管理好很难 debug, 我想说的是, 代码组织得不好, 用什么框架都有一样的问题;
cnuser002
279 天前
Vue 和 React 都是前端工程化时期诞生的开发框架。
前端工程化,指的是前端从做网页,变成做 Web APP ,也就是跑在浏览器里的客户端。

但因为 Html 、CSS 、JS 这三东西本来是开发网页用的,用来编写客户端并不方便。所以就出现了专门为 Web APP 或者叫单页应用开发的方案。

React 是其中最激进的,它架空了 Html 和 CSS ,全部在 Javascript 里面写组件,组件拼接成应用。并且搞出了一套根据组件 state 状态改变,更新视图的所谓数据驱动的思路。按照它的思路去开发 Web APP ,许多问题就迎刃而解。
但同时也产生了许多新的开发需求,比如状态的维护,跨组件引用、路由等等,这些由各路开发者为之开发插件来解决。

Vue 是一个折中的方案。最早的 Vue 只是为了在普通的 Html 网页中,增加一些根据数据驱动的活动组件。它对网页开发向
Web APP 转变的过渡期是很好的抓手。

后来 Vue 也确定了一种由 template 、script 、style 组成的单文件格式,同样的通过编写拼接 Vue 组件,实现类似 React 的全组件化 Web APP 。
相比 React ,Vue 的状态维护、路由等模块是有官方版的,跟本体连接紧密,所以按照 Vue 开发指导文档,上手开发应用

另外,分久必合合久必分。这俩出现的时候,是有取代 Php 那种后端写网页模板做应用的趋势的。可是发展到今天,现在这俩也都有后端写应用的版本。

具体学哪个都可以,

我个人推荐 Vue 。因为我是先学的 React 再学的 Vue ,React 太自由反而难驾驭,理解不到位,容易写出似是而非的东西。

Vue 基本上就没有这个问题。
johnmichael09
279 天前
Vue:就像是用乐高积木搭建,简单、快速,有很多现成的部件可以用,快速构建出你的应用
React:就像是用钢筋混凝土搭建,更强大和灵活,但可能需要更多的工作和细节管理
clue
279 天前
有点忘了 OP 问的初衷了, 前端因为复杂度在这里, 后端很难有对比的
前端能为了开发效率做的性能妥协, 在后端非常少见

这样类比下吧

React
- 每次数据变化都重新渲染 DOM, 用一个中间层来缓存做结果对比, 后续只更新差异部分
- 数据比较复杂时一般都用第三方框架, 然后调用 React 重新渲染

Vue
- 只渲染一次 DOM, 然后监听了数据源, 当数据源变化时, 把它相关的依赖项重新跑一次( 其中就包含了对应 DOM 的更新 )

另外因为 Vue 是全家桶, 所以在技术选型上没有 React 那样杂, 可以很简单起步
nzbin
278 天前
Java 、C# == Angular (推崇面向对象、门槛高、学习曲线先陡再缓)
PHP == Vue 、React (推崇函数式、门槛低、学习曲线先缓再陡)
DOLLOR
278 天前
vue:把数据和 UI 关联起来,哪里的数据发生变动,UI 就更新相应的那部分。()
react:根据数据生成 UI ,当数据发生变化,就把 UI 全部擦掉,重新生成,不用关心上次的 UI 长什么样。
rabbbit
278 天前
更正一个误区 Vue 官方支持 JSX,只是文档未过多介绍
要是找工作就大厂 React, 中小公司 Vue,自己用随意
都是工具,没啥本质区别
rabbbit
278 天前
不想自己搭 Webpack 啥的就 Vue,官方都弄好了.
希望周边生态丰富就 React, 库多.
zloong
278 天前
vue3 的 setup 写法,和 react 也没多大区别了
realJamespond
278 天前
vue 就是 angular+react

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX