web 后端开发框架怎么选? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
androids
V2EX    编程

web 后端开发框架怎么选?

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

    请问各位老哥,如果不考虑语言的话,web 后端开发框架怎么选?

    前后端分离,开发语言不限,想找个比较好的框架来学习,不知道怎么选。

    62 条回复    2023-09-18 23:27:46 +08:00
    richangfan
        1
    richangfan  
       2023-08-31 11:17:34 +08:00   2
    首先排除 PHP 和 Golang
    Leviathann
        2
    Leviathann  
       2023-08-31 11:20:05 +08:00   2
    ts ,处理、操作数据比名义类型语言方便一万倍
    hongfs
        3
    hongfs  
       2023-08-31 11:20:17 +08:00   1
    再排除 Rust 和 Python
    vcbal
        4
    vcbal  
       2023-08-31 11:20:52 +08:00   12
    排除 java 这个又臭又长的
    k9982874
        5
    k9982874  
       2023-08-31 11:22:06 +08:00
    nextjs 一把梭
    qa2080639
        6
    qa2080639  
       2023-08-31 11:24:56 +08:00
    后端 nestjs 前端 vue 或者 react 都用 ts 写
    youngkingdom
        7
    youngkingdom  
       2023-08-31 11:25:41 +08:00   2
    都排除完了就 kotlin+spring 吧
    chiron688
        8
    chiron688  
       2023-08-31 11:25:47 +08:00
    我现在后端 python+C#双修,前端 js 用 vue
    用 python 是因为还会部署一些机器学习模型到 web 上,用 C#是因为单纯的 arcgis engine 二次开发要用,特别是作为网页后端
    tabris17
        9
    tabris17  
       2023-08-31 11:26:03 +08:00   1
    我来排除 nodejs
    jookr
        10
    jookr  
       2023-08-31 11:27:55 +08:00
    0 基础首选 PHP ,部署简单,教程资料丰富,保存马上可看效果,学习效率高。
    androids
        11
    androids  
    OP
       2023-08-31 11:28:12 +08:00
    各位老哥这一通排除还剩下啥
    YUyu101
        12
    YUyu101  
       2023-08-31 11:34:31 +08:00
    感觉 nestjs 相比 spring 和.net 这两后端全家桶还是差了点,spring 生态好,.net 语法甜,但 js 可以一门语言全栈,比如前后端共用 zod 校验,trpc 这些,只能说各有优势
    cvbnt
        13
    cvbnt  
       2023-08-31 11:35:27 +08:00 via Android
    Spring ,你能想象到的功能,它都能做
    libook
        14
    libook  
       2023-08-31 11:46:06 +08:00
    有用过一些的话,就是哪个顺手用哪个,除非你发出来完整的产品需求,看是不是需要特定框架来满足特定设计要求。

    一个都没用过的话,就找你顺手的语言现在用得最多的,去 GitHub 上搜 Web framework ,然后选择你熟悉的语言,按照 Star 数量排列。
    BraydenCai229
        15
    BraydenCai229  
       2023-08-31 11:50:44 +08:00
    koa2
    zjsxwc
        16
    zjsxwc  
       2023-08-31 11:56:07 +08:00   1
    推荐
    Rust axum
    zjsxwc
        17
    zjsxwc  
       2023-08-31 11:57:32 +08:00
    推荐
    PHP symfony

    推荐
    Ruby rails
    zjsxwc
        18
    zjsxwc  
       2023-08-31 12:00:12 +08:00
    推荐
    C++ crowcpp
    zero47
        19
    zero47  
       2023-08-31 12:00:16 +08:00   1
    我的建议是,看招聘网站
    GuardX
        20
    GuardX  
       2023-08-31 12:06:38 +08:00
    那肯定用 C 语言呀,全部手写
    manasheep
        21
    manasheep  
       2023-08-31 12:17:41 +08:00   1
    @YUyu101 .Net 可以 C#包揽前后端啊,甚至 C 端也给包了,代码完全共用,WebAPI+Blazor 形式
    Jtyczc
        22
    Jtyczc  
       2023-08-31 12:34:21 +08:00 via Android
    @manasheep 这个社区讨论这个技术的人也不多
    version
        23
    version  
       2023-08-31 12:43:32 +08:00
    React vue php nodejs
    以上搭配问题不大.成本低.最好找个开源的.二次开发..项目起来再说.
    很多人搭博客..各种花时间样式..最终文章坚持不了一个月..
    项目也是.搭建起来.跑起来简单基础的再说..可行性再说.
    shui14
        24
    shui14  
       2023-08-31 12:50:11 +08:00
    面向就业还是面向自己的产品?
    就业国内还是 java/php ,go 与其他完全看平台机会,平台有需求,进去转都可以,否则能力越强越不好找工作
    面向自己的产品除非有特别的技术情怀,serverless function 目前比较适合,主流平台都可以混用技术的,比如接口 api 可以 node 或者 php ,密集计算的部分可以 c 或者 rust 或者 go ,外围工具比如网络处理地理数据分析医学数据或者数据可视化可以 py ,就是当作工具,合适场景挑选合适的锤子,我之前问了某个平台,主流语言都可,随便整合,精力放在产品上面
    monmon
        25
    monmon  
       2023-08-31 13:08:06 +08:00   1
    后端是一个非常宽泛的概念,除了最显而易见的[后端接口]之外的数据结构、服务体系架构甚至运维部署的部分,也属于后端的范畴。个人理解如果只是从 [后端业务开发] 的角度,使用什么框架开发的其实区别并不大,需要看你的目标是什么,后端开发的复杂之处主要在于各种数据库和中间件以及各种微服务/云原生组件 `Redis 、MongoDB 、ElasticSearch 、Docker 、RabbitMQ 、Kafka......`的使用。

    回到 [比较好的框架] 的这个问题,经过市场普遍验证的各种语言实现的 web 框架其实都非常优秀。

    如果你想快速的搭建一个后端应用(如:博客后台),只做短期的尝试,建议使用:

    `Laravel 或者 Express 搭配 MySQL 即可`;

    如果你想在使用 web 框架的过程中了解尽可能多的后端内容可以尝试:

    - `Java/Kotlin + Spring`
    - `Go + Gin`
    charmToby
        26
    charmToby  
       2023-08-31 13:10:19 +08:00   2
    排除 Java ,关我 Spring 什么事?
    cmdOptionKana
        27
    cmdOptionKana  
       2023-08-31 13:10:25 +08:00   2
    既然是学习,首选 Go ,因为 Go 的标准库就有设计非常优秀的后端 “小框架”,而且由于功能少,方便你学习底层知识打基础,Go 的代码也是超级直白不绕弯,容易看懂。

    学完 Go 再学 Java Spring 之类的 “大框架”,看看现代化、工业化的成熟框架是什么样子。

    另外 ruby on rails 也很值得一看,它虽然没落了,但它的思想非常先进,曾经对现代 web 框架有非常大的启发。
    BeforeTooLate
        28
    BeforeTooLate  
       2023-08-31 13:21:12 +08:00   1
    php webman
    wonderfulcxm
        29
    wonderfulcxm  
       2023-08-31 13:33:09 +08:00 via iPhone
    人家问框架,回复里那些喷语言的完全文不对题嘛…就显得很蠢。
    mogita
        30
    mogita  
       2023-08-31 13:55:11 +08:00
    Node.js + https://parseplatform.org 一键下班
    289396212
        31
    289396212  
       2023-08-31 14:07:05 +08:00
    @YUyu101 .net Blazor 可以前后端共用 c#
    FightPig
        32
    FightPig  
       2023-08-31 14:08:36 +08:00
    我几乎一直 rails ,不过工作的话,还是 spring 吧,
    emSaVya
        33
    emSaVya  
       2023-08-31 14:08:50 +08:00
    cpp folly
    dcsuibian
        34
    dcsuibian  
       2023-08-31 14:10:16 +08:00
    Spring ,javaer 表示你排任你排,占有率会说话
    wizzer
        35
    wizzer  
       2023-08-31 14:11:25 +08:00
    选我写的:

    https://demo.budwk.com 演示地址

    https://budwk.com 开发文档
    keppelfei
        36
    keppelfei  
       2023-08-31 14:11:48 +08:00
    建议看看招聘信息,选 100 个 web 后端,看看他们用什么框架
    那些排除这排除那的非蠢即坏。
    WebKit
        37
    WebKit  
       2023-08-31 14:13:45 +08:00 via Android
    spring 下限高。
    wangkun025
        38
    wangkun025  
       2023-08-31 14:26:54 +08:00
    Ruby on Rails 啊
    flowerains
        39
    flowerains  
       2023-08-31 15:18:44 +08:00
    如果让我在什么都不会的情况下,重新学习一个 Web 框架,我一定选择 Ruby On Rails 。前端用 Vue3
    当然仅限个人对编程感兴趣,想干一些个人项目和研究使用。
    baobao1270
        40
    baobao1270  
       2023-08-31 15:41:40 +08:00   1
    C#吧,.NET Core 7
    duanxianze
        41
    duanxianze  
       2023-08-31 16:10:06 +08:00
    这种问题没有定论,我都推荐是,选择你最常用的一个
    idealhs
        42
    idealhs  
       2023-08-31 16:20:13 +08:00   1
    楼上大哥们都排除完了吧?
    那我就要说 asp.net core 了
    tool2d
        43
    tool2d  
       2023-08-31 16:24:16 +08:00
    看代码量,选实现一个功能,用到代码量最少的语言框架。

    人的脑容量有限,现在我一看到一大堆高度耦合的代码,就头大。

    但是一些语言的规范,就是不能省。
    beixiao
        44
    beixiao  
       2023-08-31 16:38:21 +08:00 via iPhone
    推荐 Python FastAPI
    muchengxue
        45
    muchengxue  
       2023-08-31 16:47:27 +08:00
    @androids #11 反向看投票,哪个票多就搞哪个
    usauk1998
        46
    usauk1998  
       2023-08-31 17:02:20 +08:00   1
    Rust axum
    xiaoriri666
        47
    xiaoriri666  
       2023-08-31 17:38:44 +08:00
    php laravel
    JZ8ZW193q6W9Awgy
        48
    JZ8ZW193q6W9Awgy  
       2023-08-31 18:14:25 +08:00
    @beixiao #44 这个可以有。。。快速干活就是了。。。
    klo424
        49
    klo424  
       2023-08-31 18:16:30 +08:00
    @baobao1270 8 了。

    但是不推荐 C#,别来卷我。
    OMGZui
        50
    OMGZui  
       2023-08-31 18:25:58 +08:00
    用来做什么呢?你也没说

    向钱看:Java
    兴趣为主:PHP
    dengshen
        51
    dengshen  
       2023-08-31 18:32:04 +08:00 via iPhone
    010101010101 配合隔壁节点的帖子代码量杠杠的
    dilu
        52
    dilu  
       2023-08-31 18:39:52 +08:00
    同意#50 的回复,你得先明确一下你的目的是什么

    找工作的话,目前没有什么比 Java 的市场更大更广了

    自己玩的话,PHP 相对简单容易上手,Rust 是个很厉害但是也很难的语言,Python 是个很不错的胶水语言

    C/CPP 系做 web 虽然也行但是总有一种大炮打蚊子的感觉,NodeJS 的异步 IO 很好,建议先选好语言再问框架 会更容易得到答案。
    fox0001
        53
    fox0001  
       2023-08-31 22:52:41 +08:00
    spring boot 一把梳~
    w3cll
        54
    w3cll  
       2023-09-01 00:05:49 +08:00
    排除 PHP ,关我 Laravel 什么事
    frank42a
        55
    frank42a  
       2023-09-01 10:20:54 +08:00
    Spring MVC ,不要 Spring Boot (太重)
    assad
        56
    assad  
       2023-09-01 10:52:15 +08:00
    排除 PHP ,排除 Go ,排除 Python ,排除 Java
    得,排除完了,自己撸个框架吧
    zorui
        57
    zorui  
       2023-09-01 11:02:37 +08:00
    @frank42a 我都快忘了单独的 spring mvc 怎么启动了。 新手搭个 mvc 的环境都能直接劝退。servlet tomcat web.xml 这些都快忘完了。spring boot 一把梭才是对的。
    mingsz
        58
    strong>mingsz  
       2023-09-01 11:19:49 +08:00
    楼上那么多排除的,我只能推荐你用易语言了
    zengzizhao
        59
    zengzizhao  
       2023-09-01 11:28:51 +08:00
    人家问框架,楼上的都在说啥
    推荐楼主用 PHP 的 webman
    ZeroDu
        60
    ZeroDu  
       2023-09-01 12:33:37 +08:00
    上面对 java 偏见太大了。
    spring boot 一把梳~, 还是很舒服的。文档很好,你遇到的问题都有解决方案,不用折腾。
    xuanbg
        61
    xuanbg  
       2023-09-09 07:48:54 +08:00
    都给排除完了,好了,这个事情可以不用干啦。
    lifespy
        62
    lifespy  
       2023-09-18 23:27:46 +08:00
    spring boot 3
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3183 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:49 PVG 18:49 LAX 03:49 JFK 06:49
    Do have faith in what you're doing.
    ubao 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