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

web 后端开发框架怎么选?

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

    请问各位老哥,如果不考虑语言的话,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
    人家问框架,回复里那些喷语言的完全文不对题嘛…就显得很蠢。
    ck65
        30
    ck65  
       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
    xixibb
        48
    xixibb  
       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
    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   ·   实用小工具   ·   1331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:46 · PVG 01:46 · LAX 09:46 · JFK 12:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.