说到可维护, vue react 等哪个框架更有优势? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daokedao
V2EX    前端开发

说到可维护, vue react 等哪个框架更有优势?

  •  
  •   daokedao 2022-03-02 11:00:19 +08:00 5123 次点击
    这是一个创建于 1328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有经验的大佬说说

    41 条回复    2022-03-04 16:28:21 +08:00
    murmur
        1
    murmur  
       2022-03-02 11:03:22 +08:00   1
    从吹牛逼的角度来看肯定是 react ,因为 react 招人门槛高,写起来平均水平也会高于 vue

    这里别 tm 吹 ts ,如果 ts 牛逼,那么 java 、c#应该是世界上最好维护的项目,不就是强类型么谁没有啊

    所以究其原因还是 react 拉高了招人的门槛
    murmur
        2
    murmur  
       2022-03-02 11:03:54 +08:00   2
    错不在 vue ,是 vue 太牛逼了,让没有软件工程相关知识的人都能干活了
    shakaraka
        3
    shakaraka  
    PRO
       2022-03-02 11:06:26 +08:00
    从开发人员角度来说 react 比较高,如 1 楼所说,但即使开发人员水平高,在没有人去 review 的时候,也还是一团糟,这两都是大杂烩。
    从框架角度说,这两都不行,还是 angular 。
    shakaraka
        4
    shakaraka  
    PRO
       2022-03-02 11:10:03 +08:00
    人越少,越规范,人越多,就越杂。反正至今我见过的公司内部的 vue 和 react 都是一团糟,各种写法都有,当然 ng 也是,但 ng 有类型和框架限制,至少还能看得懂。v 和 r 他两就是黑盒。

    上述观点就我经历过的为前提
    imydou
        5
    imydou  
       2022-03-02 11:11:56 +08:00
    @wunonglin #1 王婆卖瓜?
    shakaraka
        6
    shakaraka  
    PRO
       2022-03-02 11:12:50 +08:00
    @imydou #5 怕你是没见过 ng 里全是 any 的
    murmur
        7
    murmur  
       2022-03-02 11:13:11 +08:00
    @wunonglin 你误会了,这 sx 屏蔽了我,所以他看你就是 1 楼
    imydou
        8
    imydou  
       2022-03-02 11:14:38 +08:00
    @wunonglin #4 我是说:“如 1 楼所说”
    imydou
        9
    imydou  
       2022-03-02 11:16:20 +08:00
    @wunonglin #4 难道是我 b 了某个人,你就成 1 楼了
    shakaraka
        10
    shakaraka  
    PRO
       2022-03-02 11:16:21 +08:00
    。。。
    shakaraka
        11
    shakaraka  
    PRO
       2022-03-02 11:16:51 +08:00
    @imydou #9 我楼上确实有人。
    imydou
        12
    imydou  
       2022-03-02 11:17:26 +08:00   10
    @wunonglin #8 好多人 b 了 1 楼那个 sx
    noe132
        13
    noe132  
       2022-03-02 11:17:56 +08:00 via Android
    ng 也有垃圾代码。各种 any ,各种 8 层 if ,magic number

    这东西主要看人,写得好啥框架都好看,框架并不是写好代码的强约束
    shakaraka
        14
    shakaraka  
    PRO
       2022-03-02 11:21:46 +08:00
    @noe132 #13 是的。ng 比 vue 更难的是在控制数据更新,新人弄不好会搞得性能很低而且复杂太费心智,对新人挺不友好的
    learnshare
        15
    learnshare  
       2022-03-02 11:24:00 +08:00
    从现状看是:
    Angular > React > Vue

    Angular 门槛高(国内用的也比较少),TypeScript 能解决不少脏乱差的问题
    React/Vue 生态比较复杂,项目间的差异比较大,也很难有哪套技术栈 /代码风格能统一
    Vue 还面临两个大版本完全不同的东西,老项目比较难搞

    当然,代码的可维护性跟语言、框架 /库、代码风格这些都没什么关系,核心是项目的参与者和管理者
    lxml
        16
    lxml  
       2022-03-02 11:30:51 +08:00 via Android
    显然是 react 有优势啊,一时的份额不能说明问题,但长时间占据世界第一,这显然说明问题
    wa143825
        17
    wa143825  
       2022-03-02 11:38:21 +08:00
    工作中这 2 个来回切,经常接手(参加)同事的项目,感觉上 react 更好维护。

    原因可能真是用 react 的同事水平更高。
    gouflv
        18
    gouflv  
       2022-03-02 12:06:06 +08:00 via iPhone
    先排除 vue ,3.0 两年了,迁移工具都懒得做,社区还有大量旧版本项目不更新
    rabbbit
        19
    rabbbit  
       2022-03-02 12:07:12 +08:00
    react 吧, 大厂用的多.vue 都是中小公司用的多.
    其实跟框架没关系,还是看人.
    wanguorui123
        20
    wanguorui123  
       2022-03-02 12:48:23 +08:00
    瓜子花生板凳
    iamv2er
        21
    iamv2er  
       2022-03-02 13:00:50 +08:00 via iPhone
    吃瓜
    Chism
        22
    Chism  
       2022-03-02 13:01:53 +08:00
    看 npmjs 的周下载量,谁下载量最大就用哪个
    agdhole
        23
    agdhole  
       2022-03-02 13:09:09 +08:00
    我的评价是:angular
    knightdf
        24
    knightdf  
       2022-03-02 13:59:44 +08:00
    可维护那还得是 angular
    pengtdyd
        25
    pengtdyd  
       2022-03-02 14:19:06 +08:00
    一个是个人的项目,一个是 FB 的项目,怎么选还用说吗,vue 能火的原因我个人认为只有一个-------中文文档
    iceice121
        26
    iceice121  
       2022-03-02 14:19:33 +08:00
    Jquery 退出了群聊
    murmur
        27
    murmur  
       2022-03-02 14:21:06 +08:00
    @gouflv vue2.0 有什么问题么,你说的问题我都可以用 feature 圆回来

    为什么要迁移

    vue2.0 是成熟的框架,他自己会优化自己
    RealJacob
        28
    RealJacob  
       2022-03-02 14:21:08 +08:00
    主要写 react ,偶尔写 vue 。反正看我们组里的 vue 项目,我是觉得乱七八糟的。各种 service 层,model 层,UI 层的东西都不清不楚。没研究过是因为 vue 的设计,还是因为之前写的人水平不行
    IGJacklove
        29
    IGJacklove  
       2022-03-02 14:27:20 +08:00 via iPhone
    @murmur java 不好维护吗?
    IGJacklove
        30
    IGJacklove  
       2022-03-02 14:28:26 +08:00 via iPhone
    这个跟框架的关系不大,更多的是开发规范。react 加 typescript 确实很爽。
    murmur
        31
    murmur  
       2022-03-02 14:29:12 +08:00
    @IGJacklove 维护是个软件工程问题,不是语法问题,虽然强类型可以减少开发中的一些弱智级错误,但是写出难维护的程序有一千种方法

    比如注释和实际代码不一致,甚至注释和代码实现是反的
    libook
        32
    libook  
       2022-03-02 14:32:05 +08:00
    可维护性可能主要取决于代码结构和风格,写的时候就得考虑可维护性,有相应的设计和措施来确保可维护性。

    当然可维护也要根据计划来确定,而不是唯可维护性论,一般根据业务的确定计划以及行业经验来选定一个保质期,然后针对可能的维护操作进行优化设计,过了保质期,无法满足业务变化了,就随时有可能需要重构了。

    框架都差不太多,哪个顺手合适就用哪个好了。
    zhaol
        33
    zhaol  
       2022-03-02 14:40:33 +08:00
    其实都一样,取决于写代码的人和项目管理者
    3dwelcome
        34
    3dwelcome  
       2022-03-02 14:54:40 +08:00
    正常来说 VUE 干活比较快,代码也比较整洁。

    但问题他是一个框架,你脱离了运行框架后,一些 VUE 语法糖就完全用不了。

    R eact再怎么也只是一个 JS 库,相对来说,在大公司写大型工程要好那么一点点。

    当然,让我来选,无脑吹 WASM 。
    3dwelcome
        35
    3dwelcome  
       2022-03-02 14:56:46 +08:00
    @libook “框架都差不太多,哪个顺手合适就用哪个好了。”

    如果想找正经的前端开发工作,那只能选 React 。
    L5tEU4WX072p5P42
        36
    L5tEU4WX072p5P42  
       2022-03-02 15:07:47 +08:00 via iPhone
    @murmur 哦,原来 Java 不好维护
    yaphets666
        37
    yaphets666  
       2022-03-02 15:49:54 +08:00   1
    当然是 VUE,这毫无疑问. 开发速度,维护,人员成本,全部是 VUE 最优,但是架不住装逼犯喜欢用难用的东西凸显自己牛逼.
    AllenW
        38
    AllenW  
       2022-03-02 17:50:58 +08:00   1
    你们每天不引战屁股痒是不是?
    charlie21
        39
    charlie21  
       2022-03-02 18:32:24 +08:00
    至少 next.js 吧
    damao2250
        40
    damao2250  
       2022-03-02 20:23:37 +08:00 via iPhone
    看到最后逐渐忘了 op 的标题是啥了
    danytdlemon1900
        41
    danytdlemon1900  
       2022-03-04 16:28:21 +08:00
    不如加上政治立场 battle 一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2467 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 15:38 PVG 23:38 LAX 08:38 JFK 11:38
    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