购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1.1 什么是Web应用

Web应用(Web application),是指那些通过互联网访问和交互的软件应用程序。用户通常使用网络浏览器作为客户端来访问并与这些应用交互。Web应用与传统的桌面应用不同,它不需要在个人计算机上安装特定的软件,只需要一个支持的网页浏览器。它们通过互联网向用户提供服务和功能,无论用户身处何地,都能通过浏览器来访问这些应用。这种开放性、跨平台性以及无须安装的特点,让Web应用在现代社会中扮演着不可或缺的角色。

Web应用之所以能够如此灵活地为用户提供服务,要归功于一种被广泛采用的架构模式——B/S架构。B/S架构,也称为浏览器/服务器(browser/server)架构,是一种网络应用程序架构。在B/S架构中,用户界面和客户端逻辑大多数情况下都在网络浏览器中实现,而应用服务器则负责处理业务逻辑、数据和存储。

B/S架构将Web应用的构建分为前端和后端两个关键组成部分,它们各自担负着不同的任务,共同构筑一个无缝的用户体验。

1.前端:用户交互的界面

前端是用户直接互动的应用程序部分,即用户界面。在Web开发中,前端特指在浏览器中运行的部分,涵盖页面布局、设计和交互性功能。前端的核心任务是通过浏览器向用户展示Web应用的外观和功能。常用的Web前端技术如下。

HTML:构建网页内容的结构。

CSS:设定网页的样式和外观。

JavaScript:赋予网页交互性。

框架和库:如React、Angular、Vue.js等,用于开发复杂的前端应用。

前端开发者的职责包括构建用户友好的界面,确保应用在不同设备和浏览器上的兼容性,并优化整体的用户体验。

2.后端:数据处理的核心

后端是在服务器上运行的应用程序部分,负责处理业务逻辑和数据操作。在B/S架构中,后端从数据库检索数据,执行计算和逻辑处理,然后将结果传送至前端。后端开发涉及多种编程语言和框架,以便高效处理请求、管理数据,并响应用户的操作。常用的Web后端技术如下。

编程语言:如Java、Python、Ruby、Node.js、PHP等。

数据库:如MySQL、PostgreSQL、MongoDB等,用于数据存储。

服务器:如Apache、Nginx、Tomcat等。

框架:如Spring Boot(Java),Express.js(Node.js)、Django(Python)等。

后端开发者负责实现业务逻辑,保证数据的安全性和完整性,并构建供前端使用的API(application programming interface,应用程序编程接口)。

3.前后端协作:构建完整的Web应用

在B/S架构中,前端和后端通过HTTP协议通信,API定义了数据交换的方式。前端向后端发送请求以获取数据,后端处理这些请求并返回处理结果。这种协作机制为用户提供了丰富的应用功能,同时隐藏了底层技术细节。

如果开发者既懂前端开发,也懂后端开发,可以称为全栈(full stack)开发,全栈开发者有能力构建整个应用程序,从用户界面到服务器和数据库。全栈开发者可以参与项目的整个生命周期,从需求分析、设计、开发到部署和维护。

随着技术的进步,前端和后端的界限变得越来越模糊。例如,某些前端框架(如Next.js和Nuxt.js)提供后端功能,而某些后端技术(如Node.js)也可用于前端开发。

4.前后端架构分离

前后端分离是现代Web开发的重要趋势,它强调前端(用户界面)和后端(服务器逻辑和数据处理)之间的清晰界限。在这种架构下,前端通过API(通常是RESTful API)与后端交互。前端发送API请求,后端处理这些请求并以JSON或XML格式返回数据。这种模式使得一个后端能够支持多个前端应用(如Web、移动、桌面应用)。

与传统的静态网站不同,B/S架构中的Web应用可以动态生成页面内容。例如,根据用户的输入或数据库中的数据,服务器可以动态地生成HTML页面,这种方式通常称为服务端渲染,当然页面也可以在浏览器端根据服务端返回的数据生成,称为客户端渲染。

前后端分离还允许不同的开发团队使用各自的技术栈进行开发,并实现独立部署。这种独立性使得前后端可以根据需要进行单独的扩展,例如,增加后端服务器以应对增加的数据处理需求,而不影响前端。

目前,前后端分离技术主要采用客户端渲染方法,这一趋势得益于Ajax技术和现代JavaScript框架(如React、Angular和Vue.js)的发展。这些技术使得B/S架构中的前端和后端可以更加清晰地分离。前后端分离的方法将用户界面与业务逻辑和数据处理分开,带来了多种优势,但同时也面临如下一些挑战。

安全性:API的开放性可能导致新的安全威胁,需要确保API端点的安全。

CORS:前后端分离可能会遇到CORS(cross origin resource sharing,跨域资源共享)的问题,这需要特别处理,以确保资源的正确共享。

SEO:传统的客户端渲染方法可能对SEO(search engine optimization,搜索引擎优化)产生不利影响。然而,现代的前端框架和工具,如服务器端渲染(SSR),已经可以有效地解决这一问题,提升网页在搜索引擎中的表现。 uOy1Tv7hrLKHfpC5hQkWddBGAGdYPycHNEjParrMobaQ0jV0J6hJBJb2gifRNE0K

点击中间区域
呼出菜单
上一章
目录
下一章
×