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

[咨询 + 招聘] 把一个小项目从 Go 迁移到 Node.js

  •  
  •   cigaret · 8 天前 · 2247 次点击

    我们做了一个微信小程序叫「言与」(已上线可搜索),目前后端是用 Go 写的,数据库是 PostgreSQL ,大概有 50 个接口,业务复杂度一般,现在想迁移到 Node.js ,预期使用 TypeScript 、Drizzle 、Express ,其它要求暂时想不到。

    我想知道(区间即可,不要求精确),如果外包的话:

    1. 大概需要多长时间可以完成?
    2. 大概需要多少钱?

    我不知道是否还需要补充更多信息辅助判断,如果需要的话请直接指出。

    另外,如果有大哥可以接的话,可以直接联系我:Y2lnYXJldC1saXZpbmc=

    如果身边有靠谱的朋友也可以推荐给我,合适的话红包答谢!谢谢大家!

    第 1 条附言  ·  7 天前
    补充信息:目前后端 Go 代码 10000 行
    第 2 条附言  ·  3 天前
    感谢大家关注,已经确定合适的人选了。
    37 条回复    2025-06-03 14:32:09 +08:00
    momocraft
        1
    momocraft  
       8 天前   ❤️ 1
    纯好奇 可以讲讲为什么要迁移吗
    musi
        2
    musi  
       8 天前 via iPhone   ❤️ 1
    一般不都是 node 转 go ,你怎么反过来了
    herang
        3
    herang  
       8 天前   ❤️ 1
    能搞,但也纯好奇 可以讲讲为什么要迁移吗
    Razio
        4
    Razio  
       8 天前   ❤️ 1
    反向操作是真没想过。建议学 Go
    guoooo00oohao
        5
    guoooo00oohao  
       8 天前   ❤️ 1
    我也有和你一样感觉,用 ts 写 CURD 完全一把梭前后端,然后放到 Vercel 上托管。

    --
    用 golang 写后端,用 react 写前端 。

    部署的时候又要写 helm chart ,又要调试 k8s ,又要看负载均衡等等等。托管到类似 vercel 这样的 SAAS 上什么也不用管了,只要关心 infra 预算就够了。

    如果是纯数据库 curd ,或者不复杂的业务,重写应该算是比较容易。

    安全的迁移(其实不是迁移,是重写全部后端)
    1. 我推荐先写 e2e 测试,覆盖主要业务场景。
    2. 使用七层负载均衡器,或者在 fullstack 的前端部分一个一个接口进行替换。
    guoooo00oohao
        6
    guoooo00oohao  
       8 天前   ❤️ 1
    @musi 一般是 startup , 业务规模小,营收预期不明确,迭代快,人手少,缺乏专业的运维团队。
    cigaret
        7
    cigaret  
    OP
       8 天前   ❤️ 2
    @momocraft @musi @herang @Razio 统一回答一下:

    团队目前所有项目前后端都是 TypeScript 写的, 因为一些原因这个小程序后端用了 Go ,现在开发遇到了阻力。

    1 、换 Node.js 从团队角度更合适,大家都能使上劲。
    2 、小团队预算有限,Go 招聘成本相较 TypeScript 更高。
    3 、这个小程序在非常早期的阶段,用户量不大,性能不是问题,做起来之后自然有更多资源投入,完全可以到时候再做优化。
    xabclink
        8
    xabclink  
       8 天前   ❤️ 2
    反向优化真可怕, 不成熟的技术负责人真可怕
    donaldturinglee
        9
    donaldturinglee  
       8 天前 via Android   ❤️ 1
    50 个接口重构一下也快吧,如果业务不复杂的话
    maocat
        10
    maocat  
       8 天前 via Android   ❤️ 1
    ts 团队人都裁完了,还往进冲
    duanxianze
        11
    duanxianze  
       8 天前   ❤️ 1
    信息太少,不好判断工期,不过体验了小程序,并不复杂,要有个老手,两周差不多能搞完,2-5w 都有可能
    mikawang
        12
    mikawang  
       8 天前   ❤️ 1
    直接让 ai 帮你转不挺好吗,何必招人呢
    dotinow
        13
    dotinow  
       8 天前   ❤️ 1
    我支持团队内部统一技术栈,如果你们团队未来长期都是用 TS 的话
    leopod1995
        14
    leopod1995  
       8 天前   ❤️ 1
    没接过,联系方式: Q29uYW4yNTg3

    可以聊聊
    beidounanxizi
        15
    beidounanxizi  
       8 天前   ❤️ 1
    为什么不让 ts 写 go 呢 ,
    如果连 go 都写不明白 ts 写的 vue react 都很捉急
    写 go 2 周都能速成 。。。 改人 还是改程序
    明显改写 go 啊
    beidounanxizi
        16
    beidounanxizi  
       8 天前   ❤️ 1
    哦 原来已经部分写 ts 了 那就让写 ts 的 把 go 的先维护几个月熟悉了 再写成 go 得了
    lujiaxing
        17
    lujiaxing  
       8 天前   ❤️ 2
    @mikawang 诶还真是啊 这种活儿 ai 最擅长了 根本不需要招人的
    sagaxu
        18
    sagaxu  
       7 天前   ❤️ 1
    假设每个接口约 100 行左右代码(类型定义不算),10 天开发,5 天测试,约 15 天,外包价 15K 起,可惜 node 我不熟接不了。
    jingrui
        19
    jingrui  
       7 天前   ❤️ 1
    4w~6w ,1 个月左右。
    runningman
        20
    runningman  
       7 天前   ❤️ 1
    go 给我维护就行了。
    lujiaxing
        21
    lujiaxing  
       7 天前   ❤️ 1
    @beidounanxizi 这种小团队不可能维持两套技术栈的. 想啥呢. 况且 go 也没有额外的优势, 这些个高级语言不管是 C#, TS, 还是 go, 写出来的东西都不会有多大差别. 国外有个做餐饮供应链系统的, 叫 Xenial 吧应该. 就是用的 node. 也没耽误人家产品给好几个连锁餐饮品牌用, 用得好好的...

    不过这种东西都没必要摇人儿, 直接 AI 处理就行了.
    noyidoit
        22
    noyidoit  
       7 天前   ❤️ 1
    看了下小程序,感觉只是很简单的业务,只在晚上兼职的情况下 10 天左右就能做完了
    Razio
        23
    Razio  
       7 天前   ❤️ 1
    @cigaret #7
    1. 从技术、未来发展角度上,写 go 大家技术上都能成长( go 比 ts 简单吧),别说什么你永远只要写 JS ,那到此为止,这种水平也没必要继续说了
    2. 让你招 Go 了么,可否自己学两天,摆好求知好学的心态 2 天就能写,而且现在都是 AI 写,没什么可怕的,我司后端都在用前端的 Go 框架
    3. 你都说了早期,没用户,完全可以到时候再做优化,那现在着什么急转 TS ,成本、性能和个人发展上都看不到意义在哪
    xsen
        24
    xsen  
       7 天前   ❤️ 1
    @cigaret #7 内部找个有意愿的同事,翻书一周就可以上手
    cigaret
        25
    cigaret  
    OP
       7 天前
    @xsen 感谢建议!
    xsen
        26
    xsen  
       7 天前   ❤️ 1
    @cigaret #25 不客气。照我这边的实际情况,不管是毕业生、还是毕业 1-2 年、或者前端、后端( PHP/C++等)这些,基本都是一周不用就可以上手
    lujiaxing
        27
    lujiaxing  
       7 天前   ❤️ 1
    @Razio
    1. "写 go 大家技术上都能成长".... 所以说这个结论到底是怎么出来的? 为啥用 node 的开发者就不能成长? 是 node 不能搞微服务啊还是 node 不能做高并发?

    2. "让你招 Go 了么,可否自己学两天,摆好求知好学的心态 2 天就能写" 你说这话就说明你跟楼主屁股都不是坐一起的. 楼主很明显是技术负责人, 是要向老板负责的, 是要为产品的可维护性与质量负责的. 是, golang 语法相对简单, 学两天也就差不多了. 但是用 Golang 需要踩的坑是两天就能踩完的么? 生产环境出问题了怎么办? 你们这些 2 天速成选手能在最短时间内 完成 troubleshooting 解决生产环境的问题么? 小厂普遍都是草台班子, 永远都是不求最先进, 但求最稳定. 尤其团队都是用同一个技术栈的情况下. 小厂的资金生死线决定了很多情况下是根本不给你试错的机会的. 要不为什么好多企业到现在都是 java 8. 你以为他们不想升级? 这些个挣扎在成本线上的小厂, 出问题就是死. 但是你是开发. 你最大的 kpi 就是给拿公司的项目练手, 自己简历上贴金. 能用新技术一定不用老技术, 能往复杂了搞绝不搞复杂. 显得自己学习能力很强技术能力很强. 回头简历上就能写自己搞定了多少多少技术:"我别说板儿车了, 连运载火箭都能错出来". 本质上就是方便跳槽方便涨工资. 所以屁股都不在一起你说这些有啥用...
    Razio
        28
    Razio  
       7 天前
    @lujiaxing #27 还挺能说,急啦?
    1. 我在说提升个人编程技能,你在说 nodejs 啥不能写,对啊都能写,谁说不能写了,你用易语言也能写啊,我只是说这是难得的好机会,可以多学习一点技能,开阔一下视野。
    2. 人家说了早期项目,你也知道是小厂,所以到底什么情况才能让自己多学一点,难绷。学技术是我的爱好,赚钱是我顺手的事,跳槽涨薪对普通打工人有错,简历贴金又怎么了,再说谁在乎你这点金? KPI 可以是我的机会,也可以是我被逼无奈的任务,自己做选择不就好了。至于什么可维护性、质量负责,现成稳定的项目,语言重构就不踩坑了?生产就不出问题了?好难绷。

    我在说难得机会提升个人技能,你在说吊,屁股不在一起你回我干蛋
    qiubaowei
        29
    qiubaowei  
       7 天前   ❤️ 1
    @Razio 建议的很好 下次别建议了
    lujiaxing
        30
    lujiaxing  
       7 天前   ❤️ 1
    @Razio 建议的很好 下次别建议了
    lostc
        31
    lostc  
       6 天前
    推广帖啊 真糟糕
    IamUNICODE
        32
    IamUNICODE  
       6 天前   ❤️ 1
    go 的复杂度还行吧,学个一周估计都能上手了,纯维护而已
    交给我,50 个接口估计 5-8 天能给你改 node
    c0011
        33
    c0011  
       5 天前   ❤️ 1
    找到了吗?
    liuliuliuliu
        34
    liuliuliuliu  
       5 天前
    看了所有评论,golang 粉真可怕……
    AEnjoyable
        35
    AEnjoyable  
       5 天前 via Android   ❤️ 1
    😭笑死 我公司也是把 go 项目重构成 nodejs ,60 多个接口排期两个月 让我做,我没 nodejs 基础
    bzw875
        36
    bzw875  
       3 天前   ❤️ 1
    我自己项目本来是 nodejs ,现在想迁移 go 。楼主在逆行倒施哦
    hellofreckles
        37
    hellofreckles  
       3 天前   ❤️ 1
    让 AI 帮忙写不要太容易了吧,
    1 先让 AI 把基于接口的测试用例写好,人工校准一下
    2 让 AI 逐步比对文件一个个改写。
    3 用测试用例测试一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2680 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.