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

Node.js 比如 Nest 有 django 这种简单易用的框架么

  •  
  •   whatsupbitch · 2020-09-24 19:08:19 +08:00 · 10042 次点击
    这是一个创建于 1550 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:
    本人回青岛创业,小型外包公司。青岛人才市场 java 最多,但是个人觉得 java 的开发效率相对较低,大型国企和企业我们也没有资源。所以语言层面更追求开发效率
    青岛的人才市场:
    1. Java
    2. JavaScript
    3. PHP
    4. Python

    Java 和 PHP 排除,Java 是开发效率的问题,PHP 是个人不太喜欢,我就是 PHP 转 Python 的。主要原因青岛 Python 不好招人。而且现在现在前端的工作量远大于后端,而且 TypeScript 的产生对后端也是积极的影响。所以我在考虑后端用 Node.js (节省成本),前端有一些逻辑能力强的员工可以转 Node.js ,简单的逻辑上手没问题。

    问题:
    1. 开发效率问题,目前我觉得 django 的开发效率特别是开发 API 比 ror 还高,可能个人水平和见识比较少。所以问一下有没有熟悉 Python 和 Node.js 的大牛,Node.js 有没有类似的框架
    2. 前端人员转 Node.js 的可行性,因为我是后端,真正去写的前端的时候发现也不是想象中的那么容易,特别是写 UI 这块,完全是两个思维。
    70 条回复    2021-01-08 20:33:12 +08:00
    coderxy
        1
    coderxy  
       2020-09-24 19:10:27 +08:00
    前端转的话 egg 吧。 算是比较健全的框架了。nest 比较适合 java 转过去的。
    Mark24
        2
    Mark24  
       2020-09-24 19:11:22 +08:00
    egg
    但是好像也不太维护了似的
    wuwukai007
        3
    wuwukai007  
       2020-09-24 19:13:13 +08:00 via Android
    学 vue 吧,vue+django
    Zchary
        4
    Zchary  
       2020-09-24 19:38:42 +08:00 via iPhone
    Nest 上手没 egg 容易
    yhxx
        5
    yhxx  
       2020-09-24 19:44:18 +08:00   ❤️ 3
    前端的工作量远大于后端你还用 Node 给前端加活?不应该是 Java 能做的都用 Java 做掉吗
    不过如果是后端人很多很闲的话,可以试试 Nest,对 Spring 选手很友好,但是好像没什么必要啊
    xrr2016
        6
    xrr2016  
       2020-09-24 19:44:22 +08:00
    建议 Nest.js ,Typescript 真香!之前在公司用 Egg,请求参数解析是真的难受。我也是前端 :doge:
    whatsupbitch
        7
    whatsupbitch  
    OP
       2020-09-24 19:51:13 +08:00
    @yhxx 同样也加人啊
    whatsupbitch
        8
    whatsupbitch  
    OP
       2020-09-24 19:51:33 +08:00
    @wuwukai007 vue 我们前端必备的
    whatsupbitch
        9
    whatsupbitch  
    OP
       2020-09-24 19:52:11 +08:00
    @xrr2016 hah 感觉 Node 社区很多推荐 Nest 的
    yhxx
        10
    yhxx  
       2020-09-24 19:58:37 +08:00
    @whatsupbitch Nest 对新人不太友好
    考虑到青岛的市场环境,我觉得还是会有点坑的
    很有可能遇到问题全公司没有人能解决,这个还是要考虑一下
    whatsupbitch
        11
    whatsupbitch  
    OP
       2020-09-24 20:05:10 +08:00
    @yhxx 谢谢大哥
    lovedebug
        12
    lovedebug  
       2020-09-24 20:28:54 +08:00
    当然 nest.js 了,看看 npm 的下载量
    lovedebug
        13
    lovedebug  
       2020-09-24 20:29:33 +08:00
    nestjs 搭建好架构,新人谢谢 controller 和 service 就够了
    maigebaoer
        14
    maigebaoer  
       2020-09-24 20:38:32 +08:00 via Android   ❤️ 1
    laravel 啊~撸着爽
    ila
        15
    ila  
       2020-09-24 20:41:28 +08:00 via Android
    当然是外包给 v2exer
    wxsm
        16
    wxsm  
       2020-09-24 21:25:05 +08:00 via iPhone
    不考虑 go 吗
    roscoecheung1993
        17
    roscoecheung1993  
       2020-09-24 22:30:46 +08:00
    靠谱的 node 巨难招
    前端转 node 坑巨多(循环调库调微服务的见过没?
    真不如招个会点 js 的 php/java
    chenhui7373
        18
    chenhui7373  
       2020-09-24 22:41:03 +08:00
    jhipster
    wszgrcy
        19
    wszgrcy  
       2020-09-24 22:58:56 +08:00 via Android
    nest+ng,相当于一个人无缝写前后端……
    shuimugan
        20
    shuimugan  
       2020-09-24 23:08:34 +08:00   ❤️ 1
    我们在用 node-red,本来这玩意是在物联网领域给有编程基础的人用的,专职编程人员用它是如鱼得水。现在我们的前端通过 node-red 已经构建出非常多的后端模块了。
    整体易用性不错,而且拖拉拽一个接口出来跑 hello world,单进程 qps 就能有 2k+,不用担心什么自身的性能瓶颈。
    构建业务使用开发 npm 包的形式,安装到 node-red 上拖拉拽组装,就是一个完美的 BFF 层。
    Leigg
        21
    Leigg  
       2020-09-24 23:25:34 +08:00 via Android
    python 重构火葬场,请考虑用 go
    AsherTan
        22
    AsherTan  
       2020-09-25 00:00:40 +08:00
    推荐 egg 。感觉 nest 上手还是有点难度的,特别是用好来
    huiyifyj
        23
    huiyifyj  
       2020-09-25 00:29:54 +08:00
    建议考虑 go
    hgjian
        24
    hgjian  
       2020-09-25 00:33:03 +08:00 via Android
    thinkjs 怎么样啊?虽然我不会用
    ericgui
        25
    ericgui  
       2020-09-25 02:56:47 +08:00
    @Mark24 因为维护不产生 api
    TonyG
        26
    TonyG  
       2020-09-25 09:02:29 +08:00
    我们在天津使用的 egg.js 开发很重的应用,可以跟你分享些经验:
    1, node.js 开发人员极其难招
    2, 前端转 node.js 不靠谱,虽然语言一样,但后端语言永远只是个起步价,后边结账是多少钱,跟里程有关跟起步无关。想想会 Python,就等于会人工智能吗
    3, 开发效率跟熟练程度有很重要的关系,而不全是语言、框架决定论。
    4, 外包公司永远基于平台是最优方案,而不是从框架层面开始敲代码。
    myCupOfTea
        27
    myCupOfTea  
       2020-09-25 09:08:52 +08:00
    现在 java 的效率很低吗? sprint boot /sprint cloud 开发挺快的啊,ide 这方面的代码自动生成工具也不少啊
    ruzztok
        28
    ruzztok  
       2020-09-25 09:31:29 +08:00
    前端我现在碰都不想碰,尤其是 vue
    monkeyWie
        29
    monkeyWie  
       2020-09-25 09:32:58 +08:00
    你确定 java 现在开发效率低? spring boot 了解下,另外 egg.js 虽然开发效率高,但是维护起来要老命,如果用 nest.js 那为啥不用 spring boot
    fhsan
        30
    fhsan  
       2020-09-25 09:38:52 +08:00
    建议 java,nodejs python php 维护搞死你
    Reapper
        31
    Reapper  
       2020-09-25 09:45:08 +08:00
    java 不错吧,node 只用过 koa,nestjs 还没有尝试过
    flyingfz
        32
    flyingfz  
       2020-09-25 09:49:23 +08:00
    @shuimugan 能否 简单说说 node-red 怎么用在前端?
    1194129822
        33
    1194129822  
       2020-09-25 09:52:24 +08:00
    什么年代了,还说 Java 开发效率低?如果说传参只用 map 当我没说,你不管什么项目要不要事务?要不要定时任务?springboot 全家桶+Stream 如果还会一些 Reactor 开发直接起飞,mybatis 效率可能低,但是可以直接用 JPA,甚至 DBUtils,JdbcTemplate.可选择太多,而且维护,成本都很低
    flyingfz
        34
    flyingfz  
       2020-09-25 10:15:41 +08:00
    @shuimugan 不好意思, 我看错了。 这个东西还挺有意思的。 多谢分享。
    miniwade514
        35
    miniwade514  
       2020-09-25 10:20:00 +08:00
    写 JS 的人多,不等于 node 后端多。即使那几个互联网重镇,也少有把 node 作为后端主力的公司。
    libook
        36
    libook  
       2020-09-25 10:24:14 +08:00
    可以拿 express 学习,需求稍复杂一点可以考虑用 koa 。
    acthtml
        37
    acthtml  
       2020-09-25 10:30:41 +08:00
    不建议招 nodejs

    一、人难招。
    二、生态不完善。
    三、变化快、可维护性差。

    如果非要,那么框架除了 nestjs,还可以看看 eggjs,其他的就不用看了。
    Hanggi
        38
    Hanggi  
       2020-09-25 10:34:58 +08:00
    @acthtml emmm,人难不难招不知道,生态哪里不完善呢?流行的框架很久都不出大版本了,变化不快吧。typescript 写静态类型代码,可维护性不算差吧?

    而且 Nodejs 需要单独招吗?感觉谁都会呢,难道是错觉?
    treblex
        39
    treblex  
       2020-09-25 11:15:54 +08:00
    php 开源的商城项目比较多吧 也有比较稳定的,纯二开够养活中小公司了

    或者考虑一下 go 吧,只做 web server 的话,入门很容易
    acthtml
        40
    acthtml  
       2020-09-25 11:21:29 +08:00
    @Hanggi haha 可能跟我所在的团队有关。在基础架构领域,是 java 的天下。目前我们 js 只负责前端和 controller 层。
    alan0liang
        41
    alan0liang  
       2020-09-25 11:48:35 +08:00 via Android
    一直用 Node 和 Python 写后端(Node 为主),Node 用 Koa,Python 用的是 Flask,目前写着还挺爽的。我本人是伪·全栈,算是前端转的,包括团队里其他几个人写代码也没什么问题。开发效率很好,可维护性也不差。对我来说学 Node 不是很难,团队里从 C-with-STL 转过来的 OIer 也能适应。没敢上 TS 因为学习成本有点高。
    选 Node 而不是 Java 还有一个原因,前后端只用学一个语言,小团队学习时间不是很多。
    重构并不「火葬场」,这是夸张说法。
    情况比较特殊,仅供参考。
    coderxy
        42
    coderxy  
       2020-09-25 11:54:55 +08:00
    @Hanggi node 谁都会绝对是错觉。我们去年招了好几个月都没碰到几个合适的,很多都是前端转过来的,想马上上手干活几乎是不可能。
    coderxy
        43
    coderxy  
       2020-09-25 11:55:35 +08:00
    @acthtml 你们是拿 js 做 BFF?
    waltcow
        44
    waltcow  
       2020-09-25 11:57:38 +08:00
    jhipster
    FaiChou
        45
    FaiChou  
       2020-09-25 12:03:44 +08:00
    我也青岛滴, 给个建议, 小型外包公司最好不要碰 haier 的外包, 很难拿到钱..
    crackhopper
        46
    crackhopper  
       2020-09-25 12:10:52 +08:00
    strapi,不过后来收费了。自己组合也一样。bookshelf,mongoose,反正 ORM,ODM 都有的。路由控制分发一般都 koa 。最早用 express 。
    zoharSoul
        47
    zoharSoul  
       2020-09-25 12:16:18 +08:00
    java 现在有 spring boot 的加持, 后端 crud 效率还是挺高的.
    基础设施也很完善
    zyxbcde
        48
    zyxbcde  
       2020-09-25 12:32:01 +08:00 via Android
    青岛后端还是 java 吧,既然做外包,项目是要移交的,你弄个本地冷门的人家甲方都完全维护不了怕招投标不好中吧。
    arvinsilm
        49
    arvinsilm  
       2020-09-25 12:34:03 +08:00
    外包公司不应该考虑甲方语言要求吗?
    Bijiabo
        50
    Bijiabo  
       2020-09-25 12:48:29 +08:00 via iPhone
    不要用 egg
    tailf
        51
    tailf  
       2020-09-25 12:52:46 +08:00
    PHP 转啥不好。。。
    charlie21
        52
    charlie21  
       2020-09-25 13:18:21 +08:00
    前端的工作量远大于后端?!是前端成品的生命时段远远小于后端吧
    提前想好会发生什么
    karnaugh
        53
    karnaugh  
       2020-09-25 13:54:56 +08:00
    说到 node,不要因为语言是 js 而划分到前端去,其本质是个后端语言,遇到的问题、瓶颈等也都是后端才会遇到的,与其你让前端转 node,还不如召几个别的后端转 node

    就好比随便抓一个 python 去搞人工智能 VS 找一个其他语言搞人工智能的人,转去用 python 搞 AI
    chogath
        54
    chogath  
       2020-09-25 14:02:57 +08:00
    nest.js
    maplelin
        55
    maplelin  
       2020-09-25 14:30:57 +08:00
    js 转 node.js 除非开发人员对后端有系统性的认识,不然很容易转出灾难
    6324
        56
    6324  
       2020-09-25 14:46:51 +08:00
    老铁我也 qd 加我 emgxMjdf
    wuhaoworld
        57
    wuhaoworld  
       2020-09-25 15:32:59 +08:00
    推荐一下这个 https://adonisjs.com/
    justin2018
        58
    justin2018  
       2020-09-25 15:36:57 +08:00
    @wuhaoworld 这个像 Laravel 😁
    falcon05
        59
    falcon05  
       2020-09-25 15:46:05 +08:00
    不要想当然,一哥们写前端的,让他写了点 PHP 后端代码,emmm,一言难尽。比如时区转换什么的,因为数据库存的是 UTC 时间,但是输出到前台的时候要转成用户所在时区。他们好像没这种概念,可能前端浏览器处理时间时很少会用到时区转换。
    duck2u
        60
    duck2u  
       2020-09-25 16:01:34 +08:00
    Egg.js
    bxd5812127
        61
    bxd5812127  
       2020-09-25 16:39:33 +08:00
    熟悉 spring 与 angularjs 弄 nest.js 感觉比较容易上手
    HashV2
        62
    HashV2  
       2020-09-25 16:53:47 +08:00
    我现在就是 vue+django, 简直起飞, 天天五点半下班
    dany813
        63
    dany813  
       2020-09-25 17:01:06 +08:00
    nest.js 一把锁,当然 egg 也是可以的
    CoderLife
        64
    CoderLife  
       2020-09-26 16:16:16 +08:00
    next, hapi, strapi, eggjs
    alinwu05
        65
    alinwu05  
       2020-09-26 17:51:55 +08:00
    做外包的时候,其实技术栈很多时候由不得你选!
    whatsupbitch
        66
    whatsupbitch  
    OP
       2020-10-07 22:37:46 +08:00
    @6324 微信么?搜不到
    6324
        67
    6324  
       2020-10-10 16:21:37 +08:00
    @whatsupbitch base64 转一下
    samzhou
        68
    samzhou  
       2020-10-13 21:31:03 +08:00
    使用过 express,koa,fastify,推荐使用 fastify 。
    express,其实挺好的,就是个人感觉肿了点,初始化项目,就要按他的布署来,当然也有人喜欢他的布署。
    koa,太瘦了点,很多东西需要自己写,而且 koa 相关库,不规范,比如 body,session 库有几个版本,有的版本有坑。fastify,觉得刚刚好比较适合我,在安全方面也做的比较好。没有臃肿,像 KOA 有点瘦,fastify 功能库规范也满足我。

    另外,sails 框架,没深入用过,但了解过,应该也能满足你的需求,像 laravel 或 django 框架布署到工具链都还可以吧。框架比较大点(如果框架大,也需要多点时间学习)。
    manbanzhen
        69
    manbanzhen  
       2020-12-01 09:44:50 +08:00
    首先,我就是从 python 转到前端的,而后又简单了解和实践了 node.js , 建议 egg.js ,感觉和 django 想象 易上手。前端框架推荐的话就 vue 吧, 需要 ssr 就用 nuxt.js 。
    ibayeux
        70
    ibayeux  
       2021-01-08 20:33:12 +08:00
    @wuhaoworld 跟 laravel 基本一样。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2786 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.