如果您不是开发人员或工程师,那么前端和后端开发等概念可能具有挑战性。收集开发人员用来构建应用程序的所有框架,编程语言,API和库,事情会变得非常混乱。

好消息?您不必编写代码来理解后端开发的基础知识以及典型“软件堆栈”的各种组件。事实上,了解您是首席执行官,招聘经理,技术创业公司的销售人员还是产品经理是有帮助的。

为了帮助您成为后端开发专业人员,我们整理了一系列文章,涵盖了有关该主题的一些重要事项 - 以非开发人员可以理解的方式。你不仅会知道什么是服务器端脚本,什么后端工程师,学习各种编程的优点,知道云是如何变化的东西,为什么API是如此重要,如何建立他们哪些框架的选择您的应用是最合适的。

后端开发的初学者注意事项-IDC帮帮忙

基础:前端VS.后端
要了解后端或“服务器端”,您还需要知道前端和两者的交互。前端,也称为“客户端”编程,发生在浏览器中 - 最终用户看到和交互的一切。另一方面,后端发生在服务器(现场或云端)和数据库中。这是在幕后工作的机器 - 最终用户没有看到或直接与之交互的任何东西,但这会发生什么。

要注意,由JavaScript的爆炸性增长共享的发展,在过去10到15年这个实用的方法,那不是在前端上回如此普遍,这是很重要的,并没有实质性的改变结束,感谢节点。 JS。两者之间存在更多重叠,尤其是涉及JavaScript开发人员在完全基于JavaScript的堆栈上的角色时。

这是一个视觉效果,可以让您了解前端和后端开发的进展情况。

客户端开发过程
您可以看到服务器页面(在绿色框中)如何管理来自用户点击的所有请求。前端脚本将这些请求传递给服务器进行处理,并将数据返回给前端。这通常发生在对服务器的请求和响应的循环中。

要了解有关前端流程的更多信息,请先阅读前端Web开发人员的角色:创建用户体验和交互性。然后,看看所有这些客户端脚本如何在我们的“前端Web开发:客户端”文章中使用 - Side Scripting&User Experience。 “

让我们来看看后端架构的工作原理 - 上图中步骤4中包含的软件和机器。

服务器端架构
“传统”后端是控制应用程序前端的服务器,数据库,API和操作系统的混合体。要深入了解整合所有内容的软件,请阅读服务器端脚本:后端Web开发技术,或者通过我们的文章后端的角色获取后端技术的基本视图开发商。

后端应用程序可以通过应用非常不同的应用看,是否使用基于云的服务器和数据仓库,集装箱的与像多克尔,后作为一种服务(BAAS)供应商或服务替换API更复杂的处理。

让我们通过研究使一切工作的一些技术,进一步探讨这些概念。
提交软件堆栈:后端工具和技术的基础
后端开发可以比前端开发更加多样化,前端开发主要由JavaScript,HTML,CSS和使用这些语言的各种前端框架驱动。

为了简化问题,我们将服务器端分解为“软件堆栈”的四个主要组件:服务器,数据库,操作系统和软件。

在这里,您可以找到有关后端的每个组件的更多信息。

1.服务器:机器
从URL到你:服务器如何工作?
从后端堆栈的四个组件(无论是在本地还是在云中),服务器充当网络的命脉。 这些功能强大的计算机提供必须运行网络的共享资源,包括文件存储,安全和加密,数据库,电子邮件和Web服务。 在我们的服务器技术指南中了解服务器类型,它们的作用以及它们如何干预后端堆栈。

一旦熟悉了内部部署服务器,就可以通过虚拟化来扩展您的知识,例如提供容纳多个应用程序的服务器以及容器化,这是另一种提供服务器以容纳分区应用程序的方法。

2.数据库:大脑
关系数据库vs.面向文档的数据库
网站环境中的数据库是使网站充满活力的头脑。每当你从一个网站获得某些东西 - 你是否正在寻找或在酒店位置的特定状态的产品搜索网上开店 - 数据库负责接受这个查询检索数据,并将其返回到现场。当网站或应用程序的用户与他们交互时,数据库还可以接受新的和编辑的数据。客户端可以通过浏览器更改数据库中的信息,无论用户是在CMS上发布文章,将照片上传到社交媒体配置文件,还是更新他或她的客户信息。

