写点什么

为什么谷歌和苹果都要杀死移动 Web?资深工程师揭秘大厂从吹捧到扼杀“内幕”

  • 2023-01-05
    北京
  • 本文字数:4457 字

    阅读完需:约 15 分钟

为什么谷歌和苹果都要杀死移动Web?资深工程师揭秘大厂从吹捧到扼杀“内幕”

有一种普遍性认知:只要可以,大型平台厂商一定希望每个人都只为他们自己的平台编写专有应用程序。但现在的厂商们还做不到这一点,所以 Web 就天然获得了市场优势。可人们心里的天秤总在摇来晃去,在 Web 和本机之间游移不定。

 

回顾历史,苹果、谷歌等都为 Web 的发展努力过,但为什么他们后来都放弃了 Web 应用,转而走向本机应用了呢?

 

近日, CodePen 联合创始人、网页开发者 Chris Coyier 写了一篇关于不同平台的“本机应用程序”和“Web”之间总是剑拔弩张、相互竞争的文章

 

他在文章中指出了如果在这场竞争中 Web 最终败下阵来,可能出现的结果:

 

  • 设计师和开发者们要么重新专注于单一特定平台,要么被迫分散注意力,做出愈发平庸的软件成果。

  • 一座座“围墙花园”将拔地而起,各有自家优势。于是用户们深感无力,不管怎么选择都会错过种种精彩。

  • 我们都将生活在这些封闭、私有系统的统治之下。如果厂商不喜欢你或者你的应用程序,你就没活路了。虽然他们现在也在这么干,但 Web 消失将意味着毫无退路。

  • URL 属于 Web,而非本机应用。URL 让搜索引擎成长为一股影响世界的力量。所以当 Web 消失,那么实用性的全局搜索也将就此消失。

 

……

 

但是,Chris 表示不理解为什么苹果和谷歌这样的公司总在强调本机应用要优于 Web 应用,更不理解为什么就连谷歌/Android 也走本机应用路线:

 

谷歌其实有理由把 Web 推向高峰,而且实际表现也算不错。现在 Google Play Store 已经接纳渐进式 Web 应用(PWA)了,但却明显将其当成了"二等公民",真的奇怪。

 

虽然 Chris 表示理解企业为什么更愿意选择本机、而非 Web 应用。可反例同样很多,基本一切最大、最好的应用都拥抱了 Web——Figma、Slack、Discord、GitHub、Spotify、Netflix 等。“这又跟我的认知有所抵触了。”

 

对此,曾任谷歌 Chrome 工程师、现任微软 Edge 项目经理、Blink API创建者Alex Russell发布系列帖子对 Chris 的疑问进行解答,也透露出了一些行业内幕。

 

各家的本机与 Web 之争,究竟是在争什么?

 

苹果

 

根据 Alex 的说法,苹果最早是支持 Web 的。苹果还是一家小众 PC 制造商时,它需要用 Web 技术来打消客户们购买这款价格接近奢侈品的高端电脑的顾虑。虽然文化影响力巨大,但苹果 Mac 一直没有足够的份额来建立起一个独立于 Web 之外的、足够庞大的软件生态系统。

 

从 1998 年到 2012 年,Web 技术成为一道弥足珍贵的桥梁,帮助开发者跨过技术巨头靠自家专有堆栈建立的护城河。Web 跨越了 PC 和 Mac,虽然苹果也在努力推广自己的本机应用构建器,但苹果也很聪明,知道想在市场上卖得好,Mac 必须能提供出色的 Web 应用体验。

 

之后,iOS 出现了。

 

不少年长的 Web 开发者都听过这个故事:iOS 实际并不是要反 Web,乔布斯当初就将其定位为 Web 优先的操作系统。iOS 初亮相时人们的印象也确实如此。直到一年后 iOS 2.0 的发布,这种印象才逐渐消失。

 

乔布斯从未明说过(虽然在后来的法庭文件中得到了证实),2007 年初代 iPhone 的 iOS 1.0 主屏和第一方应用之所以不基于 Web,是因为他们没做出来。

 

苹果内部曾经有过 Web 版和本机版两套操作系统原型,只是 Web 版未能最终落地。就在乔布斯在莫斯康展览中心宣布 Web 是一款“伟大的应用平台”时,Cocoa(苹果为 Mac OS X 创建的原生面向对象的 API)已经成了优先选项。

 

