百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT精选 > 正文

小程序的老祖宗PWA为什么没有火起来?

ccwork 2025-02-27 14:33 24 浏览

看上去近乎完美的PWA,出现时间要比小程序早上几年的PWA,为何不如小程序火热甚至在国内鲜为人知呢?

比小程序更早的“远古小程序”PWA

BAT现都已入局小程序赛道,开始新一轮的较量。但无论是微信,支付宝还是百度的智能小程序,本质上都要在App上运行,对用户来说,还需横跨手机系统和App两个平台的限制。

App的限制对用户来说可能不是什么大的负担,毕竟微信支付宝也算是国民级的必装应用。但从系统层次来说,安卓还好,如果要问苹果对小程序的态度,那就不太好说是支持还是妥协了。

小程序作为苹果平台上的平台,涉及到了分发平台支付这两大环节,苹果就更加谨慎了。

但顾及微信在国内如此大的体量,苹果也只好采取观望的态度。

小程序技术的本质是网页。那为什么不能直接在系统层面将网页打包成App,成为和原生“并列”的App呢。

PWA(Progressive Web Apps)由此而生。

PWA中文名为渐进式网页应用,2014年,W3C(万维网联盟,建立于 1994 年的组织,其宗旨是通过促进通用协议的发展并确保其通用型,以激发web世界的全部潜能。)公布了service worker的相关草案,但真正在生产环境被chrome支持是在2015年,要比微信小程序还要早两年。

Web最大的优势在于其跨平台的通用性与兼容性,而这种优势也决定了微信小程序之后各种风靡而上的跟随者使用的技术还是与web技术类似或是其衍生物。

而PWA则是最先以及唯一被W3C和广大国外开发者所认可的网页“应用化”标准。

PWA不特指一种具体的技术,而是在各个浏览器厂商和众多web开发者的共同努力诞生的。它是一种集合多种技术与标准的混合物,它的背后是整个web社区和web规范。[1]

“远古小程序”到底怎么玩?

PWA长什么样子?

先来看两个国内的例子:微博,饿了么。

玩PWA,操作上可以理解成“将网页书签添加到手机屏幕”这样一个过程

步骤如下:

1.先访问微博的pwa网址:https://m.weibo.cn/beta?pwa=1

2.safari(其他浏览器皆可)中将该网页添加到主屏幕。(“添加到主屏幕”不一定就在第一个,可以往右划去找)

3.添加到桌面后访问微博PWA版本(最右),登录、评论、转发与私信功能与微博App均正常。

PWA在体验上与App类似,比如在应用切换场景上,App也会带有微博PWA版本的icon。

IOS版本饿了么采用了部分PWA技术,也就是将网页添加到主屏后,部分功能还是会跳转到网页中打开。(安卓版本不需要)

下面谈或许你最关心的数据[2],在Pinterest使用了PWA技术之后,他们的一些数据如下:

移动端周活跃用户同比增长103%,巴西用户增长156%,印度增长312%。在参与度上,浏览时长增加了286%,用于Pins操作的数量增加了401%,而用户将Pin保留在board上的操作增加了295%。这些增长是惊人的,但更惊人的是,App的登录数增加了370%,用户新注册数同比增长了843%。在推行PWA后不到6个月的时间,已经有80万用户使用我们的PWA,就像使用原生App一样。

远古小程序的诞生始末

PWA的诞生还要从它当初要解决的问题说起,这一点或许和微信小程序类似。

2008年,移动互联网开始普及,但当时的App学习与开发成本都要高过Web。而在移动互联网蓬勃发展的黄金阶段结束后,大多数的用户时间已被像微信、支付宝这样的超级App所占据。对用户来说,人们开始厌倦在手机上下载大量的低频使用App。

Web当时虽然有跨平台的优势,但也存在一些问题。

  • 用户无法收到信息推送
  • 无法离线使用
  • 移动端需借助浏览器入口


