如果后端想转全栈也许 react 更合适 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
totopper312
V2EX    React

如果后端想转全栈也许 react 更合适

  •  
  •   totopper312 2021-03-09 10:46:43 +08:00 8260 次点击
    这是一个创建于 1755 天前的主题,其中的信息可能已经有所发展或是发生改变。

    苦于 vue3 生态太差,去看了看 react 文档中的回帖有感,顺便分享自己的一些感悟。

    10 年前,使用 PHP+CodeIgniger+jQuery+Javascript 写过某游戏公司的网站,那个时候前端没有框架,新浪还在用 yii,没有前端框架的好处就是不需要记住框架的指令、语法糖等,因此写前端代码时只要打开 Javascript 手册和 jQuery 手册就可以立刻上手,而 Code Igniter 的模板引擎只有极少量的模板语法,并且这类模板语法跟一般程序开发语言的基础部分是一样的,比较容易记。

    10 年后,前端框架多了,但是后端开发语言也多了,大部分后端程序员都会使用好几种语言如 C 、C++、Python 、Go 、node.js 、Java 、PHP 等,甚至还有 Rust 、Ruby 、Erlang 、Perl 、Javascript 、Typescript 等,很多后端程序员因为职业规划的原因都想转全栈,我自己作为后端程序员也有转前端的想法,但此时再捡起 jQuery 并不现实,必然会面对 React 还是 Vue 的选择,全都学不可能,时间和精力并不允许。

    最开始也是按照网络文章所说想快速上手选 Vue,vue 更适合后端转前端,于是自己选 vue,结果也能做个简单的网站,但后端程序员的转全栈的最大的问题是,写前端的时间太少,隔断时间就会忘记 vue 里的各类指令、以及语法糖,虽然查官方文档也可以,但是那种感觉不像自己好久不写 go 再次写 go 就能立刻无缝切换。

    后来想着不如试下 react,发现react 才是后端程序员转全栈的最佳选择,简单来说只要会 js 就会写 react,不需要再去记 vue 的各类指令和语法糖,react 的语法规则及其少,至于 react 一些更高级的特性,这些对于后端程序员来说也不难。也有人总结学 vue 更像学语文,学 react 像学数学,似乎也有道理。

    所以后端如果想走全栈路线学 react 也许更合适。

    46 条回复    2023-01-05 19:49:49 +08:00
    gdrk
        1
    gdrk  
       2021-03-09 10:53:54 +08:00   8
    不是 angular 么。。。
    iseki
        2
    iseki  
       2021-03-09 10:57:20 +08:00   1
    真的,超喜欢 react,vue 要记得糖和特殊的语法特性太多了,不想也没精力在学习 js/ts 的同时再去学习一门叫 vue 的语言
    Evrins
        3
    Evrins  
       2021-03-09 11:00:37 +08:00 via iPhone
    Angular 才是王道,写完后端切前端,思路都不用换
    qW7bo2FbzbC0
        4
    qW7bo2FbzbC0  
       2021-03-09 11:03:10 +08:00
    Angular 对于 OO 的语言程序员比较友好
    yaphets666
        5
    yaphets666  
       2021-03-09 11:06:47 +08:00
    没有学过原生的 CSS HTML JS 你去学哪个都是一样的.
    如果学过基础的原生,学 vue 简单,因为 vue 就像是"原生的".
    那些语法糖,只是 vue 的派生功能,而且也没几个 不到 5 个.
    AllenHua
        6
    AllenHua  
       2021-03-09 11:08:08 +08:00
    敝人目前就是 Java + React
    Kasumi20
        7
    Kasumi20  
       2021-03-09 11:10:23 +08:00
    JSX 劝退警告
    monospace
        8
    monospace  
       2021-03-09 11:15:04 +08:00
    好的,这就上车。。。
    ae86
        9
    ae86  
       2021-03-09 11:18:01 +08:00
    u1s1,我感觉 vue2 上手很简单啊
    murmur
        10
    murmur  
       2021-03-09 11:18:38 +08:00   3
    vue 的语法糖有多少,vue 的 template 用的可是最正统的 class,反倒是 react 的 className 有问题
    BingoXuan
        11
    BingoXuan  
       2021-03-09 11:18:47 +08:00 via Android
    如果不喜欢 jsx,其实可以试一下 mithril js
    Shook
        12
    Shook  
       2021-03-09 11:19:43 +08:00
    template 比 jsx 简单的。
    adimn
        13
    adimn  
       2021-03-09 11:32:49 +08:00
    angular 牛
    zuosiruan
        14
    zuosiruan  
       2021-03-09 11:34:01 +08:00
    后端的想转前端,前端的都想转后端。。。这。。。
    abersheeran
        15
    abersheeran  
       2021-03-09 11:38:02 +08:00
    @murmur 个人觉得 React 的设计更符合传统后端开发的思路。毕竟相比于 template+script 的写法,类更让后端熟悉一点。我是无所谓,我都写。
    mxT52CRuqR6o5
        16
    mxT52CRuqR6o5  
       2021-03-09 11:40:24 +08:00
    spring 程序员上手 angular 会快一些吧
    knightdf
        17
    knightdf  
       2021-03-09 11:40:29 +08:00
    我刚学完 angular 的文档你跟我说 react 更好?? 手动狗头
    labulaka521
        18
    labulaka521  
       2021-03-09 11:42:10 +08:00
    喜欢 vue
    arthas2234
        19
    arthas2234  
       2021-03-09 11:45:36 +08:00   7
    作为后端,劝退我的是 css 。自从开始写 css,头秃了不少
    Desiree
        20
    Desiree  
       2021-03-09 11:58:50 +08:00
    说实话,vue,跟 react 内里都是一个东西
    karloku
        21
    karloku  
       2021-03-09 12:11:27 +08:00
    你会有这个感觉因为 FacebookPHP 且 FacebookReact
    troycode
        22
    troycode  
       2021-03-09 12:49:42 +08:00
    vue 明显更简单吧
    no1xsyzy
        23
    no1xsyzy  
       2021-03-09 13:09:15 +08:00
    慢点旁友,后端的分歧比前端严重得多(连编程范式都会变的好嘛!)
    从我的直觉上说,有一种对应关系在(可能有偏差):
    PHP -> React
    Python (可能也包含 Ruby ) -> Vue
    Lisp -> Mithriljs
    Java -> Angular (?)
    Veneris
        24
    Veneris  
       2021-03-09 13:22:16 +08:00   1
    或许 flutter 更合适
    anguiao
        25
    anguiao  
       2021-03-09 13:26:51 +08:00
    又来了又来了,等什么时候缺币了,我也来发个帖子。
    rodrick
        26
    rodrick  
       2021-03-09 13:33:58 +08:00
    娱乐圈大战又来了,我先来,react 不比 vue 好找工作?
    huijiewei
        27
    huijiewei  
       2021-03-09 13:38:13 +08:00 via iPhone
    写 vue 需要打开文档
    写 react 不需要
    jswh
        28
    jswh  
       2021-03-09 13:40:54 +08:00
    全栈就不要纠结技术栈了,目前的一般要全栈的都是啥都要会一点,不会也得马上学,纠结技术栈基本就告别全栈,因为排列组合很难排到刚好合适的。
    Zzzz77
        29
    Zzzz77  
       2021-03-09 13:43:12 +08:00   2
    首先,人与人的思维是不同的。

    其实三个框架的区别就摆在那,所有人都知道(欢迎补充..):

    关于 HTML,angular 是模板,vue 是模板(也支持 jsx ),react 是 jsx 。萝卜青菜各有所爱,有人觉得模板的衍生语法很难,有人觉得 jsx 很难。

    关于 CSS,a 和 v 有自己集成的解决方案,r 主要靠社区。有人觉得 r 连 css 这种事情都没有一个官方的趁手方案,也有人觉得 all in js 是王道。

    关于灵活度,r > v > a 没啥意见吧。但有人认为灵活好,可以大展拳脚,也有人认为灵活不好,容易写出 shi 一样的代码。
    关于 TS 支持,就目前而言,vue 相对稍弱。

    关于找工作,Vue>React>>>>>>Angular,但也有人认为要去大公司必须得会 React 。

    另外上面有朋友提到 react 的类对后端友好,其实 angular 更像你们熟悉的类。

    所以,同样的特性,有人觉得牛逼 666,有人觉得这啥辣鸡玩意儿,合不合适自己试试看就知道了,自己分别写一个 todolist 也要不了多少时间,自己的感受才是真的,别人说的那是别人的感受,和你啥关系都没有。。选择合适自己的、合适项目的就行
    looplj
        30
    looplj  
       2021-03-09 13:50:23 +08:00
    个人的话,flutter 吧。。
    公司的话,就看公司什么技术栈罗。
    一般后端做的就是管理系统吧,什么框架无所谓了。
    totopper312
        31
    totopper312  
    OP
       2021-03-09 14:04:48 +08:00
    分享这篇感受的前提是:**一个后端程序员转全栈然后独立开发产品**,如果是工作,没必要做选择,因为公司需要什么就得用什么,没有选择,如果是技术爱好者,可能会全都选择,如果是前端程序员,那 vue 和 react 都要会,就像后端程序员一样,也必须会几门语言,都是工作需要。但后端程序员将来想做独立开发者或者创业,对于大多数人**后端程序员**需要做选择,后端程序员与前端程序员平时工作重心并不一样,投入精力和时间不可能一样,所以才有框架选择的问题。说实话,目前来看,前端程序员更容易创业和做独立产品,后端程序员则相对较难,所以才发表这些感受,希望对后端程序员走全栈和将来独立开发产品有帮助。
    TarotVoyager
        32
    TarotVoyager  
       2021-03-09 14:10:12 +08:00
    没有必要用 Facebook 的技术栈
    Hoshinokozo
        33
    Hoshinokozo  
       2021-03-09 14:16:45 +08:00
    v-model,v-for,v-bind(可简写为:),v-on (可简写为 @),v-if/v-else,常用的就就这几个,其他的可以用的时候去查文档,如果你连这么几个都记不住的话,学 react 一样白给,JSX 写起来跟纯 JS 还是有区别的,而且 react 不像 vue 这样有一套官方的开发流程,瞎写 JSX 的所造成的代码维护难度可是比瞎写 template 严重多了,所以说楼主你的论点根本不成立。
    kikyous
        34
    kikyous  
       2021-03-09 14:30:53 +08:00 via Android
    vue3 是理想中的前端框架
    jones2000
        35
    jones2000  
       2021-03-09 14:37:23 +08:00
    前端后端不就是气宗和剑宗的区别吗? 后端练的是内功, 前端练的是 UI 花样多。混着练,效果反而不好。
    murmur
        36
    murmur  
       2021-03-09 14:38:51 +08:00
    flutter 这种文字渲染都没搞明白的东西就别出来凑热闹了,看了一下 flutter-gallery,所有的字都是方块,都 2021 年了,utf-8 环境还会有东西渲染英文渲染出问题
    shintendo
        37
    shintendo  
       2021-03-09 14:43:45 +08:00
    @Zzzz77 你说的很好,每一句都同意,补充一下找工作,国外的话 R 最大
    meepo3927
        38
    meepo3927  
       2021-03-10 08:53:20 +08:00
    同意 #33 楼
    magiclz233
        39
    magiclz233  
       2021-03-10 09:20:38 +08:00
    别再说什么难简单了,能把后端语言学个差不多,React, Vue 都没啥难度,就是看你平时经常用不用,不用肯定会忘了。
    zone10
        40
    zone10  
       2021-03-10 10:17:27 +08:00   1
    @arthas2234 试试 React Hooks + Chakra UI, 入了 React 的坑光是选型选得我出不来, 代码没写几行, 最终还是让我找到最适合我的. JSX 刚开始觉得离谱, 什么玩意, 后面就会真香, 我觉得原子化的组件非常棒, 直接把 CSS 从填空题变成选择题, 而且也不用在乎作用域什么的, 完全零 CSS, 非常适合不会 CSS 的非前端人员
    KisekiRemi
        41
    KisekiRemi  
       2021-03-10 14:19:47 +08:00
    Vue2:
    template 里就 v-for / v-model / v-if / v-else / v-bind(:) / v-on(@)等这几个用的最多,还要记什么鬼语法糖?
    标准的格式跟原生 Html / JS / CSS 组合一样

    Vue3:
    学习中(XP
    KisekiRemi
        42
    KisekiRemi  
       2021-03-10 14:20:21 +08:00
    这算日经贴?
    sphawkcn
        43
    sphawkcn  
       2021-03-10 16:52:20 +08:00
    @zone10 #40 在效率上,用 nt Design 这种组件库比 Chakra UI 还是要高很多吧?
    a68UkLHpycW7ImyV
        44
    a68UkLHpycW7ImyV  
       2021-03-10 19:12:44 +08:00
    我感觉 jsx 是个异端
    fo0o7hU2tr6v6TCe
        45
    fo0o7hU2tr6v6TCe  
       2022-06-30 15:58:50 +08:00
    实际情况是 react 都找不到啥教学视频 官网的文档看完了也能写点小 demo 但是写个 cms 都不知道怎么入手,反倒是 vue 一搜一大堆
    vlgs
        46
    vlgs  
       2023-01-05 19:49:49 +08:00
    @hzjseasea 看英文课 react 的资源特别多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5738 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 02:02 PVG 10:02 LAX 18:02 JFK 21:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86