V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
johnman
V2EX  ›  程序员

吐槽一下前端难学

  •  3
     
  •   johnman · 2022-12-12 09:03:32 +08:00 · 15647 次点击
    这是一个创建于 745 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前端真心难学。只想简单依靠 antd 开箱即用的框架,写个后台,结果萝卜带出泥,antd/antd pro/pro-component/umi...文档散落,各种穿插,文档不清晰

    还好框架还是挺优秀,能够挺方便运行。
    114 条回复    2022-12-30 10:23:07 +08:00
    1  2  
    wu67
        1
    wu67  
       2022-12-12 09:11:11 +08:00   ❤️ 1
    其实不难, 只是 react 系尤其是 antd 的文档一言难尽, 尤其是用上 ts 的情况下, 对初学者 /初接触者极不友好, 生态越是开放 /自由发挥的技术栈, 越是容易整出各种花里胡哨的玩意...
    不是吹, 如果你选择 vue+element 上手就没这感慨了...
    cbdyzj
        2
    cbdyzj  
       2022-12-12 09:11:12 +08:00 via Android
    学习方向错了
    henryxie2093
        3
    henryxie2093  
       2022-12-12 09:17:35 +08:00
    从 vue 2.x 开始,用 element-ui 组件库,各方面生态都稳定。
    dog82
        4
    dog82  
       2022-12-12 09:22:45 +08:00
    antd pro 文档好像是收费的,不付账只能看一个小时
    我想尊重作者的付出,奈何很难说服公司为这个文档买单
    shilianmlxg
        5
    shilianmlxg  
       2022-12-12 09:23:42 +08:00
    react 的文档并不难懂。难懂的是 antd dvajs umi 。尤其是需求很急,你需要快速掌握组件里面的某个东西时,有画面了。
    gogogo2000
        6
    gogogo2000  
       2022-12-12 09:25:30 +08:00   ❤️ 1
    用 antd 就好了,别用 antd pro ,那东西的文档极其糟糕,而且只是 antd 套娃,遇到问题想要找资料几乎是找不到的
    hervey0424
        7
    hervey0424  
       2022-12-12 09:26:31 +08:00   ❤️ 2
    千万不要用 antd pro 和 umi, 文档乱糟糟的, 出问题还不好解决
    shanyuhai123
        8
    shanyuhai123  
       2022-12-12 09:27:58 +08:00
    最近带前端 0 基础的,强烈意识到一定要从 vue2 开始,从 vue3 + ts 绝对劝退。
    libook
        9
    libook  
       2022-12-12 09:28:09 +08:00 via Android   ❤️ 1
    Vue 的文档是我看过的觉得最贴心的文档,总能在我产生疑问的时候马上就在下文解答我的疑问。

    个人认为前端难在于知识比较分散和扁平,导致大多知识都需要记住或随用随查。
    johnman
        10
    johnman  
    OP
       2022-12-12 09:28:34 +08:00
    @wu67 用着 antd pro 真心觉得有点失控的感觉,掌控感很弱,非常害怕以后维护。虽然是非程序员的个人业余项目。
    com781517552
        11
    com781517552  
       2022-12-12 09:29:32 +08:00
    最好用 VUE 和 element
    zooeymango
        12
    zooeymango  
       2022-12-12 09:31:04 +08:00
    @dog82 不收费的呀
    magichacker
        13
    magichacker  
       2022-12-12 09:32:46 +08:00
    @shilianmlxg 有画面了,有内味儿了
    johnman
        14
    johnman  
    OP
       2022-12-12 09:33:07 +08:00
    @shilianmlxg 从入门到放弃
    Baymaxbowen
        15
    Baymaxbowen  
       2022-12-12 09:35:44 +08:00
    pro 真的是个垃圾
    johnman
        16
    johnman  
    OP
       2022-12-12 09:37:34 +08:00
    @com781517552 vue-element-admin ?
    sphawkcn
        17
    sphawkcn  
       2022-12-12 09:38:09 +08:00
    @hervey0424 #7 能推荐一个代替 Umi 的吗?用了 Next.JS ,发现不是每次都能实现热加载刷新页面,如果不能热加载启动全量加载的时候,小项目都慢到爆,保存一次动不动就需要等 30-40 秒,等不起 :(
    arfaWong
        18
    arfaWong  
       2022-12-12 09:38:54 +08:00
    别碰 antd pro 和 umi
    hexi1997
        19
    hexi1997  
       2022-12-12 09:43:33 +08:00
    @dog82 ? 你确定是 antd pro?
    hexi1997
        20
    hexi1997  
       2022-12-12 09:45:22 +08:00
    我觉得 antd pro 挺好用的,给了很多最佳实践
    golangLover
        21
    golangLover  
       2022-12-12 09:45:24 +08:00 via Android
    mr2xd
        22
    mr2xd  
       2022-12-12 09:48:11 +08:00
    没人推 Naive UI 吗
    QKgf555H87Fp0cth
        23
    QKgf555H87Fp0cth  
       2022-12-12 09:50:16 +08:00
    早期的 antd 确实是这样,现在好一点。文档确实没 Bootstrap 、MUI 那么简单。
    stroh
        24
    stroh  
       2022-12-12 09:53:45 +08:00
    antd pro 已经是前端最简单的文档了吧,傻瓜都能直接上手,不像其他插件还要自己实现,如果换其他插件实现他相同的功能要多写一大坨代码,反而增加了复杂性
    gaolingyi
        25
    gaolingyi  
       2022-12-12 09:56:13 +08:00
    初学者还是建议框架+ui 一步一步来, 不要上来就用 pro 等集成组件, 不然会发现好多东西看不懂也不知道该不该删

    初学建议从 vue2 + element 起手, antd 文档本身就不咋地, antd pro 文档更是文档都没齐就更新下一版
    yhxx
        26
    yhxx  
       2022-12-12 10:19:09 +08:00
    @dog82 怎么可能收费,你是不是看错了

    不过楼主列的后面的这几个 antd pro/pro-component/umi 还是不推荐用,尤其是新人,真的有点难用
    dream4ever
        27
    dream4ever  
       2022-12-12 10:22:08 +08:00
    楼主的前端掌握到什么层次了?要具体情况具体分析,不管前端后端,写个 hello world 都很简单,开发真实项目都需要学习很多相关知识的。
    4771314
        28
    4771314  
       2022-12-12 10:25:13 +08:00
    前端是易上手,难精通
    自己简单鼓捣一下,能用就行,那还是比较简单
    要系统性的学习,东西挺多的,尤其是现在的主流的前端框架,东西都封装好了,有时候理解起来就很复杂
    xstmjh123
        29
    xstmjh123  
       2022-12-12 10:27:25 +08:00
    千万别碰 umi dva 什么的阿里项目,项目用久了你也发现 antd 坑不要太多。但凡你能读英文文档的话,react 相关的文档和教程量又多又好,vue 全家桶也很不错
    IvanLi127
        30
    IvanLi127  
       2022-12-12 10:30:31 +08:00   ❤️ 2
    antd pro 和 umi ,绝对不是给前端新人用的,那玩意没点功底简直就是个黑盒。封装了很多业务逻辑,不是纯粹的前端 UI 组件。
    vision1900
        31
    vision1900  
       2022-12-12 10:36:07 +08:00
    如果你们公司的 UI 设计很有想法而且项目长期维护,用 antd 都已经够痛苦了,更别提 antd pro 和 umi ,那东西定制化起来简直让人头疼
    wunonglin
        32
    wunonglin  
       2022-12-12 10:40:17 +08:00
    angular material 的 api 设计不要好太多。用 ant 和 ele 那是自找苦吃而已
    darkengine
        33
    darkengine  
       2022-12-12 10:40:47 +08:00
    我是搞不定 antd pro + umi 的,只用了 UI 框架那部分
    sphawkcn
        34
    sphawkcn  
       2022-12-12 10:42:54 +08:00
    @xstmjh123 #29 不能这些用啥?推荐几个脚手架工具或者组合?
    dog82
        35
    dog82  
       2022-12-12 10:44:32 +08:00
    @zooeymango
    @yhxx 我说的是 eleadminpro 这个控件库,https://eleadmin.com/doc/eleadminpro/#/
    tkHello
        36
    tkHello  
       2022-12-12 10:45:34 +08:00
    跟我卷 我卷死你 我已经卷死 1 个人了
    kitebear
        37
    kitebear  
       2022-12-12 10:47:50 +08:00
    前端不难,后端难
    johnman
        38
    johnman  
    OP
       2022-12-12 10:52:28 +08:00
    @dream4ever 非 coder ,算业余爱好者,js 尚可但新的语法糖有时脑袋会短路,CSS 属于开窍 20%-40%的状态,觉得所见非所得。stackoverflow 依赖严重

    打算撸一个自己的 admin 后台,支持手机登录、邮箱登录、作为后续自己项目重用的基础,目标是快速成型。
    admin 打算集成异步任务管理、用户管理、配置管理、日志功能功能
    目前技术栈是
    后端 django rest-framework
    前端 antd-pro/react/typescript

    现在的状态是写后端很愉快
    写前端很痛苦,那一堆 antd-pro 组件用起来体验很差。基本靠全量的官方例子修改一下,主要是字段描述太不清晰了,文档散乱,需要打开 antd/antdpro/procomponent/umi 项目地址到处找文档。好在框架能很容易跑起来,集成了国际化、路由这些,不用自己选型
    johnman
        39
    johnman  
    OP
       2022-12-12 10:59:57 +08:00
    @vision1900 自己的项目,UI 没有特别需求。能跑能用就可以了。好维护,实现基本功能是首选
    yxzblue
        40
    yxzblue  
       2022-12-12 11:02:03 +08:00
    chloerei
        41
    chloerei  
       2022-12-12 11:04:04 +08:00 via iPhone
    不要用前端框架,后端渲染+bootstrap 。
    estk
        42
    estk  
       2022-12-12 11:09:49 +08:00
    文档写得最好的应该是这个框架: https://mui.com/
    makelove
        43
    makelove  
       2022-12-12 11:14:39 +08:00
    写后台管理支持下楼上观点,后台并不需要那么动态
    且后端渲染开发更快
    ccraohng
        44
    ccraohng  
       2022-12-12 11:16:27 +08:00
    有没有可能是你自己的问题,这已经是傻瓜组件了
    whyrookie
        45
    whyrookie  
       2022-12-12 11:16:42 +08:00
    插楼问一下,V 友有推荐的 Rect 最佳实践吗
    whyrookie
        46
    whyrookie  
       2022-12-12 11:17:05 +08:00
    @whyrookie #45 React
    BugCry
        47
    BugCry  
       2022-12-12 11:20:38 +08:00 via Android
    antd 极其难用,直接一堆配置甩脸上,而且 css 框架和 nextjs 还有冲突。你能想象 antd 里面同时存在 dayjs 和 momentjs 吗
    个人项目基本都是 MUI 或者 PrimeReact ,组件齐全,规划得也很不错
    Leviathann
        48
    Leviathann  
       2022-12-12 11:22:45 +08:00
    react 不是那种没写过的人看一眼示例就能直接抄过去改改的框架
    而是有其思想并且是思想先行的框架
    basefas
        49
    basefas  
       2022-12-12 11:24:51 +08:00
    我的建议是不要搞 antd pro ,直接学习写个简单的框架,只用 antd 就好
    贴个自己的项目: https://github.com/basefas/react-antd-admin
    Cmdhelp
        50
    Cmdhelp  
       2022-12-12 11:25:05 +08:00
    尝试下 next.js 系列,和 tailwindcss 和 flowbite,小项目真不适合 antd 和 umi ,太臃肿了。
    Leviathann
        51
    Leviathann  
       2022-12-12 11:31:50 +08:00
    另外 antd 也就是 table 比较大而全所以在 hook 没出来的时候用的人多,其他组件并不见得好用

    所以建议是用一些纯 ui 库 + tan table ,react hook form 这类专门处理 table form 的库
    johnman
        52
    johnman  
    OP
       2022-12-12 11:35:29 +08:00
    @ccraohng 有可能哈哈
    94qihang
        53
    94qihang  
       2022-12-12 11:39:18 +08:00
    阿里:你在教我做事?
    gdrk
        54
    gdrk  
       2022-12-12 11:39:54 +08:00
    antd pro 和 umi 这种太重了,真没必要浪费心神在他上面
    cmdOptionKana
        55
    cmdOptionKana  
       2022-12-12 11:48:43 +08:00
    @johnman 业余爱好者没必要学 react 之类的,用 MVC 架构多舒服!
    FaiChou
        56
    FaiChou  
       2022-12-12 12:00:45 +08:00
    建议自底向上学习, 先把 js html css react webpack redux 这些底子打好, 然后再去使用学习框架.
    b1ncer
        57
    b1ncer  
       2022-12-12 12:11:19 +08:00
    antd 很好,别用 antd pro 。

    antd pro 的定位就是疯狂推销自家的私货,不是一个从用户出发的技术产品。

    可以参考这个很多年前的 issue:
    https://github.com/ant-design/ant-design-pro/issues/556
    hzxxx
        58
    hzxxx  
       2022-12-12 12:24:31 +08:00
    用 layui 梭哈啊,或者 vue+element 啊,非前端用 react ant ts 还上 umi 那不是找罪受吗
    exploreexe
        59
    exploreexe  
       2022-12-12 12:24:38 +08:00
    同样感觉前端就是个大坑,首先是要学的东西巨多,我之前看过一个培训机构的 CSS 文档,一个 PDF 800 多 M ,让我瞬间不想学了,咱就说直接看这个文档不看视频,得学多久吧。

    而且感觉前端的人特别喜欢发明轮子,一个个的都是大发明家,三天两头一个新框架。。。
    chrisia
        60
    chrisia  
       2022-12-12 12:39:33 +08:00
    其实我感觉移动端更难,门槛很高。
    blankmiss
        61
    blankmiss  
       2022-12-12 12:50:42 +08:00
    @shanyuhai123 我倒是感觉 vue3 从零基础走挺平滑的
    Track13
        62
    Track13  
       2022-12-12 12:53:23 +08:00 via Android
    react 生态里我觉得 nextjs 的文档是最好的,英语苦手都能轻松学习。
    royzxq
        63
    royzxq  
       2022-12-12 13:00:45 +08:00
    antd 除了彩蛋门之外,算是做挺不错的开源项目了。

    新人不要用 antd pro 和 umi 就是了。

    umi 现在改的我有点看不懂了..
    yolio2003
        64
    yolio2003  
       2022-12-12 13:01:50 +08:00
    前端很难,主要在于心态要放平看。
    首先,react vue 都是摸索中的半吊子技术,并不稳定,还有无数多的新概念连作者都是半吊子水平。
    火爆不等于优秀,只不过是顺应了时代的浪潮而已。

    其次,社区过度活跃,难以分清优劣。

    所以还得自己有批判的眼光和能力,慢慢规划技术升级的路线。
    serge001
        65
    serge001  
       2022-12-12 13:05:42 +08:00
    你用是用 vue2 的 vue-element-admin 模板来写,会有种是个人都会写的感觉。。用 antd 别说后端,就是专业前端都想吐槽
    mofe
        66
    mofe  
       2022-12-12 13:06:01 +08:00
    不喜欢 antd ,太重了
    tailwindcss 写代码如沐春风,想怎么改怎么改
    感觉主动权重回到自己手上
    bmwh123
        67
    bmwh123  
       2022-12-12 13:26:58 +08:00   ❤️ 3
    如果 angular 文档能仔细看的话 其实 angular 是最好的 很规范 也没什么多的选择
    ChiangKaishek
        68
    ChiangKaishek  
       2022-12-12 13:33:40 +08:00
    同感, Flask RESTful + antd-pro
    后端写起来舒服又顺畅
    写前端的时候就难受地一批, 文档跳来跳去, 找文档找得人头大
    arnosolo
        69
    arnosolo  
       2022-12-12 13:45:23 +08:00
    只是简单写个后台管理页面的话, 用 vite-vue3-ts-unocss-primevue 好了, 文档很全.
    模板 -> https://github.com/arnosolo/vite-vue3-ts-unocss-primevue
    zzzmh
        70
    zzzmh  
       2022-12-12 13:47:46 +08:00
    我个人觉得不学框架的话前端挺简单的,h5c3js 然后学点 jq 和 vue ,写写纯 html 页面。自从学了框架就一直抓脑壳
    ZoeeoZ
        71
    ZoeeoZ  
       2022-12-12 13:48:25 +08:00
    每次看到这种帖子就不禁感叹,如果所有技术文档都有 vue 文档的水平,我们这样的低端程序员能活的舒服太多
    CHXX
        72
    CHXX  
       2022-12-12 14:08:01 +08:00
    字节家的 UI 真心好看
    Semi Design
    monologue520
        73
    monologue520  
       2022-12-12 14:10:08 +08:00
    @yolio2003 大佬所言的「社区过度活跃」非常赞同,每天一种新技术真不是瞎吹嘘的,真是服了这些老 6,整的好像娱乐圈似的
    christin
        74
    christin  
       2022-12-12 14:22:19 +08:00
    @mofe 我很好奇如果用 tailwind ,组件怎么解决呢? 比如 element 和 antd 里面非常常见的 table 等功能,官方的组件库是收费的。
    euronx
        75
    euronx  
       2022-12-12 14:23:39 +08:00
    `pro-components` 的文档那是极度辣鸡
    TimPeake
        76
    TimPeake  
       2022-12-12 14:25:28 +08:00
    javaer/phper/goer/: 我会 Vue/React === 我会前端
    Mexion
        77
    Mexion  
       2022-12-12 14:30:51 +08:00
    你真要写后台全部自己选型自己从头写还好点,用别人的里面各种过度封装到最后维护你会疯狂的,各种需求需要改这改那最后整个项目变成了依托答辩,别问我怎么知道的,因为我现在就在维护答辩,刚开始图方便用现成的,现在各种受束缚才知道多难受,里面绑定太多重构也不太可能了,现在只能忍着了。
    像 antd 这种就用 antd 就行了,别用 antd pro ,这种框架绑定了一堆东西,你还要花时间一一去学一遍,现在前端各种轮子层出不穷,各种深度封装的框架里面封装了各种各样的轮子,只能说心累,自己选型舒服多了。
    jones2000
        78
    jones2000  
       2022-12-12 14:33:52 +08:00
    就一个简单的后台, 又不是产品, 直接 jquery 搞下不就行了。
    mofe
        79
    mofe  
       2022-12-12 14:38:29 +08:00
    @christin #74
    我买了 https://tailwindui.com/
    如果不买也有开源免费的
    ragnaroks
        80
    ragnaroks  
       2022-12-12 15:36:53 +08:00
    新手不要一上来就使用 UI 组件库,组件库都默认你本身知晓(基于框架的)用法。
    leega0
        81
    leega0  
       2022-12-12 15:45:07 +08:00
    踩错方向了,前端不止有 react ,还有 vue
    zzzzzzZ
        82
    zzzzzzZ  
       2022-12-12 15:55:55 +08:00
    我朋友对此有个很精准的评价:阿里系的开源项目都是面向 OKR 做的,开放之后就不管了。

    不是我硬黑,从文档、更新频率、反馈速度。ANTD 、阿里时期的 Flink 、Nacos 、Seata 简直一脉相承,有一种自生自灭的粗犷美。对新手来说这种支持程度学习门槛真的很高。

    我承认和感谢阿里系的开源精神,也为我们国家越来越高的话语权感到骄傲。

    听说当初饿了么被收购,把 ElementUI 的团队强行解散,一部分人补进 ANTD ,大部分人离开阿里。element 为此也杂乱过一段时间,但是现在又好了
    simo
        83
    simo  
       2022-12-12 15:57:29 +08:00
    前端就是坑多,你现在开始学还好,最起码从语言层面规范化、工程化都好很多了。
    零几年那时候开始,连 ie6 常见 bug 都是知识,并且还很重要。
    johnman
        84
    johnman  
    OP
       2022-12-12 16:19:02 +08:00
    框架掌控感太弱了。所以幡然醒悟改用 layui ?
    8355
        85
    8355  
       2022-12-12 16:50:53 +08:00
    后端吐槽下 现在的前端一直都是在学别人写的框架
    自己的东西已经越来越少了
    不过牛逼的是把 ios 的安卓卷走了
    安卓跑的快的去做车机了 ios 是真惨 除了移动互联网大厂做几个原生 app 之外 其他的也就是外包了吧
    abbq
        86
    abbq  
       2022-12-12 17:59:08 +08:00
    @8355 的确如此
    sky857412
        87
    sky857412  
       2022-12-12 18:00:47 +08:00
    react + tailwindcss + antd + axios ,基本架子就搭建好了
    zhizunzz
        88
    zhizunzz  
       2022-12-12 18:15:52 +08:00
    自己用的东西我打算试试百度 amis
    theguagua
        89
    theguagua  
       2022-12-12 18:25:12 +08:00
    @BugCry 对的 antd 的 dayjs 还会和自己装依赖的冲突,以至于只能用 antd 的 dayjs ,,很离谱
    lodisy
        90
    lodisy  
       2022-12-12 18:34:08 +08:00   ❤️ 2
    @whyrookie

    状态管理 zustand 或 jotai
    组件 radix 等无样式组件
    样式 Tailwind CSS 等
    3D R3F 全家桶
    可视化 visx
    数据请求 swr / tanstack
    表单 tanstack
    动画 motionone / react-spring

    一时半会不知道还需要什么

    最后学习 Solid.js 和 leptos :/
    a4854857
        91
    a4854857  
       2022-12-12 18:34:19 +08:00
    就你自己的个人需求 vue2+element 不就够了.
    现在很多新的前端开发范式要解决的问题你都不会遇到.得不偿失
    lodisy
        92
    lodisy  
       2022-12-12 18:35:07 +08:00   ❤️ 1
    @lodisy
    ->
    表单 react-hook-form
    表格 - tanstack
    StrorageBox
        93
    StrorageBox  
       2022-12-12 20:29:54 +08:00
    这你是没玩客户端
    HungryOrangeCat
        94
    HungryOrangeCat  
       2022-12-12 21:12:45 +08:00   ❤️ 1
    @christin daisyUI 了解下,tailwind css 必备伴侣
    AyaseEri
        95
    AyaseEri  
       2022-12-12 21:31:21 +08:00
    你到底是怎么入坑后面三坨东西的,前端都不爱用后面三个玩意,尤其是 umi 。
    说句题外话,我们组的前端、隔壁组的前端都不爱用 umi ,但是我们的后端老大 React 没写几行非要自己搭项目,然后用了 umi 。不知道 umi 是不是比较命中后端(尤其是 Java 架构师)的癖好。
    THESDZ
        96
    THESDZ  
       2022-12-12 22:34:10 +08:00
    我觉得你是不是应该先学下思想?设计理念和最佳实践?
    ychost
        97
    ychost  
       2022-12-12 22:45:20 +08:00
    其实 CRUD 用来用去无非就是 Table/Form/Input/Button 这些,自己看懂 Antd 之后再封装一下就好了,现在看 Antd 有点 Spring xml 的味道,一堆配置需要填充
    Yuxiaoy
        98
    Yuxiaoy  
       2022-12-13 01:03:23 +08:00
    @whyrookie https://blog.miguelgrinberg.com/post/the-react-mega-tutorial-chapter-1-modern-javascript
    Miguel 的 React 课程学起来很舒服,没有引入任何不必要的库,推荐跟着敲一遍。
    MrHyde
        99
    MrHyde  
       2022-12-13 02:02:14 +08:00
    远离阿里的东西
    lchynn
        100
    lchynn  
       2022-12-13 07:35:56 +08:00
    @ZoeeoZ 喜欢传统的开发,又要现代的前端功能,c#系背景的,微软的 blazor 其实可以,其他语言平台的开发者可以等各种自己语言平台 WASM 框架方案成熟了,就不用现在 react ,vue 这种半吊子的前端框架了,也不用在 JS 这个语言上折腾。总觉得未来真正成熟的前端肯定不是现在这样群魔乱舞的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5369 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:43 · PVG 11:43 · LAX 19:43 · JFK 22:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.