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的概念 ...
随机推荐
- L-BFGS算法(转载)
转载链接:http://blog.csdn.net/itplus/article/details/21897715 前面的拟牛顿法.DFP.BFGS.L-BFGS算法简短总结一下就是: 牛顿法不仅使用 ...
- tomcat jsp页面乱码解决
浏览器接收服务器响应的中文参数: JSP页面中告诉浏览器使用什么编码: <%@ page language="java" contentType="text/htm ...
- Window下通过charles代理抓取iphone/android手机Https请求乱码问题处理
Window下通过charles代理抓取iphone手机Https请求乱码问题 如果保持默认设置,https的reqeust和response都是乱码,设置完之后https就可以抓包了 手机端操作: ...
- centos配置golang & SVN客户端配置
环境:centos 6.5 一.下载和解压go环境包 >>cd /usr/local/ >>wget -c http://golangtc.com/static/go/go1. ...
- Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业
对于所有的蕴含式,生成一张有向图,对于每一个蕴含式,将左边的每一个文字连接到一个中间结点,并用中间结点记录蕴含式左边文字的数量,然后将中间结点连接到蕴含式的右侧结点.例如,对于蕴含式集合 生成的有向图 ...
- dubbo作为消费者注册过程分析--????
请支持原创: http://www.cnblogs.com/donlianli/p/3847676.html 作者当前分析的版本为2.5.x.作者在分析的时候,都是带着疑问去查看代码,debug进 ...
- Http请求中请求头Content-Type讲解
在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值 Med ...
- 【splunk】仪表盘导入导出
仪表盘导出: splunk目录/etc/users/admin/search/local/data/ui/views 目录下,拷贝所有的xml文件 导入: 创建仪表盘->编辑来源 将上面导 ...
- python 全栈开发,Day68(Django的路由控制)
昨日内容回顾 1 MVC和MTV MTV 路由控制层(分发哪一个路径由哪一个视图函数处理) V : views (逻辑处理) T : templates (存放html文件) M : model (与 ...
- 《JavaScript 高级程序设计》第三章:基本概念
目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Ja ...