在这本现代数据库技术快速指南中,您将了解数据库的工作原理,一般术语以及SQL与SQL的关系。 NoSQL以及如何找出最适合您的Web应用程序的数据库。

Upwork的招聘总部还有一系列与数据科学和大数据相关的文章,您可以探索这些文章以了解有关数据相关问题的更多信息

大数据。近几十年来,大数据肯定改变了后端开发。由于其规模,许多物理后端基础架构已经使用Hadoop和Hadoop生态系统等大数据技术迁移到云端。在我们的文章中了解更多信息什么是大数据?
借助大数据科学工具,您将深入了解不同的大数据技术
看一下流行的NoSQL数据库MongoDB
了解数据如何推动动态内容和数据驱动营销
详细了解Python语言和15种流行的数据科学Python库
3.中间件:管道
实质上,中间件描述服务器上将应用程序的前端连接到其后端的任何软件。想象一下中间件作为您网站的管道 - 它重定向您的应用程序和服务器/数据库之间的所有通信,例如请求和响应。就像你敲房子一样,你看不到中间件,但它就在那里,它必须是可靠的,并且始终做你期望它做的事情。

什么是中间件?
中间件(服务器端软件)有助于客户端 - 服务器连接,并在应用程序和网络之间提供中间层:服务器,数据库,操作系统等。中间件可以是多层的,并且可以在站点的不同层中进行组织,无论是表示层还是业务层。您还可以在堆栈中包含Web API,从而在业务层和表示层之间创建桥梁。

中间件还使云应用程序和内部部署应用程序能够“交谈”并提供数据集成和错误处理等服务。良好的中间件还可以最大限度地提高IT效率,并实现用户交互,业务流程管理,内容管理,身份验证等功能。 Koa.js是服务器端JavaScript框架的一个示例。阅读本文以更好地了解中间件提供的内容。

接下来,我们将讨论用于创建各种类型的中间件,API和服务器端软件的一些编程语言和框架。

4.编程语言和框架:螺母和螺栓
后端开发人员可以从各种语言和框架中进行选择,具体取决于他们创建的应用程序类型,特定的处理要求以及后端中已存在的其他组件。

这些语言的文件大小,性能,兼容性,所需的代码行数和编程风格各不相同。一些后端脚本语言是面向对象的编程语言,一种聚合对象中的属性和函数的编程。其他语言可以编译而不是解释,这会影响运行应用程序所需的加载时间,可读性和处理能力。
如何编译代码

大多数网站都基于PHP,使其成为最受欢迎的后端脚本语言之一。但还有很多其他选择。例如,您可以将Python的处理能力用于数据驱动的站点,或者使用Ruby等轻量级语言的速度来加快原型设计速度。这取决于您和您的开发人员,每种语言都有其优势和理想的应用程序。

看一下其他主要后端编程,例如:

Java的
C#和C ++
.NETZ
Perl的
斯卡拉
Node.js(和JavaScript)
这些语言真正出现的地方是开发人员用作服务器端应用程序的脚手架的框架。了解本文中的框架,并查看一些流行的框架:

Django(适用于Python)
Spring框架(适用于Java)
15个Node.js框架,包括MeteorJS和ExpressJS(适用于带Node.js的JavaScript)
Ruby on rails
Symfony(适用于PHP)
JSF(Java Server Faces)
这涵盖了后端开发的最基本概念和工具,但还有更多需要学习的内容。

很棒的职位
APIS:后期计划中的一项重要技术
今天,如果不触及API(应用程序编程接口)并无缝连接软件,应用程序,数据库和服务,就无法谈论应用程序的后端。 API在创建大多数服务器端软件架构中发挥着不可或缺的作用,通常取代更复杂的程序以允许软件进行通信和传输数据。

为了解释API的强大功能,Upwork编写了免费的电子书API经济版,其中包含了开始使用API​​时需要了解的所有内容。免费下载,然后查看这一系列的API文章,以便更好地了解它们在后端基础架构中的工作方式,如何创建安全的API等等。

什么是API?
公共API与私有API:有什么区别?
SOAP vs. REST:两种API架构的比较
关闭现场支持:关于云的所有内容
许多服务器端体系结构使用云来提供其部分或全部数据库或软件组件。