前端:用户看得见的门面
做全栈,先得会前端。这就像开一家店,装修不好,再好的货也卖不动。HTML、CSS、JavaScript 是基本功,现在没人写静态页面了,都用框架。React 最常见,Vue 也挺火,公司招人基本都要求会一个。
举个例子,你朋友让你做个记账小工具,用户点按钮就能加一笔支出。光有按钮不行,得让它动起来。React 里写个组件,绑定点击事件,数据一更新,页面自动刷新,这才像样。
function ExpenseButton() { const [total, setTotal] = React.useState(0); return (<button onClick={() => setTotal(total + 1)}>+1元</button>);}除了框架,打包工具也得会。Webpack、Vite 这些,本地开发跑不起来?上线构建报错?不懂配置真头疼。
后端:藏在背后的发动机
前端是脸面,后端才是干活的。用户提交的数据往哪存?逻辑怎么处理?靠后端。Node.js 是很多全栈的首选,毕竟和前端共用 JavaScript,不用切换语言思维。Express、Koa 搭个接口分分钟的事。
比如那个记账工具,用户点了“+1元”,数据不能只在页面上变,得存下来。你写个 POST 接口,接收到请求就往数据库插一条记录。
app.post('/api/expense', (req, res) => { const amount = req.body.amount; db.run('INSERT INTO expenses (amount) VALUES (?)', amount); res.json({ success: true });});当然,Java、Python、Go 也有不少人用。Spring Boot 写企业系统稳,Django 快速出原型,看项目需求选。
数据库:数据的家
数据总不能放内存里,一重启就没了。MySQL、PostgreSQL 这类关系型数据库是主流,建表、连表查询、索引优化,都是日常操作。MongoDB 这种 NoSQL 适合灵活结构,比如用户行为日志,字段经常变。
还是记账的例子,你得设计张表:id、金额、时间、分类。用户想查“上个月餐饮花了多少”,一个 SQL 就搞定:
SELECT SUM(amount) FROM expenses WHERE category = '餐饮' AND date BETWEEN '2024-06-01' AND '2024-06-30';不会写 SQL,后端就是瘸腿走路。
版本控制与协作:别一个人闷头干
代码写完扔U盘拷给同事?早过时了。Git 是标配,GitHub、GitLab 天天用。分支怎么切,合并请求怎么审,冲突怎么解,团队开发绕不开这些。
你在公司改了个登录功能,不能直接往主干上推。拉个 feature/login 分支,改完提 MR,同事看看没问题再合进去。万一炸了,回滚也方便。
部署与运维:让服务一直在线
本地跑得好好的,一上线就404?常见。得懂点服务器基础。Linux 命令得会,查日志、看端口、起服务,全靠它。Nginx 配个反向代理,把前端页面和后端接口统一对外暴露。
现在都上云,AWS、阿里云、腾讯云,买台ECS,域名备案,SSL证书配好,网站才算真正落地。Docker 打个镜像,Kubernetes 编排服务,虽然不是人人都要精通,但至少知道流程。
别忘了软技能
全栈不是啥都自己写,而是能串起整个链路。和产品经理聊需求,能判断技术可行性;跟设计师沟通,知道哪些交互实现成本高;遇到问题,能快速定位是前端渲染错了,还是后端接口吐了脏数据。这种全局视角,才是全栈的价值。