你真的需要全栈开发吗?
作者 | Prasad Jayakumar
译者 | 弯月 责编 | 欧阳姝黎
出品 | CSDN(ID:CSDNnews)
以下为译文:
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
声明:本文由CSDN翻译,转载请注明来源。
☞微软董事会:比尔·盖茨应当离开;字节跳动回应“实习生遭遇职场 PUA”事件;TensorFlow 2.5.0稳定版发布|极客头条☞Babel 陷财务困境,负责人13万年薪遭质疑,Vue.js作者尤雨溪发文力挺☞9 岁自学编程、24 岁身价涨至数百万美元,与微软一较高低的大佬多厉害?
你真的需要全栈开发吗?相关推荐
- 你真的理解什么是全栈开发吗?
提起"全栈工程师",你最先想到的是什么?大神?全能?还是无用? 许多人对全栈的评价褒贬不一,不同人的理解也天差地别.有些人以为全栈是中小公司鼓吹的,有些人觉得大厂才招全栈,那么全栈 ...
- 预告:Javascript全栈开发的系列文章
自从一年前发布了Vuejs小书的电子书,也有些日子没有碰过它们了,现在因为项目的缘故,需要使用JavaScript全栈开发.所以,我得把这个全栈环境搭建起来. 说起来搭建JS全栈开发环境,设计到的东西 ...
- 从编程小白到全栈开发:基于框架开发服务端
上文中,我们了解了关于服务器端的一些概念知识,尤其是HTTP协议相关的最基本知识点,今天我想跟大家分享一下在平时正真的开发中,是如何来利用和体现这些内容的. 还记得我在<从编程小白到全栈开发:改 ...
- vue java 插件开发_实习模块vue+java小型全栈开发(三)
实习模块vue+java小型全栈开发(三) --dx 背景 首先,先给自己一个答案:这篇博客我定义为(三),因为之前的两个模块页面,内容都是一样的,但是被改了几次需求,就一直拖着没有上传. 今天是真正 ...
- 前端开发者正在被迫成为全栈开发人员
当我在 WordPress 主题中发现 style.css 文件时,我就对前端开发一见钟情了.对我来说那就是(现在依然是)所有奇迹的源泉.我可以(并且能做到!)更改其中的几行内容,就完全改变网站的外观 ...
- Sublime Text 插件-全栈开发收集
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
- 【融职教育】Web全栈开发就业班核心优势
IT技能培训行业现在是一片红海,在红海中求生存和发展就要具有一定的特色和竞争优势.本质上都是为学员提供更好的服务,提高教学品质,让学员可以学会技术,掌握足够工作技能,具有向企业交付的能力,让学员不仅可 ...
- python全栈开发工程师招聘_浅谈Python全栈开发工程师,让程序员都眼红的职业!...
若把学C/C++难度比作做冰箱设计师,那么Java就是公司做冰箱的工人,而Python就是使用冰箱的客户.这只是难度的比较,那么就有人要说Python肯定很弱了,是真的如此吗? 领域--------流 ...
- python全栈开发要学些什么_战争热诚的python全栈开发之路
从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...
最新文章
- get_headers()请求https报错解决思路
- Response.Redirect、 Server.Transfer、Server.Execute三者区别
- Spring Cloud(八)使用Zipkin进行分布式链路跟踪
- Scala Array中_ filter map的用法示例
- 小米和腾讯的.NET笔面试题哪个更难?可自测附答案
- 算法 - DFS/BFS
- Linux rm命令、Linux touch命令、Linux tee命令
- 遗传算法详解python代码实现以及实例分析
- LabView学习笔记——简易入门AND初级实战项目(计算器)
- winrar加密压缩
- 自适应鲁棒控制(ARC)实例推导(手写超详细)
- python_jpype1 调用java代码
- 测不准原理(还真有此事?)
- bootstrap网站模板10例精选欣赏
- XSS网站漏洞如何修复 大牛支招让您网站更安全
- -bash: /usr/bin/rm: 参数列表过长
- Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态
- [Gym 102135][B - Freebie]2017-2018 8th BSUIR Open Programming Contest
- DNS传输协议解析!pcap报文中的域名获取
- SATA学习笔记 13 ---SATA NCQ
热门文章
- 面试—每日一题(4)
- AtCoder ABC 127F Absolute Minima
- 04_(终结版)通过App实现对数据库的增删改
- sql语句出错:Column count doesn't match value count at row 1
- 第三次大作业-作业准备
- 多线程设计模式(二):Future模式
- Android Sensor Driver(四)——IIC总线和驱动
- 2012CSDN网站六大类职位火热招聘:社区编辑、产品交互设计、信息安全主管、前端工程师、Ruby工程师、搜索工程师...
- Oozie自带MapReduce示例的运行
- 《计算机网络》学习笔记 ·005【传输层】