网页开发入门 | 21 尾声

掌握一种思维方式,远比记住具体语法要重要的多的多。

网页开发入门 | 21 尾声

本文是网页开发入门系列的最后一篇。

在长达20篇文章的内容之后,相信你已经对网页究竟是如何开发有了最基本的理解。更重要的是,希望通过网页这一简单、常见且可视化的形式,让你理解了程序,以及代码究竟是如何工作的。

现在你眼中的网页会不会有些不同?
现在你眼中的网页会不会有些不同?

正如在最初所讲到的那样,掌握一种思维方式,远比记住具体语法要重要的多的多。

MVC思想:模型-视图-控制

总结来说,在浩瀚的互联网上,无论多么复杂,多么绚丽的网页,但他们在本质上都是使用 HTMLCSSJS开发出来的。

HTML负责描述页面的内容和结构,也就是元素和元素之间关系。从更加抽象的角度来看,HTML在网页中承担了存储数据和数据模型的作用。所谓数据模型,可以简单理解为数据及其相互关系的存储规范,也称作Model

CSS负责定义元素的样式,从而调整页面的可视化效果。也就是说,CSS决定了如何把数据呈现给用户的界面,也称作视图,即View

最后,JS负责定义页面功能,决定了如何处理包含页面本身和用户输入等数据,以及决定将哪些数据显示给用户,实现了控制或者控制器Controller

MVC思想
MVC思想

模型,视图,控制将一个项目的代码按照其目的和功能,分成了相对独立3个部分,不但规范了代码的开发流程,也促进了团队分工。

这种思想称作MVC,被广泛的应用于各种类型、各种规模、各个层级的软件开发中,不论他们在使用什么开发语言,工作在什么样的平台上。

软件工程:开发-集成-部署

截至目前为止,我们在课程上开发的所有页面,都存储在自己的电脑上,也无法被网络上的其他人访问,很难称其为“网页”。

在真实软件开发过程中,这是很正常的情况。

开发人员首先需要在自己的设备上编写代码,这个阶段称作开发。这个设备也称作开发环境。

大型的项目通常会有多个开发人员分工完成,所以在发布产品之前,还需要将大家的代码集中在一起,并进行测试。这个阶段称作集成。做这件事的设备也称作集成环境。

最终通过了测试的程序,将被发布到网络上的某个特定的URL位置后,用户即可进行访问和使用,即完成了部署

对网页来说,部署是比较容易的一件事,只需要在有互联网公网IP的设备上开启对HTTP或HTTPS协议即可,这样的设备就是服务器,也称作生产环境。

软件开发是一个系统性工程
软件开发是一个系统性工程

如果你自己的电脑有公网IP,你的电脑也可以是一台服务器。不过处于安全、管理、成本等角度考虑,通常会用一些专用配置的服务器。

具体的部署方法涉及较多的网络知识,此处不再展开。

B/S架构

网页一旦被部署到了网络上,就可以为网络上的用户提供服务。

但不同用户的身份、角色、权限都不一样,我们的网页如何区分他们,然后提供不同的服务呢?

这些其实是由在服务器上运行的一个特定的程序来进行处理的,在服务器收到网页请求时,这个程序负责识别用户的身份,并据此提供特定的网页,或动态生产网页。

也就是说,从整体来看,网页又分成了2个部分,一部分运行在用户的浏览器里,也称作前端。另一部分运行在服务器上,也称作后端

这样的软件架构模式,就是B/S架构,即浏览器Browser-服务器Server架构。

B/S架构
B/S架构

运行在服务器的程序,其配置在于开发者的选择,所以不必考虑浏览器的兼容性,可以更加灵活的使用其它编程语言来实现,JAVA、PHP、Python以及JS都是常见的选择。

Web开发框架

基于这样的一些思想和架构,在开发者之间逐渐形成了一些特定的编程习惯,也因此产生了很多共通问题的解决方法。

如果将这些解决方案集中起来,就形成了Web开发的框架。如果你使用同样的编程习惯,就可以享受到整个框架所带来的能力。

在前端常用的框架有VUE, React等。后端根据不同的编程语言也有很多不同的框架,比如基于JSExpress等。

如果你还想进一步提升自己关于网页开发的能力,这些都是我建议可以进一步学习的内容。如果有机会,我也会去更新一些相关的教程。

再见

作为入门,《网页开发入门》系列并不期待你可以立即上手开发属于自己的网页,但希望其内容足够你理解网页工作的基本原理,让你有能进行深入学习的能力。

希望在其它的文章中再见!See you then!