PWA-让前端网页媲美原生APP的用户体验

一、背景

从2018年到现在,作为号称下一代web应用模型的PWA,逐渐成为了一个各大前端厂商争先恐后进行涉足,布局的一个新的技术, 其主要的对标物Native app,作为现在最主流的mobile端应用,它的安全,性能,用户体验的确明显领先于其他互联网载体,但是原生App始终有一些缺点,比如

1. 昂贵开发成本

2. 软件上线,版本更新都需要发布到不同的商店,并通过审核

有些APP你可能使用频率特别少,但是你还是不得不去商店中下载庞大安装包,或者可能一段时间不使用以后,随着版本的更新,你也不得不去重新更新并安装

PWA技术的作为web应用,其天生优势能很好的解决以上的问题。

二. 什么是PWA

PWA是Progressive Web App的英文缩写, 翻译过来就是渐进式增强WEB应用, 是Google 在2016年提出的概念,2017年落地的web技术。目的就是在移动端利用提供的标准化框架,在网页应用中实现和原生应用相近的用户体验的渐进式网页应用。

引用官方介绍:

Reliable - Load instantly and never show the downasaur, even in uncertain network conditions.

Fast - Respond quickly to user interactions with silky smooth animations and no janky scrolling.

Engaging - Feel like a natural app on the device, with an immersive user experience.

即是:

1. 可靠——即时加载,即使在不确定的网络条件下也不会受到影响。
当用户从主屏幕启动时,service work可以立即加载渐进式Web应用程序,完全不受网络环境的影响。service work就像一个客户端代理,它控制缓存以及如何响应资源请求逻辑,通过预缓存关键资源,可以消除对网络的依赖,确保为用户提供即时可靠的体验。

可靠

2. 快速
据统计,如果站点加载时间超过 3s,53% 的用户会放弃等待。页面展现之后,用户期望有平滑的体验,过渡动画和快速响应。

快速

3. 沉浸式体验—— 感觉就像设备上的原生应用程序,具有沉浸式的用户体验。
渐进式Web应用程序可以安装并在用户的主屏幕上,无需从应用程序商店下载安装。他们提供了一个沉浸式的全屏幕体验,甚至可以重新与用户接触的Web推送通知。

沉浸式体验

Web应用程序中,可以通过manifest.json控制应用程序的显示方式和启动方式,指定主屏幕图标、启动应用程序时要加载的页面、屏幕方向,甚至可以指定是否显示浏览器Chrome。
根据官方的介绍,不难看出,pwa的目标直指原生app,那接下来我们就来了解下PWA到底是个怎么样的何方神圣。

三. 核心功能

PWA并不是单指某一项技术,你更可以把它理解成是一种思想和概念,目的就是对标原生app,将Web网站通过一系列的Web技术去优化它,提升其安全性,性能,流畅性,用户体验等各方面指标,最后达到用户就像在用app一样的感觉。

PWA中包含的核心功能及特性如下:
  1. Web App Manifest
  2. Service Worker
  3. Cache API 缓存
  4. Push&Notification 推送与通知
  5. Background Sync 后台同步
  6. 响应式设计

四. PWA如何弥补和原生App的差距

性能差异

PWA使用app Shell架构模型

1. 快速加载
2. 尽可能使用较少的数据
3. 使用本机缓存中的静态资产
4. 将内容与导航分离开来
5. 检索和显示特定页面的内容(HTML、JSON 等)
6. 缓存动态内容 App Shell 可保证 UI 的本地化以及从 API 动态加载内容,但同时不影响网络的可链接性和可检测性。 用户下次访问您的应用时,应用会自动显示最新版本。无需在使用前下载新版本。
为了保证首屏的加载,在内容请求完成之前,可以优先保证 App Shell 的渲染,做到和 Native App 一样的体验,App Shell 是 PWA 界面展现所需的最小资源。
无法离线使用
Service Worker + HTTPS +Cache Api + indexedDB 等一系列web技术实现离线加载和缓存
数据更新
Background Sync 后台同步技术
无法实现推送
Push&Notification 实现推送与通知
无法添加到桌面
通过manifest.json文件配置,使得可以直接添加到手机的桌面上。
天生优势:

1. 无需安装,无需下载,只要你输入网址访问一次,然后将其添加到设备桌面就可以持续使用。
2. 发布不需要提交到app商店审核
3. 更新迭代版本不需要审核,不需要重新发布审核
4. 现有的web网页都能通过改进成为PWA, 能很快的转型,上线,实现业务、获取流量
5. 不需要开发Android和IOS两套不同的版本

劣势:

1. 游览器对技术支持还不够全面, 不是每一款游览器都能100%的支持所有PWA
2. 需要通过第三方库才能调用底层硬件(如摄像头)
3. PWA现在还没那么火,国内一些手机生产上在Android系统上做了手脚,似乎屏蔽了PWA, 但是相信当PWA火起来以后,这个问题就不会是问题

五. PWA的发展趋势

2016年, PWA在google正式落地,基于 Chromium 的浏览器 Chrome 和 Opera 已经完全支持 PWA 了
随着 iOS 11.3 的发布,iOS正式开始支持PWA
Windows Edge 支持PWA

