(转)PWA(Progressive Web App)渐进式Web应用程序
-
PWA
编辑 讨论
https://baike.baidu.com/item/PWA/22378897?fr=aladdin
http://tech.it168.com/a2017/1113/3179/000003179550.shtml
3分钟告诉你什么是渐进式Web应用程序!
【IT168 评论】随着移动设备使用的大幅增长,建立一款适合移动设备的商业网站至关重要。根据Statista最新的一项研究显示,截止到2019年,手机互联网用户渗透率将达到63.4%。显然,如何在移动开发技术领域取得重大的突破成为了移动开发人员当前面临的最大挑战。
想象一下,如果一个网站上所有的功能都能够作为一个移动应用程序为用户所用——任何设备上都可以使用、可接收所有的通知、离线模式可用,为了实现这个愿景,2015年,谷歌创造了渐进式Web应用程序(PWA)。什么是PWA?使用PWA对企业有哪些好处?
什么是PWA?
PWA是指可以在任何浏览器上执行的支持互联网的应用程序,它是由服务器端脚本(PHP和ASP)和客户端脚本(JavaScript和HTML)组成的。
PWA具有成本效益,可以使公司轻松管理各种任务。此外,web应用程序安全性更高,易于定制,可用于各种设备。例如,PWA可以对员工工作时间进行跟踪,分享远程团队之间的信息,监控公司活动等。一般来讲,简单的应用程序通常都需要根据特定的系统要求进行配置,但是web应用程序始终可用。
Web应用程序在任何工作平台上都兼容。应用最广泛的例子就是在线电子表格Google Docs)、电子邮件(Gmail)、照片和视频编辑(Pixlr.com)等,这些程序允许用户同时访问相同版本的文档。
渐进+ Web应用程序优势
有无服务人员是PWAs和常规web应用程序的主要区别。服务人员是PWA背后强大的技术支撑,在服务人员的帮助下,可实现离线模式工作,接收推送消息,更新背景内容等。PWA的目的旨在实现多个平台通用应用程序。
Google的PWA概念是将网络和原生应用的最佳组合结合起来的新形式。原生应用程序和Web应用程序之间的另一个区别是访问能力。原生应用可以使用推送通知,后台同步等。相比之下,网络被认为是更安全、更尊重隐私,但目前在这些方面还有欠缺。如果能够实现这些功能,就能在用户体验方面做到更加的完美。
简单易安装也是Web应用程序与原生应用程序相比的一大优点。此外,开发人员不需要将PWA适配到iOS或Android平台上,由于使用网络技术,PWA可跨平台工作。
缺点
·PWA不支持所有浏览器,其中包括Safari。到目前为止,这是一个很大的缺点,几乎50%的移动浏览器被Safari覆盖。但这并不意味着PWA在这些浏览器中不起作用。PWA在Safari中工作时,只是没有推送通知和离线模式等功能。
·有些功能在PWA中仍不可用,包括:应用程序间通信、地理围栏、近场通信、接近传感器等。
企业该选择原生应用程序还是Web应用程序?
对于希望为其客户构建一个易于访问的移动体验的企业来讲,PWA是一个完整的解决方案。
但无论选择原生应用程序还是web应用程序完全取决于公司的目标。如果业务需求简单,预算较小、且希望容易分配,PWA是不错的选择。但如果应用程序有很多功能,且需要由iOS支持,预算也相对较大,那企业可以选择原生应用程序。
(转)PWA(Progressive Web App)渐进式Web应用程序的更多相关文章
- Progressive Web App
下一代 Web 应用? 近年来,Web 应用在整个软件与互联网行业承载的责任越来越重,软件复杂度和维护成本越来越高,Web 技术,尤其是 Web 客户端技术,迎来了爆发式的发展. 包括但不限于基于 N ...
- 试着给VuePress添加渐进式Web应用(PWA)支持,基于vuepress/plugin-pwa,点亮离线访问
背景 有时候,我们也希望VuePress构建的文档中心能支持离线访问,这时候我们需要给他添加渐进式Web应用(PWA,Progressive Web App)的支持,根据官方文档指引,我们可以借助插件 ...
- 关于渐进式 Web 应用,你应该知道的一切
渐进式 Web 应用是利用现代浏览器的特性,可以添加到主屏幕上,表现得像原生应用程序一样的 Web 应用程序. 什么是渐进式 Web 应用 渐进式 Web 应用(PWA)本质上与普通的网站没有什么不同 ...
- 渐进式Web应用程序的深入概述
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://www.grapecity.com.cn/blogs/wijmo-depth-ove ...
- html5文章 -- 使用 jQuery Mobile 与 HTML5 开发 Web App ——开发原则 | Kayo's Melody
最近专注研究 jQuery Mobile —— 一款很方便就可以把 Web App 包装成适合 Android 与 iPhone 等触屏移动设备的 Javascript 库,结合 jQuery Mob ...
- web app变革之rem
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...
- web app变革之rem(手机屏幕实现全适配)
以往web移动适配,常规写法是:media only screen @media only screen and (min-device-width: 320px){ //针对iPhone 3 } @ ...
- Outlook Web App简介
一.什么是Outlook Web AppOutlook Web Access简称OWA是基于微软Hosted Exchange技术的托管邮局的一项Web访问功能.通过访问Outlook Web Acc ...
- web app 变革之rem
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...
- Native App、Web App 还是Hybrid App?
一.什么是Native App? Native App即原生应用,即我们一般所称的客户端,是针对不同手机系统单独开发的本地应用,如需使用需要先下载到手机并安装,下载Native App的最常见方法是访 ...
随机推荐
- 使用mybatis调用存储过程(注解形式和配置文件形式)
最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...
- c程序的期望
对于C语言,我认为是我们计算机专业必须掌握的,如果C语言都不能掌握好,我认为在以后的学习中也不会学的有多好,所以,我们要把C语言尽量掌握好,也是在今后的学习中打好基础,多看书,多写一些程序运行,做一些 ...
- VS2008 快捷键大全
转载自 https://www.cnblogs.com/likebeta/archive/2013/02/20/2919224.html Ctrl+E,D ---- 格式化全部 ...
- yaf nginx 设置
#test1server { listen 80; listen [::]:80; root /vagrant_data/aaa/public; index index.html index.htm ...
- linux的基本操作3(权限)
sudo cat /etc/passwd 查看账户信息用户有自己的编号是uid,组也有自己的编号是giduseradd -D 查看默认添加账号的模板sudo useradd -m liu 添加带h ...
- java.io.EOFException ValueOperations.increment()操作后,获取值时有的bug
---恢复内容开始--- 今天使用spring-data-redis包操作redis,就是简单的使用redis的计数功能,在redis中的操作命令如:incr key;get key; 这两步操作使用 ...
- confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法
https://www.cnblogs.com/heyongboke/p/9806396.html 1.confluence中报错信息如下: 严重 [http-nio-18090-Acceptor-0 ...
- redux & react-redux
在vue中,可以使用vuex进行数据管理,在react中,可以使用redux进行数据管理.redux主要由Store.Reducer和Action组成: Store:状态载体,访问状态.提交状态.监听 ...
- vim中行末去掉^M
方式1: 输入 :%s/^M//g 方式2: 输入:%s/\r//g
- 涂抹mysql笔记-mysql复制特性
<>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到 ...