当时,外部应用程序似乎可以帮助提高该设备的受欢迎程度,乔布斯希望开发人员使用标准 Web技术来构建应用程序。(PWA,即 Progressive Web App 的想法也是乔布斯在 2007 年 iPhone 推出期间首次向世界展示的。)

 

所以这里对 Web 的强调同样是“桥梁理论”的延伸。别看现在智能手机无处不在,但在 iOS 刚发布时没人敢确定这一点。所以,为了降低初代 iPhone 面临的巨大市场风险,必须通过 Web 强调其访问丰富内容和应用的能力。

 

而随着 App Store、iOS 2.0 乃至 2009 年 iOS 3.0 的发布,苹果开始在首选专有平台和开放 Web 间划分出了功能鸿沟。这道鸿沟至今仍未消失,所以尽管苹果确实拥有强大的浏览器开发能力,但很多人仍然把 Safari 的优势地位视为一份历史性遗产。

 

那么,苹果为什么不继续拥抱 Web?因为他们从 Web 平台上挣不着钱。

 

App Store 的巨大成功甚至超出了苹果自己的预期。(App Store 刚推出不久就大获成功,开发者在一个月内就从 App Store 获得超过 3.6 亿美元的收入。这让乔布斯都大吃一惊,“移动行业从未见过这样的事情”,乔布斯当时在采访中说道。)

 

而在其站稳脚跟之后,苹果开始全面调整自己的 Web 战略:市场领导者才不需要什么桥梁,拆了桥挖条更宽更深的护城河才是正事。出于这个理由,苹果在过去十年间对 WebKit 的投入一直显得犹犹豫豫、畏畏缩缩。

 

而在刚刚到来的 2023 年,苹果之所以又对 Web 旧事重提,是因为看到了 Web 对于 Windows 的冲击。同样的事绝不能发生在 iOS 身上。这样一套开放、可互操作的元平台肯定会削弱苹果赚钱的能力,过去它不受苹果待见,现在就更不可能。

 

谷歌

 

为什么谷歌也在削弱 Web 在移动设备上的存在感?

 

要回答这个问题,我们先要了解谷歌是个什么状态。其实跟苹果等其他大型企业一样,谷歌本质上也是一群小公司的集合体,各部门只是碰巧把收入都汇总在“谷歌”这面大旗之下。不同团队间不但没有爱,反而可能充满抵触和仇恨。

 

就连 Android 也来自对 Sidekick 手机开发商 Danger 的收购。(Danger 公司由三名前苹果工程师于 2000 年创立,其开发的 Sidekick 手机凭借出色的网络功能和高速即时消息能力赢得了众多美国青少年的喜爱。)

 

遥想 2008 年,当时苹果已经推出了 iPhone,而谷歌手中的 Android 系统还在挣扎求存。

 

那是个奇迹频发的年代:AT&T 拿下了在美国独家销售 iPhone 的渠道,把其他电信企业和手机厂商都吓坏了。如果大家还记得 2009 年那会大众媒体上的舆论导向,肯定还记得 Verizon(美国电信运营商)怎么努力宣传摩托罗拉 Droid。那是种绝望、但又无可奈何的最后挣扎。

 

基于同样的绝望情绪,各方决定放弃自家底层软件堆栈,转而为单一厂商的硬件发布开展联合营销。电信企业不想这么做,但他们不敢不跟进。

 

把握住这个难得的机会窗口,Android 团队开始大展身手。他们开始用笨拙但有效的方式争取单独的办公环境、单独的配套设施,也确实拿到了。你可以讨厌 Andy Rubin(被业内称为“安卓之父”,据报道因与女性下属发生不正当关系被举报后离开谷歌),但他确实为 Android 争取到了独属于自己的生存空间和项目文化。他就像严控自己小国的暴君,他成功了。至此,Android 实质上已经脱离了谷歌的掌控。

 

当然,这种不满是双向的。

 

Android 对谷歌也颇有微词,因为谷歌那边总强调 Web 会是个理想的解决方案。(谷歌在 2015 年对 PWA 做了定义。当时还在谷歌工作的 Alex 写了一篇文章“Progressive Web Apps: Escaping Tabs Without Losing Our Soul”对 PWA 进行详细阐述。)

 