随着越来越多的游览器大厂,相继的对PWA做出了支持和优化,想必PWA的时代即将到来

来源:https://www.jianshu.com/p/098af61bbe04

原文地址:https://www.cnblogs.com/sichaoyun/p/11978396.html

时间: 2024-10-10 20:46:55

PWA-让前端网页媲美原生APP的用户体验的相关文章

APP的用户体验检验方法

"用户体验"是当下每个企业定制APP都非常关注的问题,它成为了决定APP产品差异化的重要标准."用户体验"是一个相对感性的概念,同一款APP对于不同的用户有着不同的体验感受,所以运营人员在评价用户体验时往往会采用任务测试方法,也就是邀请一定数量的用户,设定一个特定的使用场景,让他们在这个场景下使用APP来完成某些任务,以任务完成的结果来判断此APP的用户体验是否出色. 良好的用户体验包含很多方面,有用户感受方面,如使用起来的感官舒适度,APP的吸引力,是否简单易用,

Vue2.5实战微信读书 媲美原生App的企业级web书城

第1章 课程介绍介绍阅读器项目背景.功能结构.技术栈和功能演示,快速了解整个课程安排和内容.1-1 导学 试看1-2 课程学习指南 第2章 项目需求及阅读器引擎介绍介绍项目需求和阅读器的开发原理,并搭建Node.js和vue-cli 3.0开发环境.2-1 项目需求分析2-2 阅读器原理介绍2-3 ePub标准介绍2-4 epubjs阅读器引擎介绍2-5 安装Node.js环境2-6 vue-cli 3.0搭建方法(原型开发)2-7 vue-cli 3.0搭建方法(脚手架创建项目)2-8 项目技

Vue2.5 实战微信读书 媲美原生App的企业级web书城

第1章 课程介绍介绍阅读器项目背景.功能结构.技术栈和功能演示,快速了解整个课程安排和内容. 第2章 项目需求及阅读器引擎介绍介绍项目需求和阅读器的开发原理,并搭建Node.js和vue-cli 3.0开发环境. 第3章 项目准备完成项目开发前的准备工作,讲解如何引入字体图标.Web字体.rem.样式重置表,详细介绍vuex的基本原理及mapGetters的实现原理,搭建基于Nginx的静态资源服务器. 第4章 阅读器--标题菜单.字号字体及主题设置功能开发讲解如何实现阅读器的解析和渲染.手势翻

”今日校园“App用户体验分析

一."今日校园"App的背景. 为进一步提升信息化应用水平,更好的服务师生,南通大学智慧校园移动端APP"今日校园"定于11月5日正式上线运行.登陆APP可浏览学校新闻.校园生活.各部门微信公众号等内容,查看校内通知.校内发文.部门发文,查询一卡通消费.图书借阅等数据,查阅课表等常用应用和各类待办消息,进行校园卡充值和零星缴费.后续还将推出各项网上填报.移动办公与信息查询服务. 二."今日校园"App在用户体验设计方面满意的地方. (1)基础软件

苹果app上架Appstore网页APP上架 彩票原生app上架全程协助

苹果app上架专业的苹果appstore市场上架服务提供商,大幅度提高过审机率!提供从开发者证书制作,APP打包,增加原生功能,上架市场一体化完整服务! APP上架|IOS app上线流程|如何发布苹果app|app上架费用(联系qq*220*5357*007)苹果app上架Appstore网页APP上架 彩票原生app上架全程协助 如何将WebApp项目打包生成手机APP 1.首先我们需要先新建一个WebApp项目,目录结构为: index.html  项目首页html入口文件 --html 

自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

手机端网页版app在使用下拉列表时,传统的下拉列表使用起来体验非常不好,一般做的稍好一点的交互功能界面都不会直接使用下拉列表,所以app的原生下拉列表都是弹窗列表选择,网页型app从使用体验上来当然也应该做成那样,前段时间在开发网页版app时就遇到这种需求,不仅是日期选择器,数据列表.变量列表选择等等下拉列表型需求都需要,网上找来找去只找到一款比较好的mobiscroll,不过下载比较麻烦,感觉比较奇怪的是jquery.mobile.jeasyui.mobile都没有提供这种控件,不知道为什么?

转发-UI基础教程 – 原生App切图的那些事儿

UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切图虽然简单,但还是有很多地方需要注意的,下面由tgideas的 LV主唱大人 跟大家讲讲原生App切图的那些事儿,对UI入门或需了解APP切图的设计师来说会有帮助哦. 如何切图? 了解iphone界面的尺寸 最小的分辨率是320×480,我们把这个尺寸定为基准界面尺寸(baseline),基准尺寸所

HTML5定稿了(为什么原生APP界将被颠覆)

导语:HTML5将颠覆原生App世界,这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么

HTML5定稿了,为什么原生App世界将被颠覆

2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么诞生.这8年是怎么过来的. 作者简介:王安,数字天堂公司董事长,DCloud CEO. HTML5的诞生 自W3C于1999年发布HTM