后端开发详解:概念、作用与技术

发表时间: 2024-06-13 10:11

前言:什么是后端开发?后端开发主要做什么?做后端开发需要学什么?一般一个正常的web开发一般分为前端开发和后端开发!前端开发主要是静态的用户界面加上一些动态效果,不涉及数据逻辑!例如:一个登录页面:前端开发只需要做静态页面部分,加上鼠标移进移出输入框时的颜色变化;(请参考上一篇文章:什么是web前端开发?2017年各大前端工程师的前景展望)但是,如果输入用户名和密码登录系统,是需要连接数据库的,这就需要后端开发来做逻辑处理了!那么今天PHP中文网就来给大家详细介绍一下什么是后端开发吧!

文本:

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

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

在大多数应用程序中,非用户界面代码比用户界面代码多得多。复杂系统是在后台发生的使其工作的逻辑。

需要存储和检索数据、遵循业务逻辑和规则,并预测结果。所有这些都在幕后进行。

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

后端开发到底是什么?

就本文而言,我将后端开发视为不涉及创建生成用户界面的开发。这可能包括后端 Web 开发,但也可能涉及编写 API、创建库或使用没有用户界面甚至科学编程系统的系统组件。

事实上,尽管前端开发获得了大部分的荣耀,但世界上存在的大多数代码(可以说是最有用的代码)是最终用户永远看不到的后端代码。

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

后端开发人员主要做什么?

后端开发人员的工作内容因他们所开发应用程序的大小和范围而异。当我还是一名后端开发人员时,我做了很多工作,处理应用程序中的业务逻辑以及从前端提取和检索数据。

在 Web 开发领域,大多数后端开发人员致力于构建他们正在开发的应用程序背后的实际逻辑。

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

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

后端开发人员编写代码使按钮工作,通过确定从数据库获取哪些数据并传回前端(并最终显示在那里)。

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

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

我一直很享受后端开发工作,因为它更具挑战性。

这并不是说前端开发人员不会解决难题,但通常前端开发工作更多地是创建用户界面及其附带的内容,而不是实现使应用程序运行的实际业务逻辑。

相关教程推荐:PHP中文网 PHP实用视频教程

后端开发需要学什么?(后端开发的主要技术和技能)

前端开发人员需要了解一系列用于创建用户界面的工具,而后端开发人员通常使用完全不同的工具和技能来有效地完成他们的工作。

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

后端开发人员通常从数据库或其他数据源写入、读取和处理数据,因此拥有 SQL 等技能非常重要。后端开发人员(至少对于 Web 开发而言)还需要精通他们所使用的技术堆栈的服务器端语言。

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

最后,我想说后端开发人员需要更多地了解应用程序架构,因为大多数时候,后端开发人员负责构建应用程序的架构和内部设计。

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

如果您喜欢设计应用程序基础架构、实现算法和逻辑以及处理数据,那么您可能会喜欢成为一名后端开发人员。

更多知识

那么全栈开发人员怎么样?

什么是全栈开发?请参考:如何自学成为一名优秀的全栈工程师?

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

如今,越来越多的软件开发岗位开始寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说,能够对所涉及的整个技术栈进行工作是非常有价值的,而不是将前端开发与后端开发分割开来。

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

许多流行的 JavaScript 框架(例如 Angular)允许您在系统的用户界面部分创建大量可被视为业务逻辑的内容。

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

我认为成为一名全栈开发人员很有用 - 你应该完全了解软件每一层发生的情况 - 但我不认为“专门”从事全栈开发人员是最好的主意,因为它不是一个专业领域。

基本上,您应该专注于获取您可能使用的最常见技术堆栈的广泛知识,但您应该选择一两个主要专业,然后真正深入研究这些领域。

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

对技术堆栈中的所有内容或某些领域的专业化拥有一般且有效的知识可能会更好。

然后,你仍然可以称自己为“全栈”,但实际上,你对团队更有用。