Web全栈开发:从入门到实战
上QQ阅读APP看书,第一时间看更新

1.3 Web应用开发模式的演变

20世纪90年代初,Web刚刚兴起的时候,市面上只有极少数的网站,人们可以通过在浏览器的地址栏中输入网址,实现对目标网页的访问。

随着Web应用的数量越来越多,单靠记忆网址就不太现实了。于是就有了以搜索引擎为入口的方式访问网页,比如百度搜索。这时好像不用再手动输入网址,但如果仔细观察搜索主页地址栏的变化,你会发现,随着关键词的输入,地址栏一直在发生变化。接着,随着操作者点击某一条搜索结果,地址栏也一直在发生变化。所以,从本质上来说,我们依旧是通过网址访问网页上的资源的。

QQ为什么不用通过浏览器打开?

这个问题很睿智。要回答这个问题,不得不提到Web程序的两个分类,一个是C/S架构,另一个是B/S架构。这里的C代表Client,表示客户端,主要指本地计算机。而B表示Browser,即浏览器。所以,以上提到的网站是属于B/S架构,只要你的计算机安装了一款浏览器,就可以通过在浏览器的地址栏中输入网址来访问网页。而QQ则是基于C/S架构的应用,一旦你安装了QQ,就相当于在本地计算机安装了客户端程序,而你每次和朋友聊天,都需要向腾讯服务器端程序发起访问请求,它会对你要联系的朋友进行身份验证以及消息的筛查,并保证消息的传输。

其实,B/S和C/S架构的区别除了安装程序的支持不同之外,最重要的区别是B/S架构能够做到,只需要开发一套程序就可以通过跨平台的浏览器实现访问。而C/S架构的程序则需要开发两套,一套安装在服务器端,另一套安装在客户端。

手机本身就是为了更方便地通信。因此,选择B/S架构,实现安装App程序到手机当然更方便,但是安卓手机和苹果手机仍然要开发两套独立的App。

再后来,有了微信小程序、支付宝小程序和百度智能小程序,它们是跨平台的。苹果手机和安卓手机都支持,现在几乎人人的手机上都安装了微信和支付宝,百度应用中一种或几种,基于小程序的Web应用也就应运而生了,你可以只开发一套程序,就可以保证所有平台的手机都能使用。

总结一下,Web应用开发模式的演变过程,如图1.6所示。

图1.6