随着技术与标准的不断推动,PWA逐渐解决了一些技术上的关键问题:

  • Notification API :出台浏览器推送标准接口
  • Service Worker:用户离线时,可以从缓存中启动web应用


PWA最积极的推动者莫过于谷歌和W3C。

此时的PWA逐渐开始具备部分取代原生App的能力,并逐渐崭露头角。

PWA在国外算是百花齐放,比如推特,Instagram,Flipboard,Telegram,Offline Wikipedia,Spotlight都提供了PWA版本,并且用户体验与原生App相差不大。[3]

国外主流应用支持PWA情况如下:[4]

那么问题来了,看上去近乎完美的PWA,出现时间要比小程序早上几年的PWA,为何不如小程序火热甚至在国内鲜为人知呢?

权力斗争与商业化

简单来说两个原因:苹果和微信

先来说苹果。

苹果的审视态度或许是很重要的一个原因。

苹果如果对微信小程序的审视态度是1的话,那对PWA则是10。

尽管苹果在今年3月发布的iOS 11.3中加大了对PWA的支持力度,但还是有一个非常遗憾的现实:

苹果对PWA的支持力度远远低于安卓,所以PWA在iPhone上的体验也远远达不到“Web应用化”的标准。

比如在苹果手机上,前文提到的service worker中缓存并不是永久保存。而且service worker支持的不完善,PWA的功能体验要低于安卓手机。

比如在安卓手机(测试机型小米)上,一个最明显的不同在于安卓版本的PWA会保留你的登录状态,并且会系统级推送消息。而在苹果上,这两点都做不到。[4]

也就是说,iPhone上的微博PWA,每次打开都要重新登录,而且不会收到任何推送信息。


而且有意思的是,在使用小米手机进行测试时,竟然发现了快应用的身影:

快应用是小米,oppo,华为等九大国产手机厂商一同推出的硬件新标准,看来也和PWA有着微妙的联系。虽然它不支持iphone是基因问题,但快应用也算是国内最像PWA的产物了。

而在用户引导上,也要比iOS友善:

前文谈到,PWA最大推动者为谷歌与W3C,而苹果与谷歌无论在硬件产品线,软件产品线都存在很大的竞争关系。

  • iPhone VS pixel
  • 苹果系统 VS 安卓系统
  • Safari VS chrome


PWA对开发者来说,最重要的意义或在于绕过Apple Store审核,直接推给用户。如果普及,这将威胁到苹果的平台权威,也就意味着苹果与开发者的三七分成生意将会落空。

绕过审核从来都是苹果的敏感词,无论是前段时间的微信打赏事件,还是知乎LIVE尝试引导用户去Web端而不是App。

苹果的态度都是十分明确,那就是NO。

而谷歌又是安卓与PWA的缔造者,谷歌对Web生态自然是十分支持,但谁又能说的好PWA是不是谷歌对苹果的一次渗透呢。

看得出来,苹果对小程序的支持并不是那么心甘情愿。但别忘了谷歌还有一个强大的盟友W3C——Web规则的制定者。对于标准的跟进,相信苹果只能在支持时间上有些动作,到完全支持也只是时间问题,只是这段抵抗的时间或许对PWA的发展与推广有着难以想象的影响。

勤劳的微信,懂商业的微信

产品的开发与推广(即商业化)一直都是两个问题,有时候我们觉得产品从零到一十分伟大,但也不要忽略推广的重要性。

PWA作为一种集合多种技术与标准的混合物,它的背后是整个Web社区与Web规范[3]。但它也只能帮你到这里,谷歌和W3C不会帮你去做剩下的事,怎么获得第一批用户,怎么留下他们,怎么打通各种渠道,怎么找到各种配套服务,这都需要开发者自己解决。

有的时候我们觉故事结束了,其实才刚刚开始。

PWA没有做的这些,才是微信的最大优势。

技术,流量,商业化,三者缺一不可。

先说技术层面,PWA劣势明显。

