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

2024-03-21 10:47:04 +08:00
 YugenFring

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

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

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

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

想听听各位的看法.

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

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

Vue
- UI + Model, 集成响应式

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

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

有些人会觉得响应式没管理好很难 debug, 我想说的是, 代码组织得不好, 用什么框架都有一样的问题;
cnuser002
2024-03-21 15:30:24 +08:00
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
2024-03-21 15:32:43 +08:00
Vue:就像是用乐高积木搭建,简单、快速,有很多现成的部件可以用,快速构建出你的应用
React:就像是用钢筋混凝土搭建,更强大和灵活,但可能需要更多的工作和细节管理
clue
2024-03-21 15:41:38 +08:00
有点忘了 OP 问的初衷了, 前端因为复杂度在这里, 后端很难有对比的
前端能为了开发效率做的性能妥协, 在后端非常少见

这样类比下吧

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

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

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