什么是后端开发?

软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。

在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。

在大多数应用中,非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。

我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。

后端开发人员是这样的开发人员。

后端开发究竟是什么?

这篇文章的目的在于,我将会考虑后端开发是一种不涉及创建生成用户界面的开发。这可能包括后端Web开发,可能也涉及编写API,站长博客创建库或和没有用户界面或甚至科学编程系统的系统组件一起工作。

在现实中,即使前端开发获得了大部分的荣耀,但是世界上存在的大多数代码(可以说是最有用的代码)是最终用户从来不会看到的后端代码。

简单来说,后端开发就是开发人员编写的不能直接看到的代码。

后端开发人员做什么?

根据正在处理的应用程序的大小和范围,后端开发人员要做的事情有很大的不同。在我是一个后端开发人员时,我做了很多工作,工作于应用程序中的业务逻辑,以及从前端提取和检索数据。

在Web开发世界中,大多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。

通常,前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。

例如,前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。

后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。

后端开发人员也可能会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。

他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。

我一直都很喜欢后端开发工作,因为它更像一个挑战。

这并不是说前端开发人员不解决难题,但通常前端开发工作更多的是关于创建用户界面和与之相关的内容,而不是实现实际的业务逻辑,使应用程序工作。

后端开发的主要技术和技能

前端开发人员需要知道一系列用于创建用户界面的工具,而后端开发人员通常使用的是一套完全不同的工具和技能,以便于高效地完成他们的工作。

后端开发人员所需的一个重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。

后端开发人员通常的工作是从数据库或其他数据源写入、读取和处理数据,因此拥有SQL等技能会非常重要。后端开发人员——至少对于Web开发——也需要擅长他们正在使用的技术栈的服务器端语言。

例如,虽然前端Web开发人员更多地专注于HTML,CSS和JavaScript,而后端开发人员需要更多地了解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用于构建应用程序的服务器端Web开发框架。

最后,我想说,后端开发人员需要更多地了解应用程序架构,因为大多数情况下,后端开发人员需要去构建应用程序的体系结构和内部设计。

一个好的后端开发人员得知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何构建代码和业务逻辑,用一种使系统更易于维护的方式。

如果你喜欢设计应用程序的基础设施,实现算法和逻辑,以及工作于数据,那么你可能会喜欢成为一名后端开发人员。

关于全栈开发人员?

我曾想为全栈开发人员另起一篇文章,但后来想到,既然已经涵盖了Web开发和后端开发,那么延伸开去谈论全栈开发更为理所当然,因为全栈开发刚好涉及了前端和后端开发。

实际上,全栈开发包括处理系统或软件开发堆栈的所有组件和层。它甚至可能涉及了解服务器硬件和架构,或者被认为是DevOps。

今天,越来越多的软件开发职位在寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说能够工作于涉及的整个技术栈是很有价值的,而不是将前端开发与后端开发兵分两路。

一部分原因是现在越来越多的应用程序模糊了前端和后端开发之间的界限。

许多流行的JavaScript框架,如Angular,允许你在系统的用户界面部分中创建可以被视为业务逻辑的大部分内容。

此外,随着越来越多的团队采用敏捷方法,个体程序员被要求不仅仅能工作于他们的专业领域,因为任务被分配给团队远超过个人。

我认为成为一个全栈开发人员是有用的——并且你应该充分了解软件的每个层次发生了什么——但我不认为“专业化”全栈开发人员是顶好的主意,因为这不是一个专业领域。

基本上,你应该专注于获取你可能会用到的最常见的技术栈的广泛知识,但你应该选择一个或两个主要的专业,然后朝着选择的方向真正地去深入钻研。

所有软件开发人员都应该知道如何创建用户界面,所使用的框架的基础,如何从应用程序中存储和检索数据库中的数据,甚至了解基础设施如何支持软件,他们不需要成为所有所有这些领域的专家,因为这些领域不但相当大而且在不断扩大。

具备技术堆栈中通用和有效的所有知识或一些领域中的专业化知识或许要好得多。

然后,你仍然可以称自己为“全栈”,但实际上,对于团队而言,你这样的人才更加有用得多。

(0)

相关推荐

  • 什么是无头电商 - headless commerce

    本文译自:Everything You Need To Know About Headless Commerce 在最简单的形式中,无头商务是电子商务应用程序的前端和后端的分离.这种架构为品牌提供了表 ...

  • 2021年Java依然是就业的好选择

    马上2021年了,Java还有出路吗?听听资深码农怎么说. 很多刚毕业的大学生,向往着IT行业的高薪,又不知道该学习哪门语言,近年来又有很多热点词,人工智能.大数据等等.但是我想说,Java依然是就业 ...

  • 在web开发中,为什么前端比后端更得到转行程序员的青睐?必看!

    在web开发中,为什么前端比后端更得到转行程序员的青睐?必看!

  • 前端开发和后端开发哪个发展前景更好?你想学哪个?

    这几年互联网行业发展很快,很多人都想在这个行业中寻找到自己合适的岗位,特别是近几年手机普遍的情况下,与此同时,程序员这个职业走进了我们视野,那前端开发和后端开发哪个发展前景更好? 1.对于想要学习计算 ...

  • 前端难学还是后端难学?你考虑学前端吗?

    前端和后端发展前景都挺不错,都说相对于技术来说前端会比较简单一点,我不这么认为,现在前端需要会的东西简直太多啦. 如何选择的话,这个不是去看这两个哪个有前途,这个取决于你自己想做什么,两种技术最后都可 ...

  • GraphQL最突出的架构优势是什么?

    作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势.在 ...

  • 奉上简单的.Net后端开发模板

    假定一个场景,开始做开发的你,领导走到你的面前说道:"小伙子,看了简历和最近的工作表现,很不错,现在交给一个任务,开发一个简单的CMS后端接口吧,前端有人配合你",当时你内心读白: ...

  • ABP开发框架前后端开发系列---(16)ABP框架升级最新版本的经验总结

    有一小段时间没有持续升级ABP框架了,最近就因应客户的需要,把ABP框架进行全面的更新,由于我们应用的ABP框架,基础部分还是会使用官方的内容,因此升级的时候需要把官方基础ABP的DLL进行全面的更新 ...

  • Baleen Labs让后端开发如制作PPT一样简单:哈佛中国论坛创业大赛并列三等奖

    研发背景 BaleenLabs的创意来源于Dhara在医疗创业公司的实习经历.当时,他为了学习多种语言来修复漏洞频频的后台系统学习了很多语言.随后他发现,与其日以继夜地在后台进行补丁修复,不如干脆自行 ...

  • 一文读懂前端开发与后端开发的区别

    选择前端也好,选择后端也罢,虽然要去考量哪一个更有发展,但最终决定的还得是你的内心想要什么,两种技术最后都可以发展成全栈工程师,所以我们先来看看这二者的区别吧. 前端 Web应用被分类归为分布式应用, ...

  • Python是开端开发还是后端开发?

    有人私信小编说:我想要从事后端开发工作,可以学习Python语言吗?Python属于后端开发还是前端开发呢? Python是前端还是后端? Python属于后端开发,Python是一个高层次的结合了解 ...

  • 服务器后端开发技术完整学习路线,23张思维导图,自学也能进大厂!

    大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...

  • 阿里巴巴常用的12个后端开发工具

    点击链接 阿里巴巴常用的12个后端开发工具 轻松编程社 2021-09-25 作者:爱马仕_人员 链接:https://www.jianshu.com/p/4d1a4606ef61 从手动编码到自动化 ...

  • ABP开发框架前后端开发系列

    ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架.ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型.学习使用ABP ...