V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Yux0
V2EX  ›  程序员

2025 年了,应该如何选择 web 开发路线?

  •  
  •   Yux0 · 55 天前 · 6429 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

    大三,在公司实习。大学接触 AI 的炼丹比较多,就是从 GitHub 上面跟着 README 复现某个项目。python java c 懂一点语法但不多,所以前后端的基础并不是很扎实。直到去公司实习才会用调试工具去 post get 一些 API 进行调试,更多是在问 GPT 和用搜索引擎解决问题。

    目的

    现在想弄一个博客来学习前后端,先前用了mkdocs搭了一个自己的笔记博客,但这个好像是静态网站,而不是动态网站。说来惭愧,这些专业名词也是最近才学的。。我想做到这种效果:傅里叶变换交互式入门,作者是开源了这个网站fourier,他的主页也很漂亮jezzamon,我想做到和他一样厉害。

    所以我的问题是:

    1.怎么样去学后端

    2.应该怎么选择框架? 假设说我想像前者一样做一个科普式的网站,有交互有动画。我试着这个教程Express 教程:本地图书馆网站 ,做到一半有点无聊。。所以想直接实际做一个项目,或者跟着更有意思的文档

    我并不是很想去使用 cursor trae 这些工具,我基础不太好,我更多的是想自己有能力去看代码哪里出现错误,在结合我自己或者 AI 的帮助去改进。尤其是公司的项目代码多了起来,就不太会用了

    我的确很喜欢工具给我生成一大段代码且确实有用,但我不知道是怎么 work ,这就有点可惜

    谢谢大家~

    53 条回复    2025-04-30 16:43:00 +08:00
    ztm0929
        1
    ztm0929  
       55 天前 via iPhone
    Web 开发的语境里,“动态”与“静态”通常指的是数据库的连接与否。OP 提到的几个网站依然是静态网站,如果想要实现其中有趣的动画效果,以“animate”为关键词去 GitHub 里搜索相关的 js 库,跟后端关系不是特别大(甚至没关系…)

    不要抵触 AI 编程工具,别忘了里面的 Chat 功能啊,一边跟它聊、一边记在自己笔记里。
    Yux0
        2
    Yux0  
    OP
       55 天前
    @ztm0929 谢谢~我还是理解错了。当然不会抵触,GPT 确实好用,解释名词代码我也在用和记笔记,只是有些代码生成太多不理解,而且各种风格也会造成混淆
    promiser3d
        3
    promiser3d  
       55 天前
    看来你确实是新手。 你说的那个网站,也还是个静态网站。只是这个静态网站有很多「交互动画」效果。这个是 js 实现的。后端主要是提供数据流的。但是如果数据流可以直接保存在前端或者本地,那也可以没有后端。

    以前流行的 WordPress 这些就是前后端模式,前端是数据模板,后端 php 提供数据。现在这些静态博客,就是在编译阶段,把数据嵌入到模板页面,然后发布位静态内容。这样节省服务器资源。
    ModiKa2022
        4
    ModiKa2022  
       55 天前
    有没有跟数据库打交道, 是区分动态和静态的本质
    理解了数据库, 就明白了 前端和后端的区别
    交互依赖的是前端
    接口和数据库交互依赖的是后端
    oukichi
        5
    oukichi  
       55 天前
    我觉得其实学后端的最好办法就是自己做个产品,然后给自己堆需求。
    前端也是同理。
    Yux0
        6
    Yux0  
    OP
       54 天前 via Android
    @promiser3d 请问这后面的两种模式有例子吗
    Yux0
        7
    Yux0  
    OP
       54 天前 via Android
    @ModiKa2022 只用过 mysql 最简单的建个表,增删改查一些数据,只是了解,但手搓很少
    Yux0
        8
    Yux0  
    OP
       54 天前 via Android
    @oukichi 比如什么产品呢
    JazVix
        9
    JazVix  
       54 天前
    我也是刚开始接触 web ,选了 python 的 flask 框架做网页。公司需要做一个类似数据库功能的网页,取代之前的多人使用共享 Excel 文件筛选数据方式。比起 Trae ,Grok 在解释说明上帮到我更多
    前期也没啥规划,需求全是用着用着就产生的
    w3cll
        10
    w3cll  
       54 天前
    PHP+laravel
    XTTX
        11
    XTTX  
       54 天前
    @Yux0 前端或者全栈都是从 todo 开始。tailwind, 组件库,状态管理库,类似 react-query 的数据请求库,monorepo. 生态里有太多需要学的东西了。 最快的方式就是从 shadcn ui 的 example repo 里看,然后再去看其他更复杂的 repo.
    XTTX
        12
    XTTX  
       54 天前
    还有响应式,深浅主题。我认为最快最好的方式就看最优秀的开源项目, 太复杂的就用 AI 来辅助总结。
    importmeta
        13
    importmeta  
       54 天前
    每年都会有人这么问, 包括我刚入行的时候也问过别人, 其实就是没有人愿意花时间给新人介绍开发, 真正什么都懂的人, 很少做这种分享. 网上搜到的那些教程, 又很片面, 让人感觉很无助.
    imba97
        14
    imba97  
       54 天前
    语言上推荐 rust 、go
    henix
        15
    henix  
       54 天前
    前端最简单的:在电脑里创建一个 html 文件,然后用浏览器打开,你就能在里面写各种东西,先把 html 、css 、js 的基础学好,再学 vue 、react 之类的框架

    后端的入门案例就是用户登录系统:用户名密码登录、邮箱注册、密码重置这一类功能,这里面不仅涉及数据库,还涉及网络安全的内容

    框架还是看你用什么后端语言,就选最主流的。前端后交互核心是 http 协议,理解协议了不管你用什么框架都差不多
    shench
        16
    shench  
       54 天前
    这还用问,直接 php
    angrylid
        17
    angrylid  
       54 天前   ❤️ 1
    如果你是想系统学习 Web 前后端开发,跟着 roadmap.sh 慢慢学就上手了…
    但正如#1 所说,你列举的那个网站和后端关系不是很大,一般我们认为的动态说的是连数据库。

    做一个那样的网站,最简的学习路线应该是
    1. HTML/CSS 大约两周
    2. JavaScript 大约两周
    3. Node.js 只学习包管理和工程化的概念 两三天
    4. 前端构建 学习最基础的概念即可 两三天
    5. SSG 静态网站生成 了解概念 两三天
    6. Canvas API 一边学一边用
    7. Pixi.js 等高级封装 可能用得上 一边学一边用
    8. CI/CD GitHub Actions 有兴趣就学 三五天

    如果你想更快一点,就优先学习 2,3,6 之后差不多你就能开始阅读他那个开源仓库了。

    这些并不需要 Web 后端。楼上有个别人,没看你的正文,并不了解你的核心诉求,可以忽略。
    hamwong
        18
    hamwong  
       54 天前
    前端:html+css+js -> vue/react -> nuxt/next
    后端:java /go
    Yux0
        19
    Yux0  
    OP
       54 天前
    @importmeta 太难了
    Yux0
        20
    Yux0  
    OP
       54 天前
    @imba97 rust 是用来做 web 开发吗? C 只懂语法,直接上 rust 会友好吗
    Yux0
        21
    Yux0  
    OP
       54 天前
    @w3cll 为啥 PHP ,没接触过,刚刚查了介绍是说 laravel 这个框架比较干净
    Yux0
        22
    Yux0  
    OP
       54 天前
    @XTTX #11 谢谢推荐
    Yux0
        23
    Yux0  
    OP
       54 天前
    @shench why
    Yux0
        24
    Yux0  
    OP
       54 天前
    @angrylid 感谢推荐路线。html 和 css 会一点点,也就是知道它们是什么,可能我要着重学学 js 。
    roadmap 的列举好多有点难参考,是指按照它的 projects/courses 去学吗?还是直到整个框架一点一点去学?
    Yux0
        25
    Yux0  
    OP
       54 天前
    @henix 谢谢,这个 http 协议有什么有趣的学习方法吗?《图解 http 》看得有点云里雾里
    Yux0
        26
    Yux0  
    OP
       54 天前
    @hamwong 直接做项目吗,但是不知道找哪些案例去实操
    promiser3d
        27
    promiser3d  
       54 天前
    @Yux0 正常人不会用 rust 来做 web 开发,ta 也不适合做 web 开发。rust 还是适合开发高性能的组件或者工具。不适合做业务,但是适合做中间件和底层件,也就是「标准件」。业务通常都是非标准化的,但是服务通常都是可标准化的。
    hamwong
        28
    hamwong  
       54 天前
    @Yux0 #26 可以跟着 b 站的视频学,应该都有配套的项目
    imba97
        29
    imba97  
       54 天前
    @Yux0 我意思是回复问题 1 的后端相关问题,推荐学这两种语言
    chesha1
        30
    chesha1  
       54 天前
    18 楼的回答是比较中肯的,就按正常前端来学,学完前端接着用 js/ts 来做后端,这个在世界范围内都是趋势

    但是如果在国内求职的话,java(spring) 还是岗位多点,别信那些 php 相关的回答,从技术追求来说,太老旧了,从就业前景来说,也没啥岗位
    gongquanlin
        31
    gongquanlin  
       54 天前
    php 入入门还行,国内还是 java 、go 岗位多,php 已经不行了,上限也低
    AEDaydreamer
        32
    AEDaydreamer  
       54 天前
    可以让 ai 给你项目目录规划,最佳实践之类的。业务可以自己写嘛。
    angrylid
        33
    angrylid  
       54 天前
    @Yux0
    Umm……首先直接回答你的两个问题
    1. 如果你想要系统学习前端或者后端,以找到工作为目标,roadmap.sh 是一个比较全面的参考,这个网站比较具体地回答了后端怎么学,前端怎么学,数据库怎么学这种问题。
    2. 我会推荐你学习 Java 和 Spring 全家桶系列。因为这个是生态最好的,能帮助你建立一个相对较好的视野,了解到后端的方方面面,**后端究竟是做什么事情,承担一个怎样的职责**。上面的回答我也大概看了一下,PHP/Laravel 我认为也能算个选项。其他的就不推荐了。

    然而,我要说然而了,我看了一下“目的”里面的描述,我判断你既不需要学习后端,也并不需要系统学习前端。正如一楼和三楼两位,至少点进去看了你说的网站然后指出了那是个静态网站,某种意义上说并没有后端逻辑代码。如果就是需要做网站提供的那种教学动画,我大概看了一下他的代码其实就是手搓 JS 代码调用了 Canvas API ,那么参考我上述的简略路线就足够你看懂那个代码了。重申, **你既不需要学习后端,也并不需要系统学习前端。** 如果你没有从事 Web 开发工作的动机,系统学习并不是一个 ROI 较高的方式。

    我希望我讲明白了。其实不妨找个能联网的大模型把那个 GitHub repo 甩过去问下要看懂这些代码需要什么前置知识。也可以问下后端开发最主流,最全面的编程语言和框架是什么。
    twofox
        34
    twofox  
       54 天前
    看起来你是比较倾向于学习怎么做网站交互。那我给你推荐个 UP 主: https://space.bilibili.com/3546390319860710

    他是我看到的为数不多专门做这种交互设计的前端 UP 。

    不过教学视频不是很多,更倾向于分享。但他评论区也有分享他的学习路径

    我也正打算忙完五一之后,朝着他那个方向学一学。基本上就是按照他说的学完之后,去复刻一些很好看的网站。
    daodao
        35
    daodao  
       54 天前
    全家桶:
    vue3 + Fastapi + Tortoise ORM + MySQL 。一个涉及前后端数据 CRUD 也许最小的项目技术栈。 再花 20 刀/月 买个 cursor 帮助你去学,事半功倍。

    AI IDE 这个时代给新人最好的礼物。
    luolw1998
        36
    luolw1998  
       54 天前
    alleluya
        37
    alleluya  
       54 天前   ❤️ 1
    上面叫人大学生用 rust 搞 web 的 和打 DOTA 叫新手选影魔 卡尔有什么区别....
    yuxian
        38
    yuxian  
       54 天前
    既然是大学生,那就一步到位,直接推荐 nextjs 。YouTube 上有详细的教程,整个生态超级成熟,前后端都可以用 ts 来写,放在一个项目里面。想学案例,youtube 上直接搜索,有各式各样的成熟案例,手把手教。从第一行代码到发布到生产,接入支付方式。一应俱全。顺便还把 reactjs 吃透。良心推荐。感谢收藏。
    补一句,怕你找不到,我贴心的给你找个电商示例:
    vevlins
        39
    vevlins  
       54 天前
    楼上推荐 rust 的那个,别拿自己的品味当成标准。

    建议后台 nodejs ,具体来说 nextjs ,目前 ai 支持的也比较好,前后端一个代码仓库里面。
    Wxh16144
        40
    Wxh16144  
       54 天前
    认真看完了你的描述, 在 v2 发帖能把格式段落写的这么清楚,方便了阅读。

    标题写的是 web 开发路线, (相关从业,所以点进来看看

    你的第一个问题 这么去学后端, 这个就其他后端补充吧

    至于你说的 web 开发

    > 但这个好像是静态网站,而不是动态网站。说来惭愧,这些专业名词也是最近才学的。

    这句话斗胆猜测,你的前端基础也不咋样。如果相信自己并且能力很强。可以参考楼上的

    学习 js 和 react ,继续上强度就是搭配 nextjs 和 tw 等。

    如果自认为学习能一般,还是得学习 js ,但是框架就用 vue 吧,据说国内招聘很多都是 vue 。 渐进式搭配 js 也不难。
    goldeye0351
        41
    goldeye0351  
       54 天前
    我是学的 next.js 吧,
    文科出身, 毕业 20 多年了,
    以前学校教的只有 basic 语言, 基本没用,
    想科学上网, 看了一个攻略, 买了一个域名,
    想想域名不能白白的浪费, 就搭建一个网站吧, 才开始自学 nextjs.
    感觉很不错, 直接用的 notion 当数据库, 发布一次, 以后写文章都是自动增量更新,不用再部署, 很方便.

    https://51xmi.com
    zhaoahui
        42
    zhaoahui  
       54 天前
    Go + Datastar
    t298
        43
    t298  
       53 天前
    挑个语言,找个成熟,文档多,教程多的 web 框架。直接开始用就是了,遇到什么问题再去整理笔记,博客思考问就行了。
    hukei
        44
    hukei  
       53 天前
    @Yux0 #21 y
    cnuser002
        45
    cnuser002  
       53 天前   ❤️ 5
    网页开发是有一个从简单到复杂的过程的。

    最开始的网页就像书页一样,一个开版的大小上显示一些文章段落和图片,然后使用 CSS 做一些排版和样式。

    我们把网页按照目录组织好,放在一个 Web 服务器里,别人按照目录下载网页显示在他的浏览器里,根据超链接跳转到新的页面,就像翻页读书一样。

    这个阶段写网页,就跟写报纸,编杂志一样,主要是内容和排版。此时还没有后端。

    但这种设计有个问题,如果你要频繁更新网页的内容,就需要经常重写网页。这很麻烦。于是出现一个新的设计,将内容存到数据库里,然后编写一个程序,能够从数据库存取数据,自动生成网页。

    这样在 Web 服务器那边,只用存一组类似目录的网址,真正的网页,在用户请求网址时,根据当时的内容,由程序自动生成。这种程序就是后端。著名的 PHP 就是专门写 Web 后端的语言。 而别的语言,像 JAVA ,C#,使用专门的库,也可以写这样的后端程序。

    这种采用后端自动生成页面技术的网站,就是所谓的动态网站了。他能做的事情,就不仅仅是写一本书了,可以做论坛,可以做音视频网站,可以做网盘等等。

    再后来。是因为 Chrome 等现代浏览器的出现,使得浏览器的功力大增, 又有了一种新想法。就是前后端分离。 后端自动生成页面技术里,后端里面很大一部分工作,是前端展示内容的处理逻辑,就是你拿到数据后,怎么渲染页面。

    而这个工作,现在可以专门写一组 Javascript 脚本实现。这组脚本在浏览器运行,自动从后端拿数据,渲染成网页,提供交互。这样一来后端就可以把这档子事甩出去了。

    虽然乍一看,这样只是把工作量换了个地方。

    但是随着移动互联网发展,手机 APP 也要数据。而手机 APP 是自己的语言写 UI ,不需要后端自动生成页面。
    所以后端就逐渐变得专注于提供数据,而 Web 这边,需要前端使用 Javascript ,在浏览器里实现接近于手机 APP ,桌面程序的界面布局和交互体验。

    这样的需求,催生出了 Angular ,React ,Vue 等 前端工程框架。它们设计了一套前端写应用 GUI 的范式,用这个范式,可以写出 Web GUI 。再配合 Javascript 越来越强的能力,能写出不仅包括 UI ,还能包括数据处理逻辑的 Web Application 。

    目前前端就是处在这个阶段。

    后端本身什么语言都可以写,甚至本来只存在于浏览器里的 Js ,因为有 node.js 这个开发环境,也可以写后端。 所以有一些网站开发的分支,又回到了后端生成网页技术。不过这时的后端本身也是用的 Javascript 。能带来一些好处。
    Yux0
        46
    Yux0  
    OP
       53 天前
    @angrylid #33 谢谢,我 get 到你的点了,已经把 repo 跑通在捣鼓了
    Yux0
        47
    Yux0  
    OP
       53 天前
    @yuxian 太贴心了
    Yux0
        48
    Yux0  
    OP
       53 天前
    @Wxh16144 猜测中肯,感觉还是得学习 js
    Yux0
        49
    Yux0  
    OP
       53 天前
    @cnuser002 写得真好哇
    jindeq
        50
    jindeq  
       53 天前
    @Yux0 图解 http 这本书好,也好看,但是没有系统教育过的理解确实费劲(我就是)
    但是没关系,知道大概就行了,日常开发(绝大多数)都不太需要关心这种底层,因为语言层面、框架层面都给你解决了,你要做的就是利用语言特性、框架系统去实现“你的东西”
    seeu2ex
        51
    seeu2ex  
       53 天前
    @yuxian 还有其他课程推荐吗,进阶的话
    craftsmanship
        52
    craftsmanship  
       52 天前 via Android
    @yuxian 这视频咖喱味也太重了…
    tangxiangpi325
        53
    tangxiangpi325  
       50 天前
    nextjs 前后端用 js 梭哈,不用刻意地去学习某个语言或者框架。用项目(产品)来驱动:

    比如我想做一个产品,那么就一边做一边学,我开发了十几个 app ,android 、ios 、web 、chrome extension ,甚至 ruby ,没有一个是从看文档开始的,都是用项目实操。

    如果想快速上线自己的产品,推荐使用 nextjs 模板框架,比如:SuperStarter ( https://superstarter.focusapps.app ),它已经帮你搭建好了一个产品所需要的基础框架,再结合一个 ai ide ,比如 trae (免费),帮你写业务代码,这样事半功倍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3206 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:50 · PVG 12:50 · LAX 21:50 · JFK 00:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.