为新手介绍后端开发!
介绍
让我们从议程开始:
1.什么是后端?
2. API
3. 服务器
4.数据库
5. 后端开发人员
6. 后端语言
介绍
在本文中,我将简要介绍后端开发,但不会深入研究代码。我会提供一些可供您进一步探索的语言和框架。如果您正在寻找更多技术教程,请关注我并查看我的其他文章 :)
如果你不是软件开发者,像后端或前端开发这样的术语可能会让她头疼。再加上一大堆不同的工具、语言和框架,你会不知从何入手。不过,好消息是——你不需要学习编程就能理解基础知识。无论你身边是否有开发人员,了解典型技术栈的基础知识都会很有帮助。
我把这篇文章分成几个部分。
让我们从议程开始:
- 什么是后端?
- 蜜蜂
- 服务器
- 数据库
- 后端开发人员
- 后端语言
1.什么是后端?
想象一下一个典型的 Web 应用,比如你的网上银行服务——你会想到什么?它包含为人机交互而创建的视觉部分,以及一些后台功能。下面是一个 Web 应用示例界面,我们用最简单的方式来描述前端(即可见部分——颜色、动画、布局以及所有你能体验到的内容)。
后端是应用程序的内部引擎,包括服务器、API 和数据库等。后端通常被描述为“服务器端”,与“客户端”或“浏览器端”相对。在“客户端”或“浏览器端”,客户端通过点击特定按钮向后端发送请求。后端是在幕后默默工作的机器。
常见的后端是服务器、API、数据库和操作系统的组合,它们为应用程序的前端提供支持。每个应用程序都可以使用截然不同的工具,无论是使用基于云的服务器和数据仓库、使用 Docker 等服务进行容器化、使用 API 来替代更复杂的处理方式,还是使用后端即服务提供商。以下是使用 GraphQL 编辑器可视化的示例库应用程序架构。
首先,我们将服务器端分解为四个主要组件:服务器、API、数据库、操作系统和软件。在接下来的章节中,我们将更详细地解释后端的各个组件。
2. API
从技术角度来看,API 代表应用程序编程接口 (API)。通俗地说,它是一组明确定义的方法、规则和应用程序之间通信的定义。就后端开发而言,必须指出的是,后端和前端是通过 API 进行通信的。设计良好的 API 可以通过提供所有功能块,然后由开发人员将它们组合在一起,从而简化 Web 应用各部分的开发。为了更好地理解本文,API 是一组关于前端如何向后端请求数据的规则。
如今,创建 Web API 最流行的标准是 REST API GraphQL。进一步探索 GraphQL,我们可以说它是一种 API 查询语言。GraphQL 最重要的特性在于它与编程语言无关,拥有自己的规则和定义。它并非为与任何特定技术兼容而创建。您可以在下面看到一个使用 GraphQL 编辑器的示例。
3. 服务器
当您在网络浏览器中输入任何域名时,就意味着您输入的是服务器地址。如果您深入该网站的特定部分,您会看到包含其他详细信息的扩展网址。这些信息包括文件夹路径、子目录位置和具体文件名。让我们来看看谷歌的标志。这个特定的地址包含了关于文件在服务器上具体位置的精确信息。
作为其他组件的一部分,服务器是系统的核心。它可以位于您的本地计算机上,也可以以现代方式部署在云端。您可以将云想象成一组相互连接的计算机。该计算机网络可以运行各种任务,包括文件存储、安全和加密、数据库、电子邮件和 Web 服务。最便宜的云服务器选择是共享虚拟机,即一台可以同时运行多台服务器的计算机。更昂贵的是专用服务器,您可以根据需要租用。虚拟化创建共享服务器。
虚拟化的主要目标是通过改造传统计算方式,使其更具可扩展性,从而管理工作负载。在操作系统级虚拟化中,可以在单个硬件上运行多个操作系统。虚拟化技术通过使用软件模拟设备,将物理硬件和软件分离。
容器化是虚拟化的一种流行轻量级替代方案。想象一下,将应用程序及其环境捕获到虚拟容器中。它提供了将应用程序加载到虚拟机上的好处,因为应用程序可以在任何合适的物理计算机上运行,无需担心。容器化最近因名为 Docker 的开源技术而声名鹊起。使用容器,您可以轻松地在服务器之间迁移应用程序。
既然您已经掌握了现场服务器的基础知识,那么您可以通过了解虚拟化、服务器如何配置以容纳多个应用程序以及容器化(服务器如何配置其操作系统以容纳分隔的应用程序的另一种方式)来扩展您的知识。
4.数据库
数据库是数据集合的存储。这听起来可能有点天真,但它几乎概括了任何数据库的含义。数据库可以像包含名称列表的文本文件一样简单。或者,它可以像大型关系数据库管理系统一样复杂,并配备内置工具来帮助您维护数据。
每当您在网站上提出请求或在 Airbnb 搜索住宿地点时,您的前端都会向数据库发送请求并创建响应。数据会被传回网站,然后您就可以看到操作的结果。您还可以通过可视化界面更新或编辑数据库中的数据。想象一下,将图片上传到 Facebook 或在 CMS 中为您的产品添加描述。
数据库管理系统 (DBMS) 是一种用于管理和创建数据库的工具。如今,大多数数据库系统被称为关系型数据库管理系统 (DBMS),因为它们能够跨多个表存储相关数据。当两个以上的表包含相关数据时,它们之间就存在关系。您需要设计数据库,定义哪些表必须关联。最流行的关系型数据库管理系统 (DBMS) 包括 Microsoft Access、SQL Server 和 MySQL。
除了关系型数据库,我们还有NoSQL。它是一个综合性术语,不描述任何特定的数据库类型。它是一组不属于关系模型的数据库。让我们来看一些例子:
- 列存储数据库,
- 使用图形模型的图形数据库,
- 使用面向文档模型的文档存储数据库,
5. 后端开发人员
后端开发人员与前端开发人员协作,为面向外部的 Web 应用提供服务器端逻辑元素。换句话说,后端开发人员创建业务逻辑以使 Web 应用正常运行,他们通过使用后端脚本语言来实现这一点。他们的常规职责包括:
- 编写服务器端代码
- 与数据库交互
- 编写代码与数据库进行通信
- 在线部署系统,以便应用程序可用
- 维护代码的安全性
- 维护代码以优化处理大量流量
- 将服务器端逻辑与前端集成
- 数据存储解决方案的设计和实施
- 构建可重用的代码和库以供将来使用
- 编写文档以便于新开发人员使用
- 后端开发人员通常以小组或团队的形式工作。在大型组织中,可能同时存在后端工程师和前端工程师,其中可能包括担任特定角色的工程师,例如 REST API 开发人员、质量保证人员或架构师。
6. 后端语言
后端开发人员可以根据他们正在开发的应用程序的类型、其特定的处理规范以及后端已经存在的其他组件学习各种语言和框架。
不同语言在文件大小、速度、适应性、所需代码行数以及编码风格方面存在差异。一些后端脚本语言是面向对象的,这是一种将属性和函数绑定到对象中的编程方法。不同的语言可能是编译型而非解释型,这会影响加载速度、可读性和运行应用程序所需的处理能力。
大多数网站都基于 PHP 构建,使其成为最常见的后端语言之一。然而,还有很多其他语言可供选择。您可能希望利用 Python 的处理能力来构建数据驱动的网站,或者利用 Ruby 等轻量级语言的速度来快速构建原型。这取决于您和您的开发人员,每种语言都有其优点和典型应用。
看看后端编程中的其他一些重要人物,例如:
- Java
- C# 和 C++
- 。网
- Perl
- Scala
- Node.js(和 JavaScript)