这里并不是说PWA技术本身存在什么问题,而是说厂商之间的权力斗争,极大地阻碍了这项技术的推广。iPhone的市场份额绝对不可忽略,而这部分人群的用户体验现阶段是较差的。

微信不存在这个问题。

再谈流量,微信月活已达10亿,并且建立起了一个庞大的社交网络,无论是在产品的传播、推广与留存都有了一套稳定的打法,人们对微信提供的既有模式已经熟悉,也就不想再回到Web时代,不想回到那个开发推广商业化都要自己亲手做的时代。

微信为开发者提供流量与用户关系,开发者为微信建设更广大的微信生态。双方互惠互利,互相促进。

不仅如此,微信还是一个勤劳的平台

9月26日,微信在上海举办了2018微信开发者培训班,首次谈到了小程序服务商的话题。

简单来说,就是将小程序开发的“模块化”正式推上了日程。

  • 增加了小程序服务商与想做小程序的人之间的沟通渠道。
  • 建立一个提供搜索的插件库,将小程序开发中遇到的可复用的部分进行模块化。
  • 增加了对小程序开发者非技术技能(商业,运用)的学习社区。


再简单来说,微信想再一次降低小程序的开发成本和运营成本,来让自己的小程序生态更加繁荣。

这样的服务态度,PWA暂时比不了。

最后谈商业化

任何没办法实现商业化的技术和产品对开发者都是耍流氓。

微信最核心的优势或许就是对开发者商业化上的扶持。

小程序完成了PWA未完成的使命。

从一开始试水小游戏中,到后来打通线上支付环节。微信走对了两条路:广告与支付

广告无疑还是当下互联网最普遍的流量变现方式,而支付的重要性不亚于当初支付宝于淘宝的重要性。

支付即信用托管。

所以小程序是有商业价值的,而且这种商业价值可持续。

这种商业价值无疑会衍生出后来的各种可能,电商,知识付费等等。

尴尬的PWA定位

国内,PWA棋逢BAT这样量级的对手。不仅如此,它也开始出现了一些身份上的尴尬。

如果说一开始人们埋怨手机内存和流量资费的限制,而不想安装太多的App。根据摩尔定律,现在的手机内存与硬件都在提升,运营商资费下调。这使得PWA最初得以出现的根基开始动摇。

所以,PWA现在国内面临的处境即:用户不知道,也不会用,开发者不见得支持,也不如小程序友好。

当然还有一些别的原因,比如国内完整使用谷歌和安卓的用户体验:)

最后

PWA的核心目标并不是想取代App,就像电子书的出现并没有取代纸书一样,它真正想做的相信还是不断改善用户体验,将网络与应用的长处结合起来。[5]

尽管PWA身后是Web的标准与规范,在使用体验上也更接近原生App,但有时问题核心并不只取决于技术与体验,而更多在对开发者的互惠上,无论是PWA ,小程序,还是快应用,哪个可以让开发者和商家更快更便捷地搭建自己的服务并推广出去进而形成商业闭环才是最重要的。

当然,PWA作为开源协作的典范,以及开放的Web特性,人们还是愿意看到它完善的那一天。

只是在那一天来之前,国内局面还是要靠BAT这些更懂商业而不是情怀的公司所掌控。



相关推荐

二十三、Java类与对象简介(java第十一章类和对象)

在Java编程语言中,类(Class)和对象(Object)是面向对象编程(OOP)的核心概念。描述类类是Java程序的基本组成单元,是对象的模板。类定义了对象的属性和方法。属性是对象的状态信息,而方...

设计模式-结构型-代理模式(proxy)

1.概念需要给对象提供一个代理以控制对该对象的访问,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介;根据代理类生成时机不同,分为静态代理和动态代理;静态代理代理类在编...

深度解析设计模式七大原则之——里氏替换原则

临近端午节,各位读者,你们假期行程安排好了吗?“菜鸟”已经做好决定了,谁都不能阻拦(产品经理也不行),“菜鸟”要好好在家休息三天。最近实在是太累了,一直在疯狂的加班。好了好了言归正传,开始我们的正文。...

Java代理模式详解:智能中介的编程艺术

一、生活场景中的代理思维想象您要租房子,但不想直接与房东打交道,这时房产中介就发挥作用了:1.中介帮您筛选房源(访问控制)2.签约前验证房东资质(预处理)3.协助办理合同手续(功能增强)4.处...

哪个创意最能打动你? 为你欣赏的“创意之星”投一票

这一期的《超级课堂·暑期特别活动》将评出5位“创意之星”,获得价值2000元的奖品。本期我们选登了部分中小学生在昙华林留下的创意作品,欢迎为最能打动你的作品投上一票。大众评审目前采取微信投票:扫描二维...

Netty基础—6.Netty实现RPC服务(netty reactor)

大纲1.RPC的相关概念2.RPC服务调用端动态代理实现3.Netty客户端之RPC远程调用过程分析4.RPC网络通信中的编码解码器5.Netty服务端之RPC服务提供端的处理6.RPC服务调用端实现...

静态代理和动态代理(静态代理和动态代理的优缺点)

1.什么是代理很多人肯定听过和看到过飞机票代理点,火车票代理点。那这些代理点干得事情就是帮航空公司,火车站出售火车票的工作。它们算是一个中间商。实际的服务不是由它们提供。而是由真正的服务商提供。通过这...

Java反射机制与Spring动态代理深度解析

一、Java反射机制原理剖析1.1反射的本质与实现基础Java反射(Reflection)是Java语言的核心特性,允许程序在运行时:动态加载类获取类结构元数据操作类属性和方法关键技术支撑:java...

Java 代理模式详解(java代理原理)

1.代理模式代理模式是一种比较好理解的设计模式。简单来说就是我们使用代理对象来代替对真实对象(realobject)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象...

SpringBoot全局异常处理:如何优雅应对多系统多格式错误响应需求

SpringBoot全局异常处理:如何优雅应对多系统多格式错误响应需求引言部分在微服务架构中,你是否曾为处理不同外部系统的异常响应而头痛?A系统要求返回JSON格式的:{code:1001,mes...

3分钟吃透代理技术!(代理一般都是怎么做)

最近有学员问了我一些问题,什么是代理,又该在什么地方使用。结合之前的讨论,这篇文章我们一起细致的讲解一下关于代理的一些问题。在Java中,代理通常分为两类:静态代理动态代理两者技术实现是不一样的,...

苏州网络维护 | 学习网络维护,从哪入手

我们想要学习网络维护,从哪入手呢?先带大家了解下网络维护1.培养基础知识:建立对计算机网络基本原理的理解。学习计算机网络的基础概念,如IP地址、子网掩码、路由器、交换机、协议等。2.学习网络技术:深入...

CAD如何快速一键编号?(cad如何一次性全部编号)

cad一键自动编号。·第一步,在命令行数abh空格。·第二步,打开自动编号对话框,选择用默认的图言编号,编号文字的高度根据图纸的大小设置零点八。当然如果图纸很大,设置比如十一百的有可能数字编号,这点很...

职场新人必知的10个高效工作法,助你快速升职加薪

初入职场,面对繁杂的工作任务和陌生的职场环境,如何才能快速适应并脱颖而出?以下是10个高效工作法,帮助职场新人提升工作效率,快速实现升职加薪的目标。---1.制定每日工作计划-推荐理由:每天开始...

《魔导英雄传说》新手攻略,快速升级,礼包码,最强阵容排列

《魔导英雄传说》新手攻略一、武将培养指南英雄选择与培养:英雄品质分为SSR、SR、A,优先培养SSR英雄,如张飞、孙尚香等核心英雄阵营搭配:同阵营上阵英雄越多,战力加成越高,建议优先培养同一阵营的英雄...