当前位置: 首页 > 科技观察

热点推荐:什么是后端开发?

时间:2023-03-17 19:29:35 科技观察

软件应用程序就像冰山。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是不可见的。这就是难以捉摸而神秘的“后端”。在关于Web开发的章节中,我们主要讨论Web开发,因为它涉及与最终用户的直接交互——我们可以称之为“前端Web开发”。在大多数应用程序中,非用户界面代码比用户界面代码多得多。一个复杂的系统是在幕后发生的使其工作的所有逻辑。我们需要存储和检索数据,我们需要遵循业务逻辑和规则,我们需要对结果进行预测。所有这一切都发生在幕后。后端开发人员就是这样的开发人员。后端开发到底是什么?出于本文的目的,我将后端开发视为一种不涉及创建生成用户界面的开发类型。这可能包括后端Web开发,也可能涉及编写API、创建库或在没有用户界面甚至科学编程系统的情况下使用系统组件。实际上,尽管前端开发获得了大部分荣耀,但世界上存在的大多数代码(可以说是最有用的代码)都是最终用户永远看不到的后端代码。简单来说,后端开发就是开发人员编写的代码,不能直接看到。后端开发人员做什么的?根据正在处理的应用程序的大小和范围,后端开发人员必须做的事情千差万别。当我是后端开发人员时,我做了很多工作,处理应用程序中的业务逻辑,以及从前端提取和检索数据。在Web开发领域,大多数后端开发人员致力于构建他们正在开发的应用程序背后的实际逻辑。通常,前端开发人员构建用户界面,而后端开发人员编写代码使其工作。例如,前端开发人员在应用程序中创建一个界面,其中包含一个按钮,按下该按钮即可获取客户数据。后端开发人员通过确定从数据库中提取哪些数据并将其传回前端(并最终显示在那里)来编写使按钮工作的代码。后端开发人员也可能大量参与系统架构,决定如何组织系统的逻辑,使其能够正常维护和运行。他可能会参与构建框架或系统架构,以便更轻松地编写程序。与前端开发人员相比,后端开发人员花在实现算法和解决问题上的时间更多。我一直很喜欢后端开发工作,因为它更具挑战性。这并不是说前端开发人员不解决难题,但前端开发工作通常更多的是创建用户界面和与之相关的东西,而不是实现使应用程序正常运行的实际业务逻辑。后端开发的主要技术和技能虽然前端开发人员需要了解一系列用于创建用户界面的工具,但后端开发人员通常使用一套完全不同的工具和技能来高效地完成工作。后端开发人员所需的一项重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。后端开发人员通常负责编写、读取和操作来自数据库或其他数据源的数据,因此拥有SQL等技能非常重要。后端开发人员——至少对于Web开发——还需要擅长他们所使用的技术堆栈的服务器端语言。例如,虽然前端Web开发人员更多地关注HTML、CSS和JavaScript,但后端开发人员需要更多地了解PHPWeb框架、RubyonRails、ASP.NETMVC或用于构建应用程序服务器的任何内容端Web开发框架。***,我想说后端开发人员需要更多地了解应用程序架构,因为大多数时候,后端开发人员需要构建应用程序的架构和内部设计。一个好的后端开发人员知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何以一种使系统更易于维护的方式构建代码和业务逻辑。如果您喜欢设计应用程序的基础架构、实现算法和逻辑以及处理数据,那么您可能喜欢成为一名后端开发人员。关于全栈开发人员?本来想单独写一篇全栈开发的文章,后来想到,既然已经涵盖了web开发和后端开发,那么自然而然地展开讲全栈开发,因为全栈开发只涉及前端和后端开发。后端开发。事实上,全栈开发包括处理系统或软件开发堆栈的所有组件和层。它甚至可能涉及了解服务器硬件和架构,或者被视为DevOps。如今,越来越多的软件开发职位正在寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说,能够在所涉及的整个技术栈上工作,而不是将前端开发与后端结合起来,对软件开发人员来说是有价值的开发团队分为两组。部分原因是现在越来越多的应用程序模糊了前端和后端开发之间的界限。许多流行的JavaScript框架,例如Angular,允许您在系统的用户界面部分创建许多可以被视为业务逻辑的内容。此外,随着越来越多的团队采用敏捷方法,单个程序员需要在他们的专业领域之外工作,因为分配给团队的任务远远多于分配给个人的任务。我认为成为一名全栈开发人员很有用——你应该对软件的每个级别都发生了什么有很好的理解——但我认为让全栈“专业化”并不是最好的主意开发人员,因为它不是专业领域。基本上,你应该专注于获得你可能使用的最常见技术堆栈的广泛知识,但你应该选择一两个主要专业,然后真正深入到你选择的方向。所有软件开发人员都应该知道如何创建用户界面、所用框架的基础知识、如何从应用程序的数据库中存储和检索数据,甚至基础设施如何支持软件,他们不需要成为所有这些方面的专家areas,因为这些领域不仅很大,而且还在不断扩大。拥有整个技术堆栈中通用且有效的所有知识或专注于某些领域可能会好得多。话又说回来,你仍然可以称自己为“全栈”,但实际上,你的才能对团队更有用。翻译链接:http://www.codeceo.com/article/what-is-backend-development.html英文原文:WhatIsBack-EndDevelopment?