第一章:Serverless 浪潮来袭:为什么前端工程师必须转型?

说实话,我入行前端那会儿,大家还在纠结 jQuery 和 Prototype 哪个好用。一晃十年过去,前端已经从「切图仔」变成了能撑起整个应用的全栈角色。但最近这两年,我明显感觉到一个更大的浪潮正在逼近——Serverless。

你可能也听说了,阿里、腾讯、AWS 都在猛推 Serverless。朋友圈里到处是「前端已死」的焦虑文。但我个人觉得,这恰恰是前端工程师最好的机会。为什么?咱们慢慢聊。

从传统前后端分离说起

先回忆一下传统的前后端分离模式。前端写页面,后端写接口,中间靠 HTTP 通信。听起来挺合理,对吧?

但我在实际项目中遇到过不少坑。比如一个简单的用户列表页面,前端要处理:

  • 用户认证(token 存哪?过期了怎么办?)
  • 数据缓存(localStorage 还是 IndexedDB?)
  • 错误处理(后端挂了,前端怎么优雅降级?)
  • 跨域问题(CORS 配置能折腾一整天)

说白了,前端虽然不用写 SQL 了,但业务逻辑的复杂度一点没少。而且最要命的是——你永远不知道后端接口什么时候会改。

核心痛点:前端工程师花了大量时间在「对接」上,而不是在「创造」上。

Serverless 到底改变了什么?

我第一次接触 Serverless 是在 2019 年。当时公司要做一个小程序后端,老板说「你一个人搞定」。我心想:完蛋,又要学 Node.js + Express + MongoDB 那一套了。

结果同事推荐我用云函数。嗯,真香。

Serverless 的核心思想其实很简单:你只管写业务逻辑,基础设施不用管。具体来说:

传统模式 Serverless 模式
买服务器、配环境 直接写代码,上传即运行
考虑并发、扩容 自动弹性伸缩
半夜修服务器 睡个好觉,云平台帮你扛
按峰值买资源 按实际调用次数付费

你想想看,这对前端工程师意味着什么?意味着你不需要再学 Linux 运维、Nginx 配置、Docker 部署。你只需要会写 JavaScript,就能搞定后端逻辑。

前端工程师的独特优势

我经常跟团队里的年轻人说:别觉得自己只会写前端就低人一等。在 Serverless 时代,前端工程师反而有天然优势。

为什么?因为 Serverless 函数本质上就是「事件驱动的回调函数」。你想想,前端处理点击事件、网络请求回调,不也是事件驱动吗?

我的经验:前端工程师对异步编程的理解,比很多传统后端都要深。Promise、async/await、事件循环——这些在 Serverless 开发中全是基本功。

举个具体的例子。一个典型的 Serverless 函数长这样:

// 云函数:处理用户注册
exports.main = async (event, context) => {
  const { username, password } = event
  
  // 参数校验——前端工程师最擅长
  if (!username || !password) {
    return { code: 400, msg: '参数不完整' }
  }
  
  // 调用数据库——和调 API 差不多
  const user = await db.collection('users').add({
    username,
    password: encrypt(password)
  })
  
  return { code: 200, data: user }
}

看到没?整个逻辑就是:接收参数 → 校验 → 处理 → 返回结果。这不就是前端每天都在做的事吗?

机遇与挑战并存

当然,Serverless 也不是万能药。我踩过的坑也不少,这里分享几个:

避坑指南:

  • 冷启动问题:我曾经有个函数第一次调用要等 3 秒,用户直接投诉。后来加了预留实例才解决。
  • 调试困难:本地跑得好好的,一上云就报错。建议多用云平台的日志服务,别靠 console.log 硬扛。
  • 状态管理:Serverless 函数是无状态的,别指望用全局变量存数据。我见过有人用全局变量存 token,结果并发一高全乱套了。

但说实话,这些挑战都是可以克服的。而且相比传统后端开发的学习曲线,Serverless 的入门门槛已经低太多了。

转型路线图

如果你决定要转型,我建议按这个顺序来:

  1. 打好基础:把 Node.js 的异步编程、模块系统搞熟
  2. 选一个平台:阿里云函数计算、腾讯云 SCF、AWS Lambda 都行,别贪多
  3. 从小项目开始:比如写一个表单提交的云函数,或者一个图片压缩服务
  4. 理解架构:学会用 API 网关、数据库、对象存储这些配套服务
  5. 关注成本:Serverless 不是免费的,要学会看账单、优化调用次数

我个人习惯是先用免费额度练手。阿里云每个月有 100 万次免费调用,够你折腾好一阵子了。

写在最后

Serverless 不是要取代前端,而是给前端打开了一扇新的大门。你想想看,以前前端只能做 UI,现在前端能写完整的业务逻辑、能操作数据库、能处理文件——这不就是我们一直想要的「全栈」吗?

嗯,接下来的课程里,我会带你一步步从零搭建一个完整的 Serverless 应用。准备好了吗?咱们开始吧。