但 Web 真的靠谱吗?Web 应用可怕的内存用量和极高的无响应频率,经常会把 Linux+Java 的系统组合拖向崩溃的边缘。所以 Android 团队产生了一种本能的感觉,虽然把 Java 开发者团结起来确实困难,但 Web 开发才是那个陷进去就爬不出来的大坑。从表面上看,他们的判断没错,而且他们也不喜欢这套不归自己完全把控的平台。

 

在战略层面,Android 这边拉起的连横阵营主要依靠“搜索布局加市场份额”。Android 非常重视市场份额,而谷歌的短期管理文化意味着只要 Android 系统能及时把谷歌搜索栏呈现在用户面前,别的生态系统问题都可以往后稍稍。所以,Play 应用商店的头顶始终笼罩一层阴云,Android 的反 Web 主张一直在发挥作用。

 

当然,随着时间推移,Android 和 Play Store 团队的反 Web 态度开始跟苹果合流,最终奠定了 Java/本机才是王道的基本理念。

 

既然原本的方针没出啥问题,手机出货量和搜索份额都有增长,那谷歌何必还要费劲支持什么 Web 呢。

 

经验和贪婪结合起来,成为横亘在移动 Web 面前的一座大山。

 

直到 2013 年,Chrome 才正式登陆 Android,并在 2014 年成为默认浏览器选项。同时,Android 照搬自 iOS 的“本机至上”原则正继续制造着本机与 Web 之间的巨大功能/特性差距。

 

我们可能很难想象在谷歌内部开发 PWA、WebAPk、TWA 乃至 Web Push 等项目是有多痛苦,外部世界的 Web 偏见在 Android 之内不仅没有减弱,反而愈演愈烈。但 PWA 和 Push 等成果还是顺利落地,与 Fugu 的合作大门也被打开并维持至今。

微软

 

Chris 在文章里说到,巨头里对 Web 应用态度最友善的似乎就是微软了。微软最开始并不像谷歌那样大力支持,但跟进得跟快。为此,我们补充了微软的一些措施(并非 Alex 回答内容)。

 

2018 年,微软宣布,Microsoft Edge 网络浏览器支持 PWA,Windows 商店的应用程序,如 Slack 和Trello,将 PWA、Electron 和通用 Windows 平台 (UWP) 混合使用。2020 年,微软和谷歌合作,将 PWA 推上 Play Store,加速其在 Android 平台上的普及。

 

谷歌开发出名为 Bubblewrap 的指令行应用程式,让开发人员只要安装 Node.js,无需完整 Android SDK,即可将 PWA 网站打包成 Play Store 上的 Android App。微软则提供并开源 PWA 开发及发布工具 PWABuilder.com。两家合作后,让 PWABuilder 使用 Bubblewrap 为底层,并推出新功能。

 

今年 9 月,为了弥合 Web 应用程序和本机桌面应用程序之间的差距,微软宣布了 Window Controls Overlay 功能,允许开发人员创建自己的标题栏,而不是强迫他们使用默认标题栏。看得出来,微软现在仍在努力让 Web 应用跟本机应用平等。

 

Alex 最后在文章里总结道,Web 正在移动设备上节节败退,这也敲响了其作为技术平台的消亡丧钟。

 

在这样的背景之下,前端领域的动向甚至已经无关紧要,因为其最终只会陷入僵化。Web 平台不会突然消失,它只是在逐渐失去人们的关注和投入。

 

而 Web 开发者们也未做反应——没有还击、没有斗争,人们选择屈服于这股大势。

 

如今,全球大部分新增用户终端计算设备是智能手机,其中 80%以上是配置较低的 Android 机。当然,即使 Android 是完美的,也不足了扭转时局、挽救 Web。为什么?因为掏得起高价的用户都买 iPhone,技术行业必然会跟着钱走。

 

只要苹果还能继续在富裕地区(美国、英国、日本等市场)依靠垄断地位扭曲立法决策、阻止真正的浏览器竞争,Web 就永远无法恢复活力。

 

所以,我们才应该支持 Open Web Advocacy,这将是决定 Web 命运的一战。

 

结束语

 

在 Hacker News 上,有人对 Alex 的帖子表示质疑,尤其是乔布斯对 Web 态度上,也有人认真讨论了 PWA。

 

开发者“ryanyl”提出,有没有真正出色的移动 PWA 示例?“我发现,公司的移动网站体验总是比应用程序(例如 YouTube 或 Spotify)差很多,我不确定是我缺乏关注,他们有意将用户推向应用程序,还是一直如此。”然后有开发者为其提供了星巴克的案例。

 

一定程度上,只喊口号并不能挽救 Web 应用,找到真正可以利用 Web 优势的场景、并有效形成商业闭环才能让其更好发展。

 

参考链接:

 

https://chriscoyier.net/2023/01/04/what-does-it-look-like-for-the-web-to-lose/

https://toot.cafe/@slightlyoff/109632248664696707

https://www.macrumors.com/2018/07/25/steve-jobs-app-store-interview/

https://www.windowscentral.com/what-are-progressive-web-apps-video

https://www.ithome.com.tw/news/138814

https://news.ycombinator.com/item?id=34252196

2023-01-05 18:1011881

评论 1 条评论

发布
用户头像
这篇文档的各方都是屁股决定脑袋。Chris,Chris,真是装糊涂的天才
2023-01-07 09:40 · 北京
回复
没有更多了
发现更多内容

电商卖家如何利用API获取用户行为数据

技术冰糖葫芦

API 文档 API 策略

百度营销发布「生成商业新未来」特刊

科技热闻

合合信息入选上海市网信办“2023年度网络数据安全风险评估试点工作优秀单位”

合合技术团队

安全 数据安全 合合信息

文心一言 VS 讯飞星火 VS chatgpt (204)-- 算法导论15.3 3题

福大大架构师每日一题

福大大架构师每日一题

检测LED单元板的好坏的方法

Dylan

LED display LED显示屏 led显示屏厂家

面试官:说说volatile底层实现原理?

王磊

Java 面试

程序员副业大赏:一边赚钱一边提升技能!

伤感汤姆布利柏

好用的文本编辑器推荐

霍格沃兹测试开发学社

MCtalk·CEO对话×影刀RPA丨不确定的周期,越要找到确定的竞争优势

ToB行业头条

深入理解 Docker Run 命令:从入门到精通

霍格沃兹测试开发学社

小红书笔记详情API入门指南

技术冰糖葫芦

API 文档

SD-WAN网络中,CPE设备的重要性与选择

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

超越传统模式:商品企划系统如何助力鞋服品牌创新突围?

第七在线

杭州悦数受邀参加《大模型驱动的智能知识图谱》标准首次专家研讨会

悦数图数据库

集成专栏丨解析WSDL自动生成API

inBuilder低代码平台

开源 低代码 集成 连接器

Java面向对象之内部类的几类使用场景

快乐非自愿限量之名

Java 面向对象 开发语言 面向编程

长期有效!开放原子基金会联合龙蜥社区推出的「人人都可以参与开源」学习赛上线

OpenAnolis小助手

开源 操作系统 龙蜥社区 开放原子 人人都可以参与开源

数据中台与低代码:数字中国战略的关键技术

不在线第一只蜗牛

数据中台 低代码 开发语言 数字转型

掌握 Docker PS 命令:轻松管理容器

霍格沃兹测试开发学社

从 0 开始构建知识图谱的 5 个启动建议

悦数图数据库

知识图谱

任务系统之API子任务

快乐非自愿限量之名

接口 API 项目开发 任务系统

NFT矩阵公排合约系统开发

l8l259l3365

2024年金三银四Java初中高级面试1000问,覆盖一线大厂各种面试痛点

采菊东篱下

编程 程序员 java面试

SD-WAN对云服务的影响

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

轻松实现UniApp Xcode上传IPA无需Mac,appuploder一键上传助你高效开发!

云原生与低代码:重塑软件开发新生态

快乐非自愿限量之名

云计算 云原生 软件开发 低代码

跳槽必看MySQL索引:B+树原理揭秘与索引优缺点分析

王中阳Go

数据库 面试 金三银四 跳槽

SD-WAN技术:是挑战还是机遇?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

国际盛会 | 蔚蓝创造亮相KEY ENERGY 2024能源展

科技热闻

深入探析:云计算与边缘计算在软件开发中的应用与挑战

EquatorCoco

云计算 低代码 边缘计算 项目开发

利用观测云实现 Kubernetes 多集群可观测

观测云

k8s

为什么谷歌和苹果都要杀死移动Web?资深工程师揭秘大厂从吹捧到扼杀“内幕”_文化 & 方法_褚杏娟_InfoQ精选文章