我们真的需要全栈开发吗?

简介: Web应用程序的开发涉及许多活动,例如:捕获用户故事

Web应用程序的开发涉及许多活动,例如:


捕获用户故事

创建原型设计

开发核心组件

构建原型

开发可运行的应用程序

部署

测试

最终被企业用户接受

Web应用程序开发的整个生命周期需要用到很多技术。近来,我们看到全栈开发人员的需求持续高涨。


假设有一个足球队(或其他任何体育团队)。我们需要专业的前锋、中场、后卫,还有一个守门员。有时,全能选手可以帮助我们赢得一场比赛甚至一系列比赛。但是,所有团队都需要一些专业人士。全栈开发人员很有必要,但仅靠全栈开发还不够。


为什么我们需要一个全栈开发人员?


简单来说,可能我们需要某个人同时兼顾后端API和UI组件。


公平地说,在下列情况下,全栈开发人员能够发挥出很大作用:


小团队,最多3~4个成员

改进项目,而且预算很有限

支持和维护项目,开发人员需要对应各类工作

但是,如果团队有很多成员,那么全栈开发人员就不会带来任何好处,甚至造成负面影响。


为什么?


服务/API的基本原理是服务抽象:


服务抽象包含有关服务内封装的所有细节(比如逻辑、实现和构建服务所用的技术等),可以向服务使用者提供有关服务的详细说明,而用户可以通过特定的方式使用该服务。


现在,我们来仔细思考一下,就会发现负责端到端实现的开发人员将很容易被自己的行为和责任所误导。这样的代码库会出现许多几个问题,而团队需要等到将来才会发现。


相反,我们可以要求全栈开发人员担任UI或后端专家,并随着项目的推进,将他们切换到其他角色。


从开发周期的角度来看,下面几个方法可以让团队不再依赖于全栈开发人员:


API合约

模拟服务

如果你认为上述两种方法不过是小事一桩,那便最好不过了。


但如果你认为这两项工作非常耗时,而且大有裨益,则请注意以下几点。


API合约并不意味着必须拥有OpenAPI / Swagger文档。API合约也可以只是API和UI开发人员之间通过书面或电子邮件达成的协议。

测试驱动的开发(TDD)是很好的选择。但是,正确理解并正确执行TDD并非易事。相反,你应该从模拟服务开始,并辅助你完成单元测试或端到端的测试。

React拿到了16.8万颗星星,Vue拿到了18.3万颗星星.

Mirage有4千颗星星,MSW有5千颗星星。

GitHub上的这些数据表明,前端开发社区刚刚开始采用测试驱动的方法。


Mirage减少了对API的依赖,并可以快速跟踪Web应用程序的开发。


总结


我自己就是一名全栈开发人员,而且也是架构师。


本文所表达的意思完全是我个人的看法,希望对你的团队有所帮助。


原文链接:https://javascript.plainenglish.io/do-you-really-need-a-full-stack-developer-72b36c4949b1

作者 | Prasad Jayakumar

译者 | 弯月 责编 | 欧阳姝黎

出品 | CSDN(ID:CSDNnews)


相关文章
|
4月前
|
前端开发
全栈技术实践问题之全栈开发带来的主要好处是什么
全栈技术实践问题之全栈开发带来的主要好处是什么
|
6月前
|
小程序 前端开发 API
小程序全栈开发中的前后端分离实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中的前后端分离实践,强调其能提升开发效率、代码可维护性和可扩展性。文中详细阐述了接口设计、数据交互、前端渲染、后端处理以及团队协作的重要性,并指出统一的API接口、使用前端框架和后端服务器是关键。通过这种模式,开发者能更高效地掌握小程序开发,打造高质量应用。
159 0
|
6月前
|
前端开发 JavaScript Java
全栈开发中的前后端分离技术探索
【2月更文挑战第1天】 本文将介绍全栈开发中的前后端分离技术,探索如何通过前后端分离的架构实现高效灵活的开发流程。我们将深入探讨前后端分离的概念、优势和常用工具,并提供一些实践经验和建议,帮助开发者在项目中更好地应用这种技术。
|
人工智能 前端开发 架构师
|
移动开发 运维 前端开发
【深入浅出全栈开发】全栈是什么?- 课前必读 #154
【深入浅出全栈开发】全栈是什么?- 课前必读 #154
597 0
|
Cloud Native 算法 测试技术
你写过的最蠢的代码是?——全栈开发篇
你写过的最蠢的代码是?——全栈开发篇
59 0
|
前端开发 JavaScript Java
81For全栈技术网
81For全栈技术网
84 0
|
数据采集 开发者 SEO
介绍CabloyJS全栈框架的功能特点
CabloyJS是一款全栈框架,它自带工作流引擎,并提供了丰富的SEO工具和报告。作为一个低代码开发平台,CabloyJS的跨端跨平台理念可以帮助开发者实现一次开发,到处运行的目标。此外,CabloyJS还提供了网页信息分析、数据采集和代理IP等功能。
介绍CabloyJS全栈框架的功能特点
|
JavaScript 前端开发 算法
2021全栈开发不完全指南(持续更新……)
2021全栈开发不完全指南(持续更新……)
137 0
|
前端开发 Java 应用服务中间件
使用阿里云部署全栈项目
了解阿里云,学习部署项目