V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SniperXu
V2EX  ›  程序员

前端,想学后端,是先学 nestjs 过渡一下,还是直接去学 Java /go 之类的后台语言呢?

  •  1
     
  •   SniperXu · 2023-11-16 11:11:08 +08:00 · 7843 次点击
    这是一个创建于 381 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,就比较纠结

    86 条回复    2023-11-21 08:51:24 +08:00
    sunwei0325
        1
    sunwei0325  
       2023-11-16 11:13:30 +08:00   ❤️ 2
    想要进厂就选 java, 想要全干就选 nestjs
    iosyyy
        2
    iosyyy  
       2023-11-16 11:13:41 +08:00   ❤️ 2
    nestjs 对你学后两者帮助并不大
    wangtian2020
        3
    wangtian2020  
       2023-11-16 11:16:02 +08:00   ❤️ 2
    nodejs 是世界上最好的语言
    Shosuke
        4
    Shosuke  
       2023-11-16 11:19:53 +08:00   ❤️ 1
    NodeJs
    SniperXu
        5
    SniperXu  
    OP
       2023-11-16 11:20:30 +08:00
    @sunwei0325 大佬牛逼,这个总结到位。
    xingjue
        6
    xingjue  
       2023-11-16 11:21:19 +08:00   ❤️ 1
    学 golang 是未来
    SniperXu
        7
    SniperXu  
    OP
       2023-11-16 11:21:59 +08:00
    @iosyyy 因为一直干的前端,我一开始想的是,先从 nestjs 这类 nodejs 框架上熟悉下后台的开发思想,顺带接触下全栈开发。
    Philippa
        8
    Philippa  
       2023-11-16 11:22:11 +08:00 via iPhone   ❤️ 2
    koa ,express 就好了。为啥要上 nestjs 。nestjs 风格对标 java ,go 的 server 端主流风格就和 java 格格不入。因此 nestjs 和 java/go 没可比性,更不是后端的代表。 我看过一些前端执着学习 nestjs ,除了学会了一套按照模板办事,没看出来到底有什么水平上的提升。
    SniperXu
        9
    SniperXu  
    OP
       2023-11-16 11:22:36 +08:00
    @wangtian2020 上一次听到类似的还是 php ,哈哈哈
    xiuming142857
        10
    xiuming142857  
       2023-11-16 11:27:00 +08:00   ❤️ 1
    前端执着于开发后端,这事情就很诡异,意义何在,实际用也就小公司这么干,中大项目你一个前端轮的到你写后端东西么。
    SniperXu
        11
    SniperXu  
    OP
       2023-11-16 11:27:07 +08:00
    @Philippa 相比 nest ,koa 和 express 确实更好理解些。我想学 nestjs 初衷是在接触后台的情况下顺带提升下自己的 js 水平。你这么一说的话,我确实得考虑下 nestjs 是否适合我了。感谢大佬
    Ausmo
        12
    Ausmo  
       2023-11-16 11:28:03 +08:00
    @wangtian2020 首先,nodejs 不是语言→_→
    xiuming142857
        13
    xiuming142857  
       2023-11-16 11:29:55 +08:00
    现在 js ts 不是和 rust 搞的火热么,学 Java 和 GO ,还不如学 Rust 作用大一点
    dudubaba
        14
    dudubaba  
       2023-11-16 11:33:31 +08:00   ❤️ 1
    nestjs 就是 java spring 的前端版本,如果想转后端,直接学 java
    mightybruce
        15
    mightybruce  
       2023-11-16 11:35:48 +08:00   ❤️ 3
    现在后端也不是一门语言专一的, 不过直接学习我还是建议 go 语言,node.js 很多框架都是前端和全栈玩具,node.js 做不了重数据业务的服务, 在大厂一般是各个 api 聚合层,也就是其他各个微服务的"前端",学 Node.js 很容易走偏,可以借鉴的不错实现很少。创业可以考虑 node.js 一把梭。现在大厂前端也都要会 node.js 以及 nestjs 这些 BFF
    Java 适合需要稳定的业务尤其是金融业务
    go 适合高并发,游戏,通讯、IM 等后台服务

    初级后端基本需要懂数据库、缓存、消息队列 这些。
    大厂现在后端也不是一种语言,是多种语言共存,java,go ,c++, rust ,node.js 共存。
    IvanLi127
        16
    IvanLi127  
       2023-11-16 11:36:55 +08:00 via Android   ❤️ 1
    没有必要用这个过渡。
    coderxy
        17
    coderxy  
       2023-11-16 11:37:39 +08:00   ❤️ 1
    最重要的是你能在公司内部转岗后端吗? 如果不能,那你后续跳槽想找后端也很难。 所以其实前端想转后端最好的一步中间路径就是先做全栈,然后再转成纯后端。
    tutou
        18
    tutou  
       2023-11-16 11:39:49 +08:00   ❤️ 2
    我学了一段时间 nest 。发现不是 nest 难,是后端的架构难,各种概念不知道,还有什么 apollo ,clickhouse 各种接入。话说有没有推荐介绍后端各种服务教程
    wangtian2020
        19
    wangtian2020  
       2023-11-16 11:45:36 +08:00
    @Ausmo 所以你不反对 nodejs 是最好的是吗
    wangtian2020
        20
    wangtian2020  
       2023-11-16 11:47:43 +08:00   ❤️ 1
    前端确实很难转后端,如果只是想自己开发点东西,试试 node-red 可视化编程
    XCFOX
        21
    XCFOX  
       2023-11-16 11:48:52 +08:00   ❤️ 1
    Node.js 很好,生态繁荣,又有 TypeScript 这样的工程化语言。

    单说 ORM 这一个场景,Node.js 的 TypeORM 、Prisma 、MikroORM 的简便和易用是 Java /go 的 ORM 无法比拟的。

    至于 go 语言,个人觉得 go 是一个 Better C ,适不适合写后端业务是颇具争议的:
    [说 Go 语言写不了业务逻辑的请进] https://www.v2ex.com/t/871389
    [Go 写业务真的是好的选择吗] https://www.v2ex.com/t/912958
    [看到 Go 与 MongoDB 的交互方式,我想放弃 Go 了] https://www.v2ex.com/t/810126
    [我也打算逐步放弃 Go 语言] https://www.v2ex.com/t/967244
    Angela2022
        22
    Angela2022  
       2023-11-16 11:50:18 +08:00   ❤️ 1
    nestjs 本来就是前端, 你居然不懂, 你是真的前端吗
    songray
        23
    songray  
       2023-11-16 11:51:18 +08:00   ❤️ 1
    这年头「后端」和框架关系不大, 核心是一大堆中间件和工具. kafka 、nacos 、RocketMQ 、redis balbalbala....
    litchinn
        24
    litchinn  
       2023-11-16 11:56:49 +08:00   ❤️ 2
    确实,建议直接开始 wasm ,要么 java
    potatowish
        25
    potatowish  
       2023-11-16 11:58:03 +08:00 via iPhone   ❤️ 1
    我觉得你应该学 nextjs ,现代版 php
    Donahue
        26
    Donahue  
       2023-11-16 12:00:47 +08:00   ❤️ 2
    个人比较喜欢 go, java springboot 封装了太多, 有点点复杂,nestjs/express 之类的 js 框架写起来感觉太自由,
    go 很简单 go 是世界上最好的语言
    coolfamilyxun
        27
    coolfamilyxun  
       2023-11-16 12:06:06 +08:00 via Android   ❤️ 1
    学啥 nestjs ,垃圾。
    学习 php 一个星期就可以干活了。
    思想啥的都有。

    nodejs 也不行,太偏前端的感觉了。

    Java 你要学习三年。
    memorycancel
        28
    memorycancel  
       2023-11-16 12:09:29 +08:00   ❤️ 1
    C/C++/Python
    freezebreze
        29
    freezebreze  
       2023-11-16 12:11:33 +08:00   ❤️ 1
    php.js
    solobat
        30
    solobat  
       2023-11-16 12:57:12 +08:00   ❤️ 1
    koa/express > midwayjs > nestjs > java spring ,可以按这个顺序试试
    AKAUP
        31
    AKAUP  
       2023-11-16 13:02:56 +08:00   ❤️ 1
    那我作为后端程序员来问一下,学前端应该先从啥开始学起啊
    genffy
        32
    genffy  
       2023-11-16 13:19:39 +08:00
    @xiuming142857 rust +1 ,尤其现在字节在大力推这个。
    byj66
        33
    byj66  
       2023-11-16 13:29:26 +08:00 via iPhone   ❤️ 1
    建议优先考虑公司内转岗,然后直接学 java ,有 JS 和 TS 语言的基础,在 Java 语言基础方面还是很好上手的,然后把学到的直接用起来。关键看公司有没有这样的机会
    karott7
        34
    karott7  
       2023-11-16 13:31:06 +08:00   ❤️ 1
    不要什么过渡,直接 java ,java 发展这么多年带来的生态是其他语言无法比拟了,上手了后无论找工作或者自己开发独立项目都是最好的选择。
    coolfamilyxun
        35
    coolfamilyxun  
       2023-11-16 13:34:33 +08:00 via Android   ❤️ 1
    不要 Java ,又臭又长。
    你要学个几年才行。
    php 一个月直接可以干活。

    你想想
    TOUJOURSER
        36
    TOUJOURSER  
       2023-11-16 13:35:50 +08:00   ❤️ 1
    直接上 rust
    dayeye2006199
        37
    dayeye2006199  
       2023-11-16 13:38:31 +08:00   ❤️ 1
    koa express 一把嗦,世界是 JS 的
    SniperXu
        38
    SniperXu  
    OP
       2023-11-16 13:38:57 +08:00
    @xiuming142857 #10 其实学这个本意不是为了公司,是想自己写点东西试试🤣
    SniperXu
        39
    SniperXu  
    OP
       2023-11-16 13:40:22 +08:00
    @coderxy 其实目前我也是这么考虑的,先往全栈方向走,然后看看有没有机会转后台
    flyinghigherair
        40
    flyinghigherair  
       2023-11-16 13:41:00 +08:00   ❤️ 1
    Next.js
    能顺带体验 php
    SniperXu
        41
    SniperXu  
    OP
       2023-11-16 13:41:39 +08:00
    @tutou 对的,不过也不是说难,主要是开发思路没转变过来😂
    SniperXu
        42
    SniperXu  
    OP
       2023-11-16 13:43:25 +08:00
    @Angela2022 虽然都是 JS ,但是 nest 更应该算是后台开发吧🤣
    byj66
        43
    byj66  
       2023-11-16 13:52:15 +08:00 via iPhone   ❤️ 1
    坚持每天下班回家学习就可以了,我公司内转岗,学习 java 基础加一些 Springboot 框架基础就用了 20 多天,剩下都是在工作中学习的,所以有个这种机会挺好的,就是不太难得。加油
    rushhhh
        44
    rushhhh  
       2023-11-16 13:52:47 +08:00   ❤️ 1
    今年差不多变成了全干工程师,组里是用 nestjs
    coolfamilyxun
        45
    coolfamilyxun  
       2023-11-16 13:53:35 +08:00 via Android   ❤️ 1
    js 后台框架不建议入。
    js 框架什么 nestjs 啥的,很多东西,什么依赖注入,范型,什么 nodejs ,ts 。
    这些都是 Java 玩剩下的。

    开发体验很拉胯,没 Java 舒服。
    要想学习后端一全套,最好就是 Java ,花几年时间就 ok 。

    要想走捷径,不要搞啥偏门 nodejs 这类的框架。直接简单粗暴选择 php 。
    coolfamilyxun
        46
    coolfamilyxun  
       2023-11-16 13:58:54 +08:00 via Android   ❤️ 1
    打个比方,nestjs 类似的 nodejs 框架,就是 Java 框架的阉割版,慎入。
    PHP 框架就是 Java 的绿色版,懒人版,推荐。
    go 框架我就不说了,用的人太少,生态不行。
    DOLLOR
        47
    DOLLOR  
       2023-11-16 14:00:58 +08:00   ❤️ 1
    以我的经验,对接过的后端,90%都是 java+spring 。
    所以,学 java+spring 就对了,卷起来。
    gitrebase
        48
    gitrebase  
       2023-11-16 14:01:05 +08:00
    @SniperXu #5 想接全站就学 nest 就好,不用学 go 和 java ,nest 的话前后端语言统一效率更高
    wusheng0
        49
    wusheng0  
       2023-11-16 14:22:45 +08:00
    @Angela2022
    NestJS 怎么变成前端了?你说的 Next.js ?
    j1132888093
        50
    j1132888093  
       2023-11-16 14:42:01 +08:00   ❤️ 1
    你可以先学 Java 然后再学 nestjs
    DICK23
        51
    DICK23  
       2023-11-16 14:47:32 +08:00   ❤️ 1
    有啥好过渡的,直接学 Java 就行了,光论干活 spring 全家桶完全够了,遇到问题的情况可能比前端还少,各种成熟的方案,不像前端,各种兼容性问题,样式问题,node_modules 问题,node-gyp 问题
    littlebaozi
        52
    littlebaozi  
       2023-11-16 15:06:15 +08:00   ❤️ 1
    学后端不是语言的门槛,是他的生态。
    mxT52CRuqR6o5
        53
    mxT52CRuqR6o5  
       2023-11-16 15:12:52 +08:00
    @Angela2022 #22 你确定是 nestjs 本来就是前端,而不是 nextjs ?
    q8164305
        54
    q8164305  
       2023-11-16 15:22:35 +08:00 via Android   ❤️ 1
    如果没有后台基础最好不要学 nest ,学 koa ,Expres 比较好,如果想学 nest 风格的代码,还不如直接 java ,nest 文档少,出了问题基本很难解决
    lbunderway
        55
    lbunderway  
       2023-11-16 15:53:10 +08:00   ❤️ 1
    nestjs 比起 koa express 还是有一定门槛的,熟悉了还是不错
    enchilada2020
        56
    enchilada2020  
       2023-11-16 15:57:40 +08:00 via Android   ❤️ 1
    真是五花八门 咋说都有啊。。
    body007
        57
    body007  
       2023-11-16 16:03:43 +08:00   ❤️ 1
    我是 go 后端,正在学习前端,vue 框架刚学完。后端的话,Java 和 go 思路完全不一样(意味着你学一种切换另一个需要从头学),我浅学过 Java ,不习惯所以没有深入。go 的话推荐: https://goframe.org/display/gf ,这个框架的文档简直就是后端学习宝典,即使你不用 go ,也可以看看里面的设计思想。
    shiren11567
        58
    shiren11567  
       2023-11-16 16:07:19 +08:00
    @q8164305 靠谱
    AsZr
        59
    AsZr  
       2023-11-16 16:07:33 +08:00   ❤️ 1
    nestjs 这套东西 会用的不幸
    hongyun9456
        60
    hongyun9456  
       2023-11-16 16:21:19 +08:00   ❤️ 1
    直接学 go ,我就是前端自学的 go
    coderzhangsan
        61
    coderzhangsan  
       2023-11-16 19:35:13 +08:00   ❤️ 1
    我觉得,取决于你的职业规划。

    1.专职前端,没有必要花费大量精力去学后端,nodejs 、nextjs 这些够用了。

    2.转后端,从国内就业形势来看,无脑选 java ,go 就业行情太差。

    如果后面想做 web 全栈项目或者接私活,就选 php ,上手快,生态丰富。
    ruby1x
        62
    ruby1x  
       2023-11-16 20:25:15 +08:00   ❤️ 1
    golang 和 rust 是现在工资最高的.
    ragnaroks
        63
    ragnaroks  
       2023-11-16 22:42:16 +08:00   ❤️ 1
    捞钱的话 go 、rust ,提升身价 c 、asm ,混吃等死 java 、csharp ( dotnet framework ),无限制加班 nodejs
    ragnaroks
        64
    ragnaroks  
       2023-11-16 22:45:31 +08:00   ❤️ 2
    只说 web 这块的话,如果你的目标不是进大厂的话,继续基于 nodejs 生态耕耘就好了,全栈框架一大把,性能吊打个 spring 轻轻松松。想进大厂还是老老实实 java ,很多时候不是 java 怎么怎么好,而是前人都是用 java 拉的屎。
    lordofmetis
        65
    lordofmetis  
       2023-11-16 23:34:46 +08:00 via Android   ❤️ 1
    现在是不是没有人学 Rails 啊?
    Leonard
        66
    Leonard  
       2023-11-17 01:14:21 +08:00 via iPhone   ❤️ 1
    没必要,想学 Java 直接学。想全栈可以 nestjs ,但就没必要转 Java 了
    Leonard
        67
    Leonard  
       2023-11-17 01:16:11 +08:00 via iPhone
    @Angela2022 nestjs 是纯后端框架,压根没有前端
    HaroldFinchNYC
        68
    HaroldFinchNYC  
       2023-11-17 07:45:08 +08:00   ❤️ 1
    nestjs 是垃圾
    begeneral
        69
    begeneral  
       2023-11-17 09:50:37 +08:00   ❤️ 1
    直接 kotlin 干吧,go 也行,但中间件什么的,还是 kotlin java 多
    Jannok
        70
    Jannok  
       2023-11-17 10:01:59 +08:00
    @enchilada2020 +1 看完了就是主打一个啥都有
    enchilada2020
        71
    enchilada2020  
       2023-11-17 10:15:59 +08:00 via Android
    @Jannok 后端总嘲笑前端娱乐圈 其实半斤八两。。框架语言都大差不差 各有所长 亦有所短 谁也没比谁先进到哪去
    Uyloal
        72
    Uyloal  
       2023-11-17 10:23:30 +08:00   ❤️ 1
    前端转全干更推荐 next/nuxt + ORM hhhh 一把梭
    Cloudust
        73
    Cloudust  
       2023-11-17 12:16:12 +08:00   ❤️ 1
    直接学 golang 吧,没什么上手难度的。
    anjingdexiaocai
        74
    anjingdexiaocai  
       2023-11-17 13:19:37 +08:00 via Android   ❤️ 1
    我觉得可以根据自己的兴趣来先做一个需求再说呗,上来就想全部搞完不太现实。
    CodeCodeStudy
        75
    CodeCodeStudy  
       2023-11-17 13:30:48 +08:00   ❤️ 1
    midwayjs ,阿里出的 nodejs/typescript 后端框架,用着还行,推荐试一下这个。
    eggjs 也是阿里出的,但是是 javascript 的,不太推荐,而且好像也不怎么更新了。
    至于 express, koa 这些太 mini 了,没有什么功能和难度,想用的时候就用,没必要刻意去学。
    nestjs 没了解过,不评价。
    spring 全家桶的水太深了,你一个前端,就不要去碰了,会被淹的;如果你想转行做后端的话,倒是可以学一学。
    go 对你来说,可能最大的优点是可以编译成二进制,直接运行,适合做一些小工具。
    php 的话,一个星期就学会了,用 ThinkPHP 就能干活,也不太可以去学。

    总结:你只是想学一学的话,推荐 midwayjs ,如果想转后端开发的话,就全身心去学 spring 。
    SniperXu
        76
    SniperXu  
    OP
       2023-11-17 15:03:42 +08:00
    @byj66 #43 谢谢你的建议,我目前公司没有转岗的机会,我只是想自我改变一下。
    qq81605984
        77
    qq81605984  
       2023-11-17 16:08:50 +08:00   ❤️ 1
    nestjs 把。 反正都是接触后端,你会在开发的过程中学会 后端的一些生态(语言并不是问题,开发经验,和熟悉生态才是需要大量精力去填补的)。我看评论区还是更多的是鄙视链,我觉得任何一门经过市场考验而出的东西是不应该比起来谁高谁低,我用这个就是高端,你那个就是低端,而应该做优缺点比较,哪个最适合你。目前根据情况 nestjs 很适合你,可以学习一下。
    luzemin
        78
    luzemin  
       2023-11-17 16:45:09 +08:00   ❤️ 1
    如果学 java ,快进到 spring
    coderwink
        79
    coderwink  
       2023-11-17 17:13:55 +08:00   ❤️ 1
    本人前端,经验 3-4 年 ,建议学习顺序是 express -> java -> spring -> nest(可学可不学的东西) , 这些本人学过了一遍 ,1. express 学习 跟着做完了一个项目,在工作中用的比较的多的地方在于 一些自动化脚本的编写和云函数操作 Mongo 数据量日均 UV 7 万多。有用的
    2. java -> spring 大学的时候没学进去太枯燥了,没前端有意思, 工作后才学的 ,有同事指点学的比较快但是理解不清楚,也只是能干活完全理解不了 产出:自己买了一台服务器搭建了个人博客(几乎是每个程序员的经历吧) nest 看完了 敲代码体验真的很差,开发工具用的 vscode ts 很强吗? 我反而觉得 目前 ts 编辑器生态很鸡肋,java 用 idea 开发太舒服了。
    coderwink
        80
    coderwink  
       2023-11-17 17:26:25 +08:00   ❤️ 1
    本人前端,经验 3-4 年 ,建议学习顺序是 express -> java -> spring ->springMvc -> springboot -> nest (可学可不学的东西) , 这些本人学过了一遍 ,1. express 学习 跟着做完了一个项目,在工作中用的比较的多的地方在于 一些自动化脚本的编写和云函数操作 Mongo 数据量日均 UV 7 万多。有用的
    2. java -> spring ->springMvc ->springboot 大学的时候没学进去太枯燥了,没前端有意思, 工作后才学的 ,有同事指点学的比较快但是理解不清楚,也只是能干活理解不了是为什么 学完干了自己买了一台服务器搭建了个人博客(几乎是每个程序员的经历吧)给我工作中带来的帮助? 本地直接拉后端代码直接可以看,文档写不清楚直接看接口吧,偶尔一些小错误(很粗心那种)直接本地改了然后提醒后端啥地方出问题了,目前就是这样。
    3. nest 看完了 个人体验真的很差 开发工具用的 vscode + ts 很强吗?调试起来不如 java 老大哥 目前 ts 编辑器生态很鸡肋,java 用 idea 开发太舒服了。
    java 你学习了肯定是有用的 个人觉得程序员不可能在某一个端死磕,而不去学习另一个端知识,至于干前端还是后端谁知道呢?机会来了就上呗。
    感觉你应该和我一样 想做自己的的东西 无论是独立开发者(小游戏,小程序 [云开发] ,web 端),如果是这样 java 你必然是要学的
    seekafter
        81
    seekafter  
       2023-11-20 08:42:15 +08:00   ❤️ 1
    我也是个 java,但现在就是个 crud.后端不止是语言,还有中间件(redis,队列,nacos 等),这些东西才是真正的技术.我现在也想学 nest,应为用 java 总是感觉太慢了
    SniperXu
        82
    SniperXu  
    OP
       2023-11-20 09:08:50 +08:00
    @anjingdexiaocai 对的,目前打算先用 nest 尝试写一个个人小项目试试看
    SniperXu
        83
    SniperXu  
    OP
       2023-11-20 09:09:19 +08:00
    @AsZr 为啥呀,是有啥坑吗?
    SniperXu
        84
    SniperXu  
    OP
       2023-11-20 09:10:36 +08:00
    @qq81605984 谢谢你的建议,我本意也是想接触后台开发的一些思想和技术栈,因为本身自己做的前端,所以 js 的框架自然是我的首选
    SniperXu
        85
    SniperXu  
    OP
       2023-11-20 09:15:05 +08:00
    @seekafter 是的,后台开发要接触的东西太多了,所以想着想借着 nestjs 入手了解下后台开发的一些思想啥的
    seekafter
        86
    seekafter  
       2023-11-21 08:51:24 +08:00   ❤️ 1
    @SniperXu 这有两个项目,也是我最近才看到的, https://github.com/yinMrsir/chunyu-cms https://github.com/buqiyuan/nest-admin 第一个是影视 cms,第二就是后台管理,两个都是 nest 写的.我想用第一个继续二开做个影视站呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2592 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:58 · PVG 14:58 · LAX 22:58 · JFK 01:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.