开发分工 前端 后端 全栈_后端,前端,全栈和超级栈开发之间的区别

开发分工 前端 后端 全栈

我查看了archive.org,发现了一个我于2001年投入使用的网站,这意味着我已经编写了20年的代码。 当然,我不会提供该网站的链接,但是可以提一下20年前加德满都的情况,当时人们没有我建立网站的电子邮件。 我通过具有拨号连接的33.8k调制解调器将其上传。 这些天的孩子甚至都不知道调制解调器的声音(是的,我老了)。

回到主题,这是一个“过度简化”的指南,用于显示后端,前端,全栈和(以我自己的话)超级栈开发之间的区别,当然,它以Web开发为重点。 让我们开始吧。

开发分工 前端 后端 全栈_后端,前端,全栈和超级栈开发之间的区别_第1张图片

介绍

如今,软件工程是一个热门话题,偶尔听到像部长一样敦促人们学习编程的有趣信息。 他们使您看起来学习代码很容易,并且在知道如何编写代码之后就获得了高薪工作。 简单常识,事实并非如此。 无论如何,软件工程师构建的最常见的东西是网站和Web应用程序。 这篇文章重点介绍了在软件工程的Web开发方面可以采取的途径。

简单化

是的,此博客文章将有很多简化的地方。 如果我详细介绍它,将会使许多人感到困惑,我希望本文对初学者友好。 因此,从下面开始是我对后端,前端,全栈和超级栈开发的理解:

开发分工 前端 后端 全栈_后端,前端,全栈和超级栈开发之间的区别_第2张图片

从上面的图像中可以很清楚地看到,蓝色的东西(浅色和深色都为前端),绿色的(+黄色DB)为后端。 橙色表示已满,而底部的黄线表示超级堆栈已发展。 让我们在下面为它们中的每一个进一步详细介绍:

所有目的和非目的

显然,这是端点与非端点,backEND,frontEnd,全栈和超级栈之间的比较。 一个快速的区别是您在Web浏览器上看到的内容通常是前端,与数据存储区对话的语言大部分是后端。 如果软件工作同时由后端和前端组成,则可以称为全栈。 那么,超级堆栈的工作原理是什么,请继续阅读...

让我们从工作的角度来看待它,而不是将自己划分为后端或前端开发人员。 通常,作为软件工程师,我们是解决方案提供商,因此有时做一些您不擅长的工作会很好。 发展T型技能是我们的最大利益。 让我们对开发工作的类型进行概述。

我建议您查看一下这个流行的路线图 ,以了解成为熟练的前端,后端或DevOps工程师可能需要了解的技术。

我将只为每个Web开发工作类别写要点,并保持其高水平。 让我们放大。

后端开发

我对后端开发的一些看法:

  • 后端开发工作将涉及使用至少一种可以与数据库/数据存储通信的后端语言,例如PHP , NodeJs , Ruby , Python , Java等。
  • 后端软件开发工作将包括关系数据库的设计,通常将其表示为实体关系(ER)图 。
  • 后端工作将需要软件工程师/开发人员了解数据库的更复杂概念,例如并发, 锁定和事务 。
  • 当然,要做后端的SQL开发知识将是必不可少的。
  • 同样,该工作将涉及建立和/或配置关系数据库管理系统,例如Mysql , Postgres , SQL Server , Oracle等。
  • 做好后端开发工作,对网络,DNS等方面的知识也将非常有帮助。
  • 根据工作,它将涉及为其他消费者(例如移动应用程序或前端应用程序)创建API。 工作可能包括构建RESTful API或GraphQL 。 窥探gRPC也将是有益的。

我在这里跳过了很多事情,例如数据结构和算法知识,HTTP,操作系统知识,NoSQL数据库,Message Brokers等,但这是故意的,因为这是一个过于简化的高级摘要。

前端开发

以下是我对前端开发的看法:

  • 前端开发工作包含更改事物外观的能力(可能不会设计,因为它将归于UI / UX工作),从而包括颜色,按钮,页边距等。这主要是CSS工作。
  • 毋庸置疑的前端工作包括处理HTML 。 HTML看起来很简单,但仍了解最新版本和HTML 5标签(例如页眉),页脚会有所帮助。 了解诸如视口之类的元标记也将非常有用。
  • 这些天的前端任务肯定会涉及某种形式的Javascript,并且包括使用诸如Angular , React或Vue之类的框架/库。
  • 要完成一些有意义的前端工作,您将需要了解js包管理 , webpack等模块捆绑器,并且还要经历一些Java 脚本 疲劳 , 祝您好运 :)。
  • 在您克服疲劳之后,Frontend的工作将需要消耗API(主要是REST API)。
  • 当前的前端工作可能涉及学习一些Typescript ,混搭一些Progressive Web Apps(PWA)和类似的东西。

我已经跳过了静态站点生成器 , Web组件 , JAM堆栈和许多其他内容。

我会将移动应用程序开发视为前端开发的特殊类别,这可能是另一篇博客文章的讨论。

全栈开发

以下是我对全栈开发工作的理解:

  • 全栈开发是后端和前端开发工作的混合。 这种混合并不是后端的所有东西+前端的所有东西。 这是根据任务的选择性组合。
  • 当一项任务涉及诸如向数据库表中添加字段,编写后端代码以及更改前端形式和逻辑以交付此新功能之类的事情时,该任务将被视为全栈工作。
  • 能够执行全栈任务意味着了解栈的两面,以至于可以执行栈任务。 咨询更多有经验的团队成员,看看是否可以改进任何东西,将是很棒的。

在我看来,“全栈开发人员”一词的要求过高,我遇到了几个真正的全栈开发人员,他们都是神话 。 尽管如此,我认识的大多数软件工程师都可以“完成”全部任务,但更多地将自己标识为后端或前端工程师。

超级堆栈开发

让我们对“超级堆栈”开发工作发表自己的看法:

  • 超级堆栈开发工作不仅涉及在您的(开发人员)机器上开发功能/应用程序(全栈式),还涉及对其进行部署并使之可访问和可扩展。
  • 这类工作包括了解服务器,近来云化以及进入DevOps / SRE领域 。
  • 超级堆栈工作还包括考虑安全性,利用您对OWASP Top 10之类的知识以及编写安全代码。

超级堆栈开发工作专注于真正完成任务或项目的端到端交付。 它可能包括创建和更新CI / CD管道以帮助团队中的每个人。 它还可以包括根据您工作的公司在何处以及如何部署其Web应用程序来设置服务器或Kubernetes Pod。

结论

完成所有上述工作将需要一些技能,例如使用Git ,使用单元进行自动测试和其他测试,使用Docker进行有意义的代码审查 。

这篇文章与后端,前端,全栈和超级栈“开发人员”无关,而与软件工程师执行该任务所需的开发工作和技能有关。

作为软件工程师,如果我们努力在不超出职责的前提下为业务增加更多价值,而不是说我是x端或y堆栈,则每个人都将赢得胜利,包括我们的客户。

翻译自: https://hackernoon.com/the-difference-between-backend-frontend-full-stack-and-super-stack-development-da2t37c7

开发分工 前端 后端 全栈

你可能感兴趣的:(java,编程语言,python,人工智能,spring)