Skip to content

技术栈与软件工程

核心问题

为什么同样是做 Web 项目,有人用 HTML/CSS/JS,有人用 Vue/React,有人还会加 Node.js、数据库和部署?为什么项目做到后面,还要讲测试、bug、迭代和发布?

什么是技术栈

技术栈就是一个项目用到的“工具组合”。

比如:

  • 前端用什么写
  • 服务端用什么写
  • 数据存在哪里
  • 最后怎么发布出去

Web 项目里最常见的几层

层次常见选择它主要负责什么
页面层HTML / CSS / JavaScript / TypeScript做页面和交互
前端框架Vue / React管理组件和状态
服务端Node.js / Python / Java处理业务逻辑
数据层MySQL / PostgreSQL / Supabase保存数据
发布层Vercel / Zeabur / 云服务器让别人可以访问

没有“最好的技术栈”

真正该问的是:

  • 这个项目现在做到哪一级
  • 这个班级的时间够不够
  • 学员设备和基础是否支持
  • 第一版最需要解决什么问题

给项目营的三档推荐

档位推荐结构适合什么情况
入门档HTML / CSS / JS 或简单框架展示页、轻量项目
标准档Vue / React + 假数据 / 轻接口大多数项目营小组
进阶档前端 + API + 数据库 + 发布时间更充足的优秀组

软件工程不等于“很大公司才需要”

对学生来说,最重要的软件工程思维是这 4 件事:

  1. 改一版,就记录一版
  2. 出问题,要能列清楚 bug
  3. 展示前,要按清单测试
  4. 做完一轮,要根据反馈迭代

项目营里最值得固定下来的 4 张表

  • 项目选题卡
  • 项目进度卡
  • bug 清单
  • 路演提纲

发布为什么重要

发布不只是“传到网上”,而是让别人真的能看到、能试用、能反馈。

如果一个项目只能在自己电脑上勉强打开,它还没有完全进入“可交付”状态。

课堂练习

  • 说出你们项目当前的技术栈
  • 判断你们属于入门档、标准档还是进阶档
  • 写下当前最需要做的 1 次测试、1 个 bug 修复、1 次迭代

给讲师的提醒

  • 这页不适合一次讲太满,更适合分散到第 3、7、9 课使用
  • 讲技术栈时,不要引导学生追求“最高级”,而要追求“最适合当前项目”
  • 讲软件工程时,要用他们正在做的项目举例,否则会变成空话

推荐复用