共计 1104 个字符,预计需要花费 3 分钟才能阅读完成。
最早的软件都是运行在大型机上的,软件使用者通过“哑终端”登陆到大型机上去运行软件。后来随着 PC 机的兴起,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种 Client/Server 模式简称 CS 架构。
随着互联网的兴起,人们发现,CS 架构不适合 Web,最大的原因是 Web 应用程序的修改和升级非常迅速,而 CS 架构需要每个客户端逐个升级桌面 App,因此,Browser/Server 模式开始流行,简称 BS 架构。
在 BS 架构下,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取 Web 页面,并把 Web 页面展示给用户即可。
当然,Web 页面也具有极强的交互性。由于 Web 页面是用 HTML 编写的,而 HTML 具备超强的表现力,并且,服务器端升级后,客户端无需任何部署就可以使用到新的版本,因此,BS 架构迅速流行起来。
今天,除了重量级的软件如 Office,Photoshop 等,大部分软件都以 Web 形式提供。比如,新浪提供的新闻、博客、微博等服务,均是 Web 应用。
Web 应用开发可以说是目前软件开发中最重要的部分。Web 开发也经历了好几个阶段:
- 静态 Web 页面:由文本编辑器直接编辑并生成静态的 HTML 页面,如果要修改 Web 页面的内容,就需要再次编辑 HTML 源文件,早期的互联网 Web 页面就是静态的;
- CGI:由于静态 Web 页面无法与用户交互,比如用户填写了一个注册表单,静态 Web 页面就无法处理。要处理用户发送的动态数据,出现了 Common Gateway Interface,简称 CGI,用 C /C++ 编写。
- ASP/JSP/PHP:由于 Web 应用特点是修改频繁,用 C /C++ 这样的低级语言非常不适合 Web 开发,而脚本语言由于开发效率高,与 HTML 结合紧密,因此,迅速取代了 CGI 模式。ASP 是微软推出的用 VBScript 脚本编程的 Web 开发技术,而 JSP 用 Java 来编写脚本,PHP 本身则是开源的脚本语言。
- MVC:为了解决直接用脚本语言嵌入 HTML 导致的可维护性差的问题,Web 应用也引入了 Model-View-Controller 的模式,来简化 Web 开发。ASP 发展为 ASP.Net,JSP 和 PHP 也有一大堆 MVC 框架。
目前,Web 开发技术仍在快速发展中,异步开发、新的 MVVM 前端技术层出不穷。
Python 的诞生历史比 Web 还要早,由于 Python 是一种解释型的脚本语言,开发效率高,所以非常适合用来做 Web 开发。
Python 有上百种 Web 开发框架,有很多成熟的模板技术,选择 Python 开发 Web 应用,不但开发效率高,而且运行速度快。
本章我们会详细讨论 Python Web 开发技术。