前一段时间微信推出微信小程序进行公测,着实火了一把,博得了大众的眼球,不明真相的吃瓜观众们纷纷围观,所谓的“微信小程序”,通俗的讲就是一种不需要下载安装即可使用的应用程序,脱离于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理念及发展前景的更多相关文章

  1. (转)PWA(Progressive Web App)渐进式Web应用程序

    PWA 编辑 讨论 PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送.在移动端利用标准化 ...

  2. 说说 PWA 和微信小程序--Progressive Web App

    作者:云图图链接:https://zhuanlan.zhihu.com/p/22578965来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 利益相关:微信小用户,谷歌小 ...

  3. [io PWA] keynote: Launching a Progressive Web App on Google.com

    Mainly about Material design (effects / colors / flashy stuff) Components (web components / polymer) ...

  4. PWA(Progressive Web App)入门系列:(一)PWA简单介绍

    前言 PWA做为一门Google推出的WEB端的新技术,长处不言而喻.但眼下对于相关方面的知识不是非常丰富.这里我推出一下这方面的新手教程系列.提供PWA方面学习. 什么是PWA PWA全称Progr ...

  5. Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?

    什么是Progressive Web App? Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术,由Google实现,让浏览器打开的网址像APP一样运行 ...

  6. [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 ...

  7. Progressive Web App

    下一代 Web 应用? 近年来,Web 应用在整个软件与互联网行业承载的责任越来越重,软件复杂度和维护成本越来越高,Web 技术,尤其是 Web 客户端技术,迎来了爆发式的发展. 包括但不限于基于 N ...

  8. PWA全称Progressive Web App,即渐进式WEB应用?

    一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能解决了哪些问题 ...

  9. Progressive Web Apps入门

      PC和Mobile开发技术演进 PC方向,从客户端到富客户端,到现在广泛使用的Web.   移动方向,目前主要还是原生应用和Mobile Web,PWA相关技术是未来发展方向.   PWA的概念 ...

随机推荐

  1. L-BFGS算法(转载)

    转载链接:http://blog.csdn.net/itplus/article/details/21897715 前面的拟牛顿法.DFP.BFGS.L-BFGS算法简短总结一下就是: 牛顿法不仅使用 ...

  2. tomcat jsp页面乱码解决

    浏览器接收服务器响应的中文参数: JSP页面中告诉浏览器使用什么编码: <%@ page language="java" contentType="text/htm ...

  3. Window下通过charles代理抓取iphone/android手机Https请求乱码问题处理

    Window下通过charles代理抓取iphone手机Https请求乱码问题 如果保持默认设置,https的reqeust和response都是乱码,设置完之后https就可以抓包了 手机端操作: ...

  4. centos配置golang & SVN客户端配置

    环境:centos 6.5 一.下载和解压go环境包 >>cd /usr/local/ >>wget -c http://golangtc.com/static/go/go1. ...

  5. Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业

    对于所有的蕴含式,生成一张有向图,对于每一个蕴含式,将左边的每一个文字连接到一个中间结点,并用中间结点记录蕴含式左边文字的数量,然后将中间结点连接到蕴含式的右侧结点.例如,对于蕴含式集合 生成的有向图 ...

  6. dubbo作为消费者注册过程分析--????

    请支持原创: http://www.cnblogs.com/donlianli/p/3847676.html   作者当前分析的版本为2.5.x.作者在分析的时候,都是带着疑问去查看代码,debug进 ...

  7. Http请求中请求头Content-Type讲解

    在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值 Med ...

  8. 【splunk】仪表盘导入导出

    仪表盘导出: splunk目录/etc/users/admin/search/local/data/ui/views  目录下,拷贝所有的xml文件 导入: 创建仪表盘->编辑来源   将上面导 ...

  9. python 全栈开发,Day68(Django的路由控制)

    昨日内容回顾 1 MVC和MTV MTV 路由控制层(分发哪一个路径由哪一个视图函数处理) V : views (逻辑处理) T : templates (存放html文件) M : model (与 ...

  10. 《JavaScript 高级程序设计》第三章:基本概念

    目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Ja ...