关于Web App的个人理解
App的类型
App主要分为三类,分别是Native App(原生应用程序)、Web App(Web应用程序)、Hybrid App(混合型应用程序)
Native App
原生App是运行在设备操作系统上的应用程序,例如安装在电脑、手机上的各种软件。
对于不同的操作系统(如Windows、IOS、安卓等)需要使用不同的语言进行独立开发,这使得它的开发速度较慢、开发成本较高。同时,对于不同操作系统的App进行独立维护,这增加了维护总成本。并且原生App要发布上线、供用户下载使用前需要经过一系列的审核流程,因此从开发到上线还需要一定的时间。
但是原生App一般将资源放置在用户的设备本地,因此用户获取资源更加便捷。并且原生App可调用的终端硬件设备,如麦克风、摄像头等,从而实现更丰富的功能。交互性、用户体验度最好。
Web App
Web App是运行在浏览器上的应用程序,是一个轻量级App。只需打开浏览器并输入相应网址即可访问。
由于Web App不依赖于操作系统,因此对于不同的操作系统而言无需单独开发一套应用程序,通过一次开发,即可让不同设备的用户访问到该应用程序,开发时只需考虑浏览器的兼容问题,使得开发效率提高,开发成本降低。从而只需专注在一套代码程序的优化和维护上,也大大降低了维护成本。
其资源一般存储在云端,使得用户可以实时访问到最新数据。并且用户可最快获取最新功能或版本。Web App也可调用终端的硬件设备,但其可调用的硬件设备功能相较于原生App来说受到一些限制。
Hybrid App
混合型App是一个相当于在原生程序中伪造了浏览器,并运行Web App的半原生应用程序,运行在操作系统上。
其资源可放置在本地或云端。交互性和用户体验度次于原生App。
Web App工作过程
Web APP是B/S架构的软件,其运行主要涉及的终端设备、客户终端的浏览器以及服务器。用户访问App,并获取相应返回数据的过程如下图所示:
①访问网址:用户在终端浏览器中栏输入URL路径向相应的服务器请求页面
②连接过程:Web服务器与浏览器间建立连接
③请求过程:浏览器用http协议描述,并封装为TCP/IP数据包寻址,发送http请求
④应答过程:服务器接收和分析http请求,按照用户请求内容执行相应处理,生成返回的HTML页面,并将结果打包成HTTP响应
⑤显示输出:浏览器在客户端屏幕上渲染服务器处理后返回的HTML页面
⑥关闭连接:Web服务器和浏览器间断开连接