我是如何理解 “全栈开发” 的

小麦2025年05月15日1087 字

故事的开始

“全栈” 这个说法可以追溯到 2010 年,Facebook 工程师 Calos Bueno 写的 《The Full Stack》

不过这句话中,Calos Bueno 的重点在于 “人”,并未细致说明 “全栈开发” 包含哪些内容。

全栈开发的分类

那个时期的 Web 开发还处于发展早期,如果以当下的视角来看,那么 “全栈开发” 有下面这几种解释:

  1. 全栈开发 = 前端 + 后端
  2. 全栈开发 = 前端 + Web 后端
  3. 全栈开发 = 全链路产品研发

前面两个是从技术角度给出的定义,而第三种是从产品研发角度给出的定义。

前后端全栈

第一种应该是大多数人的理解,即掌握前端和传统服务端技术的全能型人才

这里前端即各类全家桶,关注页面和交互本身。后端即数据库增删查改、复杂一些有分布式、中间件,所用语言和框架往往是非前端擅长的,比如 Java + Spring Boot、Python + Django 等等,关注业务逻辑和数据,与前端技术栈划清界线。

Web 全栈开发

第二种是当下很流行的所谓 “Web 全栈”,即掌握 “大前端” 技术栈,而不一定需要掌握复杂的传统服务端技能,比如网络配置、分布式、中间件、数据开发等等。这种前后端往往采用同一种语言和框架,比如:TypeScript + Node.js。

第二种善于利用现成的云基础设施快速搭建 Web 应用,而不需要一开始就十全十美,而是采用渐进式升级模式,非必要不加功能。

这非常适合初创团队和独立开发者,如今许多创新 AI 产品均在此列。

如果你留意观察海外应用托管平台(如 Vercel、Cloudflare)以及国内云服务商(如腾讯云、阿里云),会不难发现它们正不断推出 “轻量化” 的产品,而这些 “轻量化” 产品所服务的客户,就是 Web 全栈开发者。而这一点在海外尤为突出,甚至已经跑在了前面。

我后面可能单独出一篇文章说说海外和国内,在基础设施上的差距。

全链路产品研发

第三种是基于产品研发角度,是一种更进阶的定义,或者说是对第二种的升级。

这里的全链路具体是指:从产品设计规划,到产品上线迭代的完整生命周期。可见它对于开发者的要求是非常高的:既要懂产品、还要懂技术。

AI 时代是非常利好这一类开发者的,从 idea 到原型,可能在一周甚至几个小时之内便可完成。如果自身产品 sense 和技术能力也不差,那么在当下整个行业将很有竞争力。

另提一嘴

关于产品研发模式,其实也很多种,举一些例子:

  1. 瀑布模型(Waterfall Model):是一种传统的线性开发模式,适用于项目需求明确且变化较少的情况。开发过程按照线性顺序依次执行,每个阶段完成后才进入下一个阶段。
  2. 敏捷开发(Agile Development):是一种强调以用户需求为中心、快速迭代和灵活应对变化的开发模式。
  3. 精益创业(Lean Startup):关注如何在不确定性中寻找可持续的商业模式。常说的 MVP(最小可行产品)属于此。
  4. 用户协同开发(User-Centric Development):强调在开发周期中让用户不断提供反馈,从而动态调整软件功能。
  5. 公开构建(Build in Public):是一种新兴的产品开发和商业模式,指的是创业者或开发团队在公共视野中构建产品或服务,并透明地分享开发过程中的进展、挑战、决策等内容。
  6. ...

不知道大家心目中的 “全栈开发” 又是什么呢,你更喜欢哪种模式呢?欢迎留言讨论 👇。

评论

你需要先登录才能发表评论
Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有