Progressive web app理念及发展前景
前一段时间微信推出微信小程序进行公测,着实火了一把,博得了大众的眼球,不明真相的吃瓜观众们纷纷围观,所谓的“微信小程序”,通俗的讲就是一种不需要下载安装即可使用的应用程序,脱离于app商店依托于浏览器运行,实现与传统app非常接近的功能,优点这里就不累述了;各路英豪纷纷跟进表示要进行微信小程序开发,各种蹭热度,对于其发展前景,大神们的分析见解也很多;
刚看到微信小程序推出的时候,看到相关的描述,我的第一印象就是,这不就是google的pwa(Progressive web app)设计理念吗,不清楚pwa的童鞋看下图直观的感受下:

关于pwa,说起来话长,也不得不提"Skynet":Google(插句题外话,个人反对过度依赖使用AI,如果有一天人类灭亡于AI,始作俑者一定是Google),2015年,工程师Frances Berriman和Google Chrome工程师Alex Russell创造了“Progressive Web Apps”这一术语来描述新一代浏览器支持的web应用,给予其的理念和定义也非常的鲜明,一种在网络上提供神奇用户体验的新方式,pwa有着以下的特点:
可访问性 – 通过新APIservice-workers(相当于一个本地的proxy,采用JavaScript控制关联的页面或者网站,拦截并修改访问和资源请求),使得的app能够在各种网络环境下使用,包括网络差和断网条件下,不会显示undefind;
快速 – 其本质是一个网页,没有原生app的各种启动条件,快速响应用户指令;
可安装性 – 可以将app的快捷方式放置到桌面上,全屏运行,与原生app无异;
App Shell – 也就是app外壳,也就是download app外壳在设备上,等异步数据来了再填充;
消息推送 – 也就是推送消息的能力,在pwa被关闭的时候,其实是保留有后台进程的,可以接收发送来的通知,不过默认使用的是GCM(Google cloud-messaging),大天朝就…

其官方也给出了一个小引导教程,详情请戳:your-first-pwapp;只需要安装一个本地服务器就可以跑起来,我用的是iis(WIN7),对于阐述pwa很有代表性,有兴趣的小伙伴可尝试下,运行实例:

更多的线上实例可以看这里:https://pwa.rocks;
其实全局来看,pwa里提到的新特性,也不算是非常超前的概念,比如速度和app shell在其他的技术方面也有类似的设计实现理念,就算是其中比较新的service-workers也面临着浏览器支持这一难题,当然,google作为一个全球级别的公司,在新技术研发和推广方面有着绝对的优势,我也相信pwa这一类新理念会慢慢普及被广大厂商、开发者、用户接受并使用,大角度上说pwa的推广是必须的,很多新通道的开辟往往都是这样开始的;
再回到开头提的微信小程序,我敢说绝对受到过google pwa理念的影响,但由于众所周知的原因,中国与世界强大的新知识发源地联系被一定程度的隔绝(it:facebook、twitter、google…),在知识传播、应用传播等方面有了障碍,中国内地只能自己玩,形成自己独特的生态圈(讽刺的是因为人数的原因往往能搞成规模世界规模第一exm?),微信不吹不黑,一个app,依靠用户优势和粘度,竟然形成了这样一个生态圈(包括之前的公众号开发)
,感觉apple在这方面能力应该是最强的,第一apple是全球通,第二apple有从OS、DEV、app、各种硬件(虽然google也有)一系列的产品支持,你系统不支持,我ios自己搞,你浏览器不支持?我safari自己搞,app商店等各种推广,其他厂商慢慢也会跟进,我深深的相信flash的死亡跟apple表示不支持flash有直接关系,这也是我对微信小程序抱怀疑态度的原因,个人观点;
如上所述,google在中国的技术推广挺痛苦的(只要跟google服务有关的),google pwa在中国推广也有着诸多的困难:
中国apple用户众多,而现在apple不支持pwa;
Chrome在中国桌面版占有率还是不错的,移动端上的占有率却很低;
各大厂商还未明确支持pwa,更不要说中国混乱的各种开发标准了;
依赖的GCM服务在中国被呵呵
;As of 2016, Progressive Web Apps are implemented in the Chrome browser, but more browsers may support the features needed in the future; -WIKI;
如上所述如微信等其他组织慢慢抢占这样的市场技术份额,当然从推广层面来说这是好事;
山重水复疑无路,柳暗花明又一村,撇开固有的偏见,新技术的创新、推广无论是从哪里做起,对于广大用户来说都是带有便利性的,我们是抱着欢迎的态度的,世界大同,任重道远;
原文地址:http://www.xuechenlei.com/2017/01/progressive-web-app
Progressive web app理念及发展前景的更多相关文章
- (转)PWA(Progressive Web App)渐进式Web应用程序
PWA 编辑 讨论 PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送.在移动端利用标准化 ...
- 说说 PWA 和微信小程序--Progressive Web App
作者:云图图链接:https://zhuanlan.zhihu.com/p/22578965来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 利益相关:微信小用户,谷歌小 ...
- [io PWA] keynote: Launching a Progressive Web App on Google.com
Mainly about Material design (effects / colors / flashy stuff) Components (web components / polymer) ...
- PWA(Progressive Web App)入门系列:(一)PWA简单介绍
前言 PWA做为一门Google推出的WEB端的新技术,长处不言而喻.但眼下对于相关方面的知识不是非常丰富.这里我推出一下这方面的新手教程系列.提供PWA方面学习. 什么是PWA PWA全称Progr ...
- Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?
什么是Progressive Web App? Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术,由Google实现,让浏览器打开的网址像APP一样运行 ...
- [Angular] Upgrade existing Angular app to Progressive Web App
If you alread have an existing Angular application and want to upgrade to progressive web app. 1. In ...
- Progressive Web App
下一代 Web 应用? 近年来,Web 应用在整个软件与互联网行业承载的责任越来越重,软件复杂度和维护成本越来越高,Web 技术,尤其是 Web 客户端技术,迎来了爆发式的发展. 包括但不限于基于 N ...
- PWA全称Progressive Web App,即渐进式WEB应用?
一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能解决了哪些问题 ...
- Progressive Web Apps入门
PC和Mobile开发技术演进 PC方向,从客户端到富客户端,到现在广泛使用的Web. 移动方向,目前主要还是原生应用和Mobile Web,PWA相关技术是未来发展方向. PWA的概念 ...
随机推荐
- jQuery的end() 方法
定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 语法 .end() 详细说明 大多数 jQuery 的遍历方法会操作一个 jQuery 对象实例,并生成一 ...
- 如何用ModelsimSE仿真IP核-以PLL为例
我们之前介绍了如何使用Modelsim SE进行仿真和利用do文件的仿真方法,但是其中待仿真的模块是我们自己编写的Verilog模块,但是在实际工作中,我们的设计中会经常用到FPGA厂商给我们提供的现 ...
- 【shell】查找后拷贝find . -name *.csv -exec cp {} /home/ \;
Find命令的一般形式为: find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname: find命令所查找的目录路径.例如用.来 ...
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...
- 通达OA系统优化-对mysql数据库减肥
OA系统冗余数据过多,访问效率受到影响,现需要对历史数据进行一次清理,以提高OA访问速度 大的数据主要体现在流程上,流程数据主要放在flow_run,flow_run_data,flow_run_pr ...
- servlet请求中的信息
在servlet中HttpServeltRequest中有一个方法getRequestURL() 假如我们平常输入的地址是:localhost/Demo1/TestServlet?hello=worl ...
- 前端开发必须知道的JS(一) 原型和继承
原型和闭包是Js语言的难点,此文主要讲原型及原型实现的继承,在(二)中会讲下闭包,希望对大家有所帮助.若有疑问或不正之处,欢迎提出指正和讨论. 一. 原型与构造函数 Js所有的函数都有一个protot ...
- from opencv image to PIL image and reverse
import cv2 import numpy as np from PIL import Image img = cv2.imread("path/to/img.png") # ...
- TestNG配置注解
以下是TestNG支持的注释列表: 注解 描述 @BeforeSuite 在该套件的所有测试都运行在注释的方法之前,仅运行一次. @AfterSuite 在该套件的所有测试都运行在注释方法之后,仅运行 ...
- Linux系统上安装docker + Compose并创建WordPress
安装docker可参考我的另一篇文章 安装Compose Docker Compose 是 Docker 官方编排(Orchestration)项目之一, 负责快速在集群中部署分布式应用. 方法一 1 ...