20年秃头程序员深度解析后端工作原理与开发语言框架

发表时间: 2022-11-06 14:13

后端架构

前面介绍了前端架构需要关注的问题及其解决方法。

本篇将介绍后端架构需要关注的问题及其解决方法。需要注意的是,这里的后端指的是B/S架构网站中的后端应用软件。

注意:本篇的具体例子都以Java作为开发语言,以Spring Boot作为基础框架。虽然在一些细节上与其他语言或框架有一些区别,但是大体原理是相通的。

后端的工作原理

在讨论后端架构之前,我们先对比一下后端开发语言,然后搭建一个后端应用程序的服务器,接着构造一个简单的应用程序,之后再讲解后端应用软件的工作原理。了解了后端应用软件的工作原理之后,我们才能更好地理解后端架构需要关注的细节。

注意:本节的例子将以Java作为开发语言,如果你使用的开发语言不是Java,可以适当跳过一些内容。

后端开发语言及框架

与基础技术相对固定(HTML+CSS+JavaScript)的前端网页不同,后端应用程序的开发语言和对应框架都是多种多样的。下面介绍比较流行的后端程序开发语言及其框架。

1.PHP

PHP(PHP:Hypertext Preprocessor,超文本预处理器)是一种脚本语言,主要应用于Web开发领域,发展得比较成熟。PHP是弱类型的开发语言,语法上混合了C、Java、Perl及PHP自创的语法,因此上手比较容易。PHP可以跨平台使用,可以运行在Windows及Linux等平台。

PHP的框架有ThinkPHP、Laravel和Yii等,这些框架都有一定的难度,部分框架需要编译、打包等操作。

PHP拥有足够的Web开发扩展,在Web开发上效率较高。PHP是一门脚本语言,运行效率有限。虽然PHP也可以实现B/S架构中的后端应用程序,但是在大多数情况下用其制作的网站还是动态网站。因此,PHP一般适用于中小型网站的开发。

2.Python

Python是一种脚本语言,应用的领域比较多,如Web开发、科学计算和统计、人工智能、网络爬虫等。Python是弱类型的开发语言,其语法十分简洁,因此极易上手,而且开发效率相当高。Python可以跨平台运行,可以运行在Windows和Linux等平台上。

Python的Web开发框架有Django、Tornado和Flask等,这些框架有一定的学习成本,但是相对来说还是比较容易上手的。

Python除了Web开发的扩展外,还包含其他领域的扩展(如网络爬虫等),这使得使用Python编写的后端应用程序在功能上可以丰富一些。由于Python语法十分简洁,开发效率比较高,因此适合开发一些需要快速上线的网站功能。但是Python是一门脚本语言,运行效率有限,应对高并发的场景时有些乏力。

3.Java

Java是需要编译的一种语言,应用的领域也比较多,在Web应用程序开发领域是比较流行的。Java是强类型的开发语言,语法上类似于C++,不过不需要像C++一样关注地址,但是Java上手还是比较困难的。Java可以跨平台使用,可以运行在Windows及Linux等平台上。

Java的Web开发框架有Spring MVC、Spring Boot和Spring Cloud等,并且这3个框架的基本原理类似,不过Spring Cloud是微服务框架。

Java的Web开发效率没有PHP或Python高,但是Java的运行效率相对较高,应对高并发的场景时表现比较好,所以适用于大型网站开发。

4.其他语言

除了PHP、Python和Java外,可以用作后端应用程序的开发语言还有很多,如C++、Ruby和C#等。但这些语言由于开发成本或平台限制等因素,在Web开发领域并不流行,因此这里不展开介绍。

注意:虽然C++比Java的运行效率更高,理论上来讲,C++在应对高并发的场景时表现得更好一些,但是C++的开发成本比Java高,而且在Web开发领域没有充足的扩展,因此C++不作为Web开发的推荐语言。

对于大型网站而言,由于开发成本和功能上线时间限制等因素,大型网站的应用程序部分可能是用多种语言开发的。但是,由于大型网站需要应对大量用户,即需要应对高并发的场景比较多,所以一般采用Java作为主要开发语言。

Java的Web开发框架一般采用Spring Boot。这是因为相比Spring MVC,Spring Boot具有更好的包管理和配置方式,而Spring Cloud是微服务框架,我们在前面中提到过,微服务是有一定争议的技术架构

综上所述,本篇的具体例子将会以Java作为开发语言,以Spring Boot作为基础框架。值得一提的是,不同的开发语言和框架在处理一些问题时是有区别的,但是需要处理的问题都是雷同的。

本文给大家讲解的内容是大型网站架构的技术细节:后端架构,后端的工作原理,后端开发语言及框架

  1. 下篇文章给大家讲解的内容是大型网站架构的技术细节:后端架构,后端的工作原理,搭建Web应用服务器
  2. 觉得文章不错的朋友可以转发此文关注小编;
  3. 感谢大家的支持