利益相关:微信小用户,谷歌小员工小程序
微信发布了微信小程序,虽然还在内测阶段,可是不管从技术上,仍是之后要不要开发原生应用(native app)上引起了很多讨论。其实看到微信小程序的消息, 我第一时间想到的是 Google 以前推出的PWA(Progressive Web App),二者的目的是相似的(伪原生应用),可是形式却又有很多区别,能够比较来看一下。微信小程序
耐心点,先让我来讲说PWA。浏览器
PWA 的全称是 Progressive Web App,是 Google 在2015年提出,今年才推广开来的想法。具体的意思就是在移动端利用提供的标准化框架,在网页应用中实现和原生应用相近的用户体验。缓存
总而言之,它说到底仍是一个网页应用,只不过经过最新的技术手段实现了某些之前原生应用才有的功能。微信
技术上不想说太深,我也不懂,因此从用户角度来讲,列举一下和传统网页应用相比的优点。网络
另外一方面,和原生应用比,PWA 又不须要用户安装,只须要浏览器支持 PWA 就能够了。app
首先,网页应用在必定程度上受到了浏览器的局限,所能得到的权限,效能都是的不少复杂的功能很难实现,这是更简单的方法就是开发原生应用了。而 PWA 就是一个试图把二者相融合的尝试。若是需求不大,新公司已经没有必要花血本雇佣不一样平台的开发人员作原生了,只要一个 PWA 就够了。另外当网页应用发展更好以后,整个移动平台的用户都提高了,对于正在转型移动平台的 Google 来讲固然价值很是。框架
我我的以为这是一个很好的尝试,也会推动行业的发展,可是究竟能走多远抱有谨慎乐观的态度(现在微信也加进来应该更乐观了)。性能
其次,当你主导的技术在市场上被普遍采用的时候,你在整个行业的话语权都会提升,也有更多的获利机会。微信支付
好比我在广告业务的的技术支持部门工做,有的同事就会去有的广告业务客户那里推销 PWA,同时公司内部也有各类 PWA 的培训和讲座。若是公司没有或者用户没有安装原生应用的话,PWA 拥有比传统网页更好的体验,在计算竞价排名上也有优点(Landing page experience),PWA 就会给客户公司带来更多的用户,而更多的用户也就带来了更多的收入,天然的Google也就得到了更多的广告收入。。
这个概念在行业内发展的挺快,在本文的这个时间点上,基于 Chromium 的浏览器 Chrome 和 Opera 已经彻底支持 PWA 了,Firefox 和微软的 Edge 正在开发中,水果公司的 Safari 最近刚刚表达了可能会支持 PWA。从长久的角度看,只要 Google 不断推进一些网站往 PWA 转型,其余的浏览器或者竞争对手也就会天然跟风上船。
网上已经能够找到大把的 PWA 例子了,这里有很多:https://pwa.rocks/,其中不乏 The Washington Post,Flip Board,AliExpress,Wikipedia,Gmail,Booking 这样的大头。
里面有个 Air Honer 颇有意思,你们能够玩一下(当心有声音别在开会的时候打开。。),The Air Horner,从点开到使用只须要点击一次屏幕(不须要安装),使用体验又很是接近原生应用(UI/UX设计,桌面图标)。
我没有第一手资料,只是从最近的新闻和其余文章中获得的微信小程序的一些消息,大致和我想象的相同,就是微信提供一个内嵌的封闭运行环境,让开发者能够利用基于Web的技术开发出和原生应用相似的用户体验和功能。(若是不许确望指正)
先说结论,在我看来,微信小程序相比于 PWA,虽然起步晚一些可是前景会更好。
二者都是基于现阶段 Web 技术的,可是又不一样:PWA 是 Web 的父集,经过提供更多的外部接口和规范来让网页应用得到原生应用才有的特色;微信小程序是Web的子集,经过简化 Web 开发过程和提供封闭完善的空间,使得原先的公众号用户以【1.成本低于原生应用开发 2.体验高于网页应用】 的伪原生应用。这是两个不一样的思路,PWA 更多的是说服现有应用转型,微信小程序更多的是说服新用户寄生在其中。愚见虽然 PWA 的格局更广,可是显然微信小程序的前景更好。
二者不太相同。PWA 实际上是个抽象的技术标准,Google 只能经过本身行业内的影响力和一些刺激因素来讲服浏览器支持 PWA,客户开发 PWA,推广其实受到很多阻力。微信这边状况就好不少,做为一个蓬勃发展的生态系统,大多数企业为了避免落后,都没法忽视微信的任何一个动做。微信出公众号就要弄公众号,出支付平台就要支持微信支付,出小程序就要开发小程序。这是个共赢的行为,微信在推广本身的平台,目标企业在推广本身的业务,因此这阵东风谁不肯意吹一下呢。
二者基本接近的,PWA 只有加法没有剪法,因此即便原有网站的功能很复杂,只要投入足够的资源总能开发出等效的 PWA,甚至能够拥有相似拍照之类的原先只有原生才有的功能。微信则是在一个简化的封闭环境中。就好像微信公众号,虽然文章是基于 HTML 的,可是有不少 HTML 标签不能用(好比 hr,a 等)。因此微信小程序能实现的功能必定是受限的,牺牲了一部分功能,可是带来的是开发流程的简化。这会更吸引那些对权限,技术接口要求不高,更多之内容为主的应用。最好的例子就是微信公众号,他们十分依赖微信平台,可是受到公众号平台的限制,内容的丰富程度十分有限,相信推出后会有大批的微信公众号尝试小程序。
二者都是为了扩大围绕本身的生态圈和行业影响力。若是 PWA 推广开,就至关于 Google 引领了 Web 的发展方向,这会给公司带来巨大的长期利益。而与微信小应用,则是推广开后,其裙下寄生的应用越多,就越能给微信吸引用户流量,让微信往平台转变。微信从最开始的即时消息软件,发展到后面的内容平台,支付平台,这一步则是应用平台。另外一方面,寄生其下的应用内的交易一定须要通过微信支付的通道,正好二者相辅相成。
二者首先有个共同的局限性:
现实点说,大部分公司不会立马抛弃现有的网页应用或原生应用,因此在必定的时间里,公司须要额外分配一部分资源用来开发 PWA/微信小程序。这是没法避免的,特别是微信平台,当用户养成使用小程序的习惯后,公司为了扩大本身的覆盖面,极可能会入住微信,可是另外一方面原先的 App 即便活跃用户不多了,却也不能彻底抛弃,否则用户会不满甚至弃用你的产品。因此前期公司须要投入必定资源在新平台的开发上,后期也须要投入在原有久平台的维护上。
微信额外的局限性就在于内容的丰富程度上,这实际上是个妥协。若是内容要丰富,那么就对性能和接口有更多的需求,这样就对微信平台自己的要求更高,简直能够理解成开发了一个新的操做系统 WeChat OS。并且一个系统一旦功能多了,上手就会变慢,很容易就吓跑那些原先之生存在微信公众号里的用户,得不偿失了,因此我猜他们会在必定程度上限制这些小程序可使用的接口数量。
PWA 在局限性这点上是有优点的,可是在推广方面却缺少关键动力。毕竟相对于微信小程序,开发 PWA 须要的资源更多,不是全部中小团队都能付出的起的。
微信小程序和 PWA 做为墙里墙外的两个巨头试图改变移动互联网行业的努力,看起来很相似,可是其实格局很不同。现阶段来看微信的这个新平台颇有前景,可是毕竟还在 Close Beta,究竟之后发展如何仍是留给市场决定吧。