什么是PWA呢?
或许你可能已经听过这个名词,但是很多人很难说出它的含义.
其实我们一般会认为渐进式网页应用(Progressive Web Application)是一种术语,也就是指[「一些功能」添加在浏览器中运行的任何网页.
也就是我们可以逐步增强网页的功能,让它感觉像原生App运行的错觉.
也就PWA具三个特点
- 可离线: 可以在正常的情况下快速加载页面,甚至在离线状态下,也可以使用PWA的部分内容,这是PWA的核心内容之一
- Fast(快速): 不单单是加载页面的效率,还有使用过程中的操作响应效率
- Native-like(接近原生APP): 可以使用一些Native的功能,比如应用关闭了,PWA也能提供推送消息的功能
- 无需安装
是不已经感觉到PWA越来越像原生APP的功能?
PWA vs Native Mobile Apps
在comScore 2017 的公布统计中,我们可以看出手机用户有87%在的时间花在原生APP上,只有13%的用户花在浏览器中.而用户花大多数时间在原生APP主要原因是:
- 推送通知
- 桌面点击,不需要输入地址
- 获取手机的设备
- 离线使用
Note:
其实pwa基本可以实现以上的所有内容
没有任何东西是完美的…
- 原生APP,你需要单独开发IOS和Android平台.但是如果使用pwa编写一个接近原生APP的网页应用会更加省人力成本.
- 使用原生app开发,辛辛苦苦开发的原生app每个月的用户接近为0
所以PWA到底是什么呢?
说明白点就是web应用和原生应用两者优点结合的一套解决方案.
PWA Core Building Blocks
- 从图可以看出Service Worker这个核心组件,它可以让我们的应用具有像原生APP才有的离线功能和后台进程守护,还有推送消息的功能
- Web App Manifest文件允许我们定义一些metadata,即使不用安装APP也能拥有类型icon的功能
- 还有一些Web API,如地理位置API,相机API,以便于我们存期各种手机上的功能.
今天的内容就到处结束了,如果想知道PWA或者更多程序方面的知识关注我,下次会讲讲如何创建一个PWA应用
转载自:https://juejin.cn/post/7131970671848423431