[Vue、React 和 Angular 一起学]首月总结 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
learnshare
V2EX    程序员

[Vue、React 和 Angular 一起学]首月总结

  •   learnshare
    learnshare 2021-09-06 10:22:36 +08:00 6459 次点击
    这是一个创建于 1503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    挑战活动 持续了一个多月,头发掉了不少。

    https://github.com/LearnShare/learn-VRA 不知道对比着看是否舒适?

    从几个方面简单对比一下:

    • 文档:Vue > React > Angular
      Angular 和 TypeScript 的文档都看得头疼,不够详尽,也不够平滑。
    • 上手难度:React > Vue > Angular
      React 最为简洁,class + JSX = UI 。

    (个人感受,拒绝不友好的战斗)

    第 1 条附言    2021-09-06 11:07:29 +08:00
    纠错:
    上手难度 => 上手容易程度
    51 条回复    2021-09-10 10:46:38 +08:00
    fds
        1
    fds  
       2021-09-06 10:38:50 +08:00   3
    “上手难度”应该改成“上手容易度”,不看描述,还以为你说 React 最难。
    我个人觉得最简单的框架是 https://svelte.dev/examples
    LokiSharp
        2
    LokiSharp  
       2021-09-06 10:43:25 +08:00
    你觉得 Angular 难主要是不怎么会 TS 吧,会 TS 上手就简单了
    另外,建议 Vue 和 React 也用 TS 写
    wszgrcy
        3
    wszgrcy  
       2021-09-06 10:46:53 +08:00   2
    友好的问下,你觉得 Angular 文档哪里不够详尽或者哪里不够友好?我认识翻译文档的大佬,可以商量下进行一些调整
    pinkSlime
        4
    pinkSlime  
       2021-09-06 10:48:01 +08:00
    Flutter 那样的用代码堆 UI 可以接受
    React 那样的 jsx 堆 UI 最舒服
    再不济 WPF 那样 xaml+binding 也勉强能玩
    1202 年再让我写模板还跟故意跟代码混在一起就敬谢不敏了
    Oktfolio
        5
    Oktfolio  
       2021-09-06 10:48:43 +08:00   1
    @LokiSharp Vue + TS,你会发现你写出来的根本不像 TS
    toma77
        6
    toma77  
       2021-09-06 10:48:54 +08:00
    @fds svelte 不提供 render,开发复杂组件成本太高了,老哥有什么好的方法吗?
    LokiSharp
        7
    LokiSharp  
       2021-09-06 10:53:03 +08:00
    @Oktfolio 那是 Vue 的问题,所以我不用 Vue
    murmur
        8
    murmur  
       2021-09-06 10:54:57 +08:00
    react 简洁,这一看就没用过全家桶
    learnshare
        9
    learnshare  
    OP
       2021-09-06 11:06:24 +08:00
    @fds 我的错,是上手容易程度

    @wszgrcy 不是翻译的问题,原始文档也一样。
    比如前几天看 [模板变量]( https://angular.cn/guide/template-reference-variables) 部分,就没有提到任何关于 ViewChild 的内容。从这里点进 TemplateRef,也没有可参考的例子。

    @pinkSlime Flutter 风格还可以,但我更喜欢 QML 风格
    urlk
        10
    urlk  
       2021-09-06 11:14:16 +08:00
    ng 还行吧, 一开始就是 mvc 风格的
    PowerByNeoZhang
        11
    PowerByNeoZhang  
       2021-09-06 11:50:35 +08:00
    文档个人反而觉得 angular >= react > vue
    vue 文档以 cdn 引入的方式作为例子,不够贴近真实应用场景,有时还得另外去查询
    jjwjiang
        12
    jjwjiang  
       2021-09-06 12:41:33 +08:00
    react hooks 才叫简单

    class 模式一旦开始写效果那真实噩梦
    yazoox
        13
    yazoox  
       2021-09-06 12:46:00 +08:00
    从零开始学前端,直接就是 react+ts+redux+redux+saga,不怎么会写 js ...
    beginor
        14
    beginor  
       2021-09-06 12:50:45 +08:00
    三个框架都折腾过一轮,最后还是 Angular 全家桶最香!
    siweipancc
        15
    siweipancc  
       2021-09-06 12:58:19 +08:00 via iPhone
    Angular 最香最重,类比下就是后台的 springboot 。React 最快最整洁,属于 Netty 这一层次。
    作为一个懒得要死的人,自己的项目我只考虑用 Angular 。
    Terry05
        16
    Terry05  
       2021-09-06 12:58:45 +08:00
    又要开始热闹起来了
    oooolongtea
        17
    oooolongtea  
       2021-09-06 12:59:48 +08:00
    最近也在学 vue,支持一下。
    elone
        18
    elone  
       2021-09-06 13:58:10 +08:00 via iPhone
    还是 ng 省心
    zhwithsweet
        19
    zhwithsweet  
       2021-09-06 15:07:58 +08:00
    建议直接 Vue3 开始,ts 支持 OK,文档 OK 。
    ccyu220
        20
    ccyu220  
       2021-09-06 15:22:18 +08:00   1
    热闹预定
    paranoiddemon
        21
    paranoiddemon  
       2021-09-06 15:28:37 +08:00 via Android
    @wszgrcy 感觉那个英雄之旅的例子可以放到前面一点,开始一堆概念给我看蒙了,后面跟着英雄之旅的例子写了一遍才理解。
    nzbin
        22
    nzbin  
       2021-09-06 15:50:38 +08:00
    作为一个从 vue 转 angular 的前端,最开始吸引我的就是 angular 的文档,仔细看几遍,真的很香
    pigspy
        23
    pigspy  
       2021-09-06 15:53:16 +08:00
    angular 的文档不行?我觉得文档方面 angular > react >> vue
    CodingNaux
        24
    CodingNaux  
       2021-09-06 15:59:03 +08:00
    vue 好难,看文档看的头晕
    vue 的 template 写好束缚
    目前维护 vue 项目没有 ts 提示好痛苦,写着没自信,生怕写错
    zxCoder
        25
    zxCoder  
       2021-09-06 17:18:24 +08:00
    非杠,为啥 jsx 就是好。。。UI 用 html xml 描述不是更加自然和容易理解吗
    3dwelcome
        26
    3dwelcome  
       2021-09-06 17:30:11 +08:00
    @zxCoder jsx 就是 html/xml 的进化版本

    第一你不可能手写 DIV
    第二把所有的模板 /三元运算符 /Web 组件都加到 html/xml 里后,就相当于是一个变种 jsx 了。
    zxCoder
        27
    zxCoder  
       2021-09-06 17:36:36 +08:00
    @3dwelcome 看到上面有人说 vue 模板和代码混在一起。。。那 JSX 这种不更是把模板和代码混在一起吗。。。或者说根本就没有模板。。。
    shakaraka
        28
    shakaraka  
    PRO
       2021-09-06 17:49:54 +08:00
    ng 的文档是最舒服的了。
    无论是类型说明和最佳实践(但是确实不符国人的思维逻辑,但是一旦熟悉的这个逻辑,看起来会很香)

    学 ng 的前提是会 ts+rxjs,所以上手确实需要门槛

    我选 ng 。vue 太拉了
    robinlovemaggie
        29
    robinlovemaggie  
       2021-09-06 18:06:26 +08:00
    哈哈,三大流派都玩过的。
    从接触时间顺序来说:angular > react > vue,感觉难易度这个因人而异,当然也看当事人的 UI 实现复杂度。
    个人最喜欢 react,尤其 hooks 兴起,感觉彻底解放了 UI 看得见和看不见的交互死结。
    3dwelcome
        30
    3dwelcome  
       2021-09-06 18:10:27 +08:00
    @zxCoder "那 JSX 这种不更是把模板和代码混在一起吗"

    没办法,现在写个界面,总不太可能再回到拼字符串的年代。

    至于逻辑和界面是否能完全分离,那就要看码农的个人功力了。
    learnshare
        31
    learnshare  
    OP
       2021-09-06 18:19:15 +08:00
    @zxCoder 没有优劣,完全看个人喜好

    JSX 的感受是写 JS,从逻辑上更像是拼接字符串
    Vue/Angular 的模板更贴近原始 HTML 风格
    Flutter/SwiftUI 更像是在写绘图指令
    EPr2hh6LADQWqRVH
        32
    EPr2hh6LADQWqRVH  
       2021-09-06 19:01:46 +08:00   7
    React 和 jsx/tsx 完全就是 JS 的 PHP 化。
    没有任何语言会把逻辑、标签、样式,混到一起,除了 PHP 。
    React 是真正的 21st Century PHP


    Angular,Overengineering 的典范 , 还输出革命 Rxjs
    一个不小心就得给人忽悠瘸了


    Vue,成也山寨败也山寨,还带出了自建拓展名的歪风邪气,反标准化先锋
    bzw875
        33
    bzw875  
       2021-09-06 20:41:41 +08:00
    刚好我 3 个都用过,3 个都是 1 年。最喜欢 react,最麻烦的 angular 感觉像 js 版本的 spring,vue 不喜欢
    coolmenu
        34
    coolmenu  
       2021-09-06 21:25:19 +08:00
    用 next.js 挺方便的,可能限制比较多?但是我的前端水平非常一般,有限制也好
    hhyygg
        35
    hhyygg  
       2021-09-06 22:08:39 +08:00 via Android
    我也觉得 TS 文档不太行,查了好多也看不懂 t.ds 怎么用,自定类型死活不识别
    EPr2hh6LADQWqRVH
        36
    EPr2hh6LADQWqRVH  
       2021-09-06 22:37:07 +08:00
    @hhyygg 看来确实不行,d.ts
    charlie21
        37
    charlie21  
       2021-09-07 00:06:18 +08:00
    @avastms #32 php 受此殊荣 恰好说明了 php 是 ...
    lupkcd
        38
    lupkcd  
       2021-09-07 00:53:19 +08:00
    真有这么多人用 redux 啊?
    py2ex
        39
    py2ex  
       2021-09-07 02:01:21 +08:00
    你没有说你自己的前置知识。如果你是写 Java 的,会喜欢 angular,也会觉得亲切
    ccyu220
        40
    ccyu220  
       2021-09-07 09:45:28 +08:00
    @avastms 你果然还是出现了,我说这种帖子怎么会没有你
    EPr2hh6LADQWqRVH
        41
    EPr2hh6LADQWqRVH  
       2021-09-07 10:05:23 +08:00
    @ccyu220 还认识我了,真是个小机灵鬼
    sxfscool
        42
    sxfscool  
       2021-09-07 10:28:39 +08:00
    @avastms 那你用什么呢? jq 么
    fds
        43
    fds  
       2021-09-07 11:16:37 +08:00
    @toma77 抱歉,我做前端工作不多,还没用 svelte 开发过正经项目。
    1343EFF
        44
    1343EFF  
       2021-09-07 11:54:34 +08:00
    React 不需要记什么奇奇怪怪的命令,只要熟悉 js 就行,我觉得比 vue 舒服
    coldmonkeybit
        45
    coldmonkeybit  
       2021-09-07 13:32:10 +08:00
    完蛋,看下来没几个喜欢 vue 的,看来都是被逼着用的
    ccyu220
        46
    ccyu220  
       2021-09-07 14:26:48 +08:00
    @avastms 那可不,从 17 年左右就认识你了,这种帖子怎么会没有你的阔论。
    AV1
        47
    AV1  
       2021-09-08 01:57:37 +08:00
    @avastms
    react:自创扩展名,明明是我先的
    AV1
        48
    AV1  
       2021-09-08 02:11:52 +08:00
    这么多年了,我觉得三大框架的风评,非常符合那句经典的评论:
    世界上只有两种编程语言(框架,库……):一种是有人骂的,一种是没人用的。

    之前想招写 angular 根本招不到人,虽然网络上风评非常好。
    多数人还是写 react 和 vue,而且同时用这两个的也不少。
    learnshare
        49
    learnshare  
    OP
       2021-09-08 09:42:43 +08:00
    @DOLLOR
    Angular 2.* 出的时间太晚,1.* 的用户都转走了。而且 2.* 完全另一个框架,上手更难了。
    Vue/React 用户多,职位也多,互相促进。Angular 用的少,招人更少,爬不起来了。
    alexkuang
        50
    alexkuang  
       2021-09-08 14:53:43 +08:00
    @avastms #32 非杠纯好奇,请问有什么更好的写 UI 的方法?才疏学浅,只接触过 1. DOM 和 jQuery 的 imperative UI 操作,不太喜欢; 2. php 之类的拼接字符串; 3. React/ Vue 这种 declarative 的方式,最喜欢。
    zxCoder
        51
    zxCoder  
       2021-09-10 10:46:38 +08:00 via Android
    "React 不需要记什么奇奇怪怪的命令,只要熟悉 js 就行,我觉得比 vue 舒服"

    "Vue 不需要学什么奇奇怪怪的 js,只要写过后端模板引擎就行,我觉得比 React 舒服"
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     881 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:38 PVG 06:38 LAX 15:38 JFK 18: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