PWA介绍
https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0
PWA是一些技术的集合。用于消除web与其他客户端之间的差距,最大程序利用现代浏览器的技术,提供一个更像移动应用的网页体验,改善了性能,支持离线,以及能实现一些只有移动应用可以的功能。
PWA特性
- 渐进式增强:是“优雅降级、渐进增强” 的,给支持的设备更好的体验,不支持的设备也不会更差。
- 响应式的用户界面:可以在其他任意设备上运行
- 离线:通过service worker可以在离线或者网速较差的环境下工作
- 类原生应用:拥有原生应用般的体验,因为它是建立在app shell model上的
- 持续更新:受益于service worker的更新进程,应用能始终保持更新
- 安全:通过https来提供服务,能避免内容窥探和替换
- 可发现:通过W3C manifest和service worker registration标识应用,让搜索引擎能够找到web应用
- 再次访问:消息推送等特性让用户再次访问变得容易
- 可安装:允许用户把应用保留在主屏幕,不需要通过应用商店
- 可连接:通过URL可以轻松分享应用,不需要复杂的安装即可运行
缺点
- 门槛高:要求服务器部署https,service worker 涉及api众多,需要单独学习
- 浏览器支持不够全面:但最近(2017-12)Safari也支持了
- 用户不习惯:网页代替原生应用,如让用户习惯网页可以离线工作。用户短期内不适应。
关键技术
- Manifest
- Service Worker
- Push Notification
PWA与其他App的对比
- Native App:需要下载安装,用户体验好,可离线,速度快,性能高。但维护成本高,对于其他平台需要重新开发,应用商店审核效率低,流程复杂
- Web App:运行在浏览器中,不需要安装,跨平台,支持的设备广泛,发布灵活(不需要应用商店审核),即时上线,用户可直接使用最新版本。需要处理浏览器兼容问题
- Hybrid App:以上两种的混合App,需要下载安装,跨平台,Web人员方便快速构建,可以上传到应用商店,可以基于浏览器进行调试,但用户体验不如原生,性能慢,技术不是很成熟
PWA介绍的更多相关文章
- 超详细动手搭建一个Vuepress站点及开启PWA与自动部署
超详细动手搭建一个Vuepress站点及开启PWA与自动部署 五一之前就想写一篇关于Vuepress的文章,结果朋友结婚就不了了之了. 记得最后一定要看注意事项! Vuepress介绍 官网:http ...
- PWA 学习笔记(一)
PWA 介绍 概念: PWA(Progressive web apps,渐进式 Web 应用)运用现代 Web API 和传统的渐进式增强策略来创建跨平台 Web 应用程序 它并不是一个快捷方式,而能 ...
- PWA - 整体(未完)
渐进式 Web 应用(PWA) 运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序. PWA 的优势 可被发现 易安装 manifest(https://develop ...
- vue-cli3.x中的webpack配置,优化及多页面应用开发
官方文档 vue-cli3以下版本中,关于webpack的一些配置都在config目录文件中,可是vue-cli3以上版本中,没有了config目录,那该怎么配置webpack呢? 3.x初始化项目后 ...
- PWA(Progressive Web App)入门系列:(一)PWA简单介绍
前言 PWA做为一门Google推出的WEB端的新技术,长处不言而喻.但眼下对于相关方面的知识不是非常丰富.这里我推出一下这方面的新手教程系列.提供PWA方面学习. 什么是PWA PWA全称Progr ...
- java web学习总结(二十七) -------------------JSP标签介绍
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- 使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍
使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍 使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍 来自译者 markzhai:大家也知道最近 ...
- 轻松把你的项目升级到PWA
什么是PWA PWA(Progressive Web Apps,渐进式网页应用)是Google在2015年推出的项目,致力于通过web app获得类似native app体验的网站. 优点 1.无需客 ...
- PWA学习心得
PWA学习心得 一.什么是PWA Progressive Web App , (渐进式增强 WEB 应用) 简称 PWA ,是提升WebApp的体验的一种新方法,能给用户原生应用的体验. PWA ...
随机推荐
- jstl标签库jar包下载
- JQuery | trigger() 方法
trigger() 方法触发被选元素的指定事件类型. 语法格式: trigger(type,[data]) type:触发事件类型 [data]:可选项,表示在触发事件时传递给函数的附加参数. 实例: ...
- UWP 播放媒体控件
最近我的uwp需要有一个有声朗读的功能,like this 点击声音按钮就可以有声朗读了.这里主要是用了媒体播放的控件. 一般我们把需求分为两种: 一种是不需要呈现播放器的样子,只需要用户点击一下别的 ...
- 命令行视频下载工具 you-get 和 youtube-dl
you-get 和 youtube-dl 都是基于 Python 的命令行媒体文件下载工具,完全开源免费跨平台.用户只需使用简单命令并提供在线视频的网页地址即可让程序自动进行嗅探.下载.合并.命名和清 ...
- dubbo属性配置
一.覆盖策略 JVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口.XML次之,如果在XML中有配置,则dubbo.properties中的相应配置项无效.P ...
- Spark Mllib里数据集如何取前M行(图文详解)
不多说,直接上干货! 见具体, Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第13章 使用决策树二元分类算法来预测分类StumbleUpon数据集 见具体 Hadoop+Spark大 ...
- php post提交超过1000个字段的时候服务器会截断多余部分
采取将子字段转化为json的形式,合并多个字段于一个字段
- 07.Javascript——入门高阶函数
高阶函数英文叫Higher-order function..JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数 ...
- Java开发笔记(九十六)线程的基本用法
每启动一个程序,操作系统的内存中通常会驻留该程序的一个进程,进程包含了程序的完整代码逻辑.一旦程序退出,进程也就随之结束:反之,一旦强行结束进程,程序也会跟着退出.普通的程序代码是从上往下执行的,遇到 ...
- IBatis.net特性展示代码
最近公司计划设计新业务平台架构.数据访问层框架要使用ibatis.net.头让我做些例子给其他同事演示下 ibatis的基本特性.然后评估下看是否使用.本来以后上官方下载NPetshop演示下就行了那 ...