本周的重磅文章 来自 Google/Chrome 的 Alex Russell。Alex 长期以来一直对 Apple 非常 критичен,尤其是关于 iOS 上实际上无法运行 Safari 以外的任何其他浏览器的现状。这篇文章不仅仅是对此表示不满,而是指责 Apple 通过 Safari 的缓慢进度和无 Web 应用的 App Store 对 Web 平台造成了真正的损害。
Apple 的 iOS 浏览器(Safari)和引擎(WebKit)的性能异常低下。重要功能交付的一再延迟确保了 Web 永远无法成为其专有工具和 App Store 的可信替代方案。
我很欣赏 Alex 在此处的观点。它在应得的地方给予了肯定,在感觉最公平的地方指出了责任,并为这场值得讨论的复杂对话带来了数据。读完这篇文章,很难不认为如果 Apple…… Web 会变得更好。
- 允许在 iOS 上使用替代浏览器
- 允许 Web 应用进入 App Store
- 加快 Safari 中 Web 平台功能的开发速度
逐一分析……
- 我想要这个吗?是的。我的 1000 美元超级强大的电脑手机应该能够运行任何我想要的浏览器,尤其是来自一家制作出真正优秀的浏览器并且非常希望将其安装到我的手机上的公司。实际上,我确定围绕此问题出现的复杂情况远远超出了我的理解范围。我一直想到 那个彻底破坏 macOS 的 Chrome 更新。这会发生在 iOS 上吗?虽然缺少功能可能会抽象地让客户不满意,但手机变砖会直接导致客户不满意。我怀疑这更多地归结于 Google 是一家 在跟踪技术方面进行创新 的广告公司,而 Apple 是一家在隐私方面进行创新的硬件公司。这是一个进退两难的境地,而这个浏览器问题就是其后果之一。
- 我想要这个吗?是的。我甚至不知道如何创建原生应用,除了将 Web 应用通过魔法转换为原生应用的软件之外。如果 Web 应用可以进入 Apple App Store,那么它将为像我这样的人(而且像我这样的人很多)打开大门。实际上,我确定围绕此问题出现的复杂情况远远超出了我的理解范围。质量控制是否更难?我得想象它确实更难。安全性是否更难锁定?我得想象它确实更难。客户是否对此强烈要求?我不确定我是否听到了他们的强烈呼声。人们确实有选择:iOS 仅占手机市场的 15%。如果您想要替代浏览器和替代应用商店,您可以拥有它们。
- 我想要这个吗?是的。哎呀,我们庆祝 Safari 发布的小胜利。我当然不想等上几年才能获得每个明显有用的功能。衡量
contain
和容器查询所需的时间将会很有趣。对我来说,这一点意义重大,因为我希望尽快使用它,而无需 polyfills,一旦它 稳定下来。我知道有句玩笑话是“Safari 是新的 IE”,但我通常在日常的 Web 开发工作中并没有这种感觉。我觉得我可以向所有浏览器(包括 Safari)发布功能极其强大的网站,并且不必过分担心 Safari 会成为二等体验。(不过,我不制作游戏或 VR/AR 体验。)老实说,我更担心 Firefox。Apple 和 Google 的钱比上帝还多。我担心 Mozilla 会受到 Web 功能冲击的 DDoS 攻击,尽管公平地说,他们目前似乎做得还不错。
就 Safari 落后而言,我认为我更关心 DevTools 而不是 Web 平台功能。
这里存在 Apple 限制性(无可厚非)和 Apple 缓慢的方面。缓慢是一个相对的概念。与什么相比缓慢?与 Chrome 相比缓慢。这就引出了一个问题:为什么 Chrome 可以决定 Web 的确切速度?我总是想到 Dave 的 “慢,像炖牛肉。”
慢思考有很多价值。您使用大脑的非爬行动物部分。您做出更慎重的决定。您优先考虑设计而不是即时满足感。您可以在承担大量技术债务之前检查您的直觉并验证您的假设。
我认为在发布之前进行恰到好处的迭代可以产生更好的产品。因为一旦发布,它就发布了。无法回退或进行重大 API 更改。
也许缓慢发展的 Web 有时令人沮丧,但它是否意味着我们最终会得到一个更好的 Web?我那颗小熊维尼的大脑告诉我,中间某个地方存在一个恰到好处。
不仅仅是 Apple 缓慢。他们似乎有一种倾向,即不传达他们正在做什么。
在他们缓慢实施规范的地方,它会削弱人们对规范的信心。
最近的一个很好的例子:flex 的间隙。长期以来,何时/是否会在 webkit 中发布一直是一个巨大的谜团。即使发布了,人们也在争先恐后地寻找发布此信息的地方,因为它最初是通过……是的,一条推文宣布的。
而且并非没有尝试让他们提供有关这些事情的一些信息。
所以,是的,缓慢,但至少同样重要的是,沟通。封闭式花园操作系统原则与闭口不谈的沟通原则之间存在差异。
虽然我同意上面显示的许多观点,但我非常担心 Web 发展得太快,尤其是在只有少数人参与这些功能的开发的情况下。如果他们继续踩油门,并且它崩溃了——比如,有人在某个新的 API 中发现了漏洞,并且这样的漏洞影响了许多用户——Apple 将很快回复说“看,我想保护我的客户,并提醒过你,但你没有听”。
话虽如此,我希望 Apple 能够更多地帮助开发这些 API,但遗憾的是,Apple 的利益损害了 Web,这无济于事。
一篇非常棒的文章,我只能表示赞同!
iOS 的市场份额在全球范围内差异很大!在斯堪的纳维亚(我来自丹麦),iOS 在移动设备上的市场份额约为 60%,因此我制作的任何前端内容在 Safari 浏览器中都能正常运行至关重要。
Safari 最大的问题可能是您只能在 Mac 上使用它。我不想使用 Mac。我不想使用 iPhone(尽管我在抽屉里有一个)。我只是不喜欢这种体验。因此,我可以在 Windows 或 Linux 上使用 Safari 进行测试,但我无法做到。而 Hackintosh 即使在 PC 上运行良好也是非法的¯_(ツ)_/¯…
所以,是的……Apple 在很多方面都是封闭的。
我真的不认为这种说法是正确的。我不知道是否有人拥有这方面的数据,但对我来说,感觉 99% 的开发人员使用 Chrome 作为其开发环境和目标,但也许我存在偏见,因为我不使用。
整篇文章让我很生气,因为 Chrome 团队继续如此傲慢。我真的很厌倦了他们抱怨和抱怨他们在自己的浏览器中匆忙发布的功能没有在昨天所有其他浏览器中实现。
Dave Rupert 的文章很好地解释了为什么像 Apple 这样的公司作为主要浏览器制造商之一如此重要。
一年后,情况没有改变。由于其浏览器,iOS 经常是需要修复(前端)问题的来源。即使是 iOS 上的 Chrome 也可能与 Safari 和 Android 上的 Chrome 存在不同的行为。这很烦人,因为它使事情变得不必要地复杂。
此外,诸如 scroll-behavior:smooth 和许多其他功能需要很长时间才能用于生产。有一些方法可以解决这些限制,但编码应该很有趣,而现在 Apple 却破坏了派对!
最重要的是,坦率地说,比任何事情都更让我恼火的是,关闭其他浏览器的大门是赤裸裸的垄断行为。
“我们控制着这个市场领域,我们将继续控制它。”
他们没有履行与所有权相关的责任——相反,他们只是持有它,坐在上面,只是为了减缓和阻碍竞争对手的进步。
这很丑陋,坦率地说,这很黄。这就是懦夫的玩法。比如,蒂姆·库克先生,你认为你有本事吗?让我们看看你如何玩球。上场,全力以赴。
但没有,他们足够大,可以坐在球上,阻止任何其他人玩耍,哈。胆小鬼的行为。
如果你知道自己真的无法公平竞争,你才会这样玩!
有时我发现,当我在 Safari 中测试网站代码时,它会变得一团糟,并且会为本应开箱即用的东西增加不必要的复杂性。除了延迟的功能外,他们仍然需要在他们懒散地实现的功能方面做大量工作。
阻止其他浏览器应该是非法的。
作为 iOS 用户和普遍认可者,我完全同意这三点。Web 应用可以,多个浏览器可以。更快的 Safari 可以。
Apple 如何能够避免允许您设置不同的默认浏览器,而微软在不久前因同样的问题而差点被诉讼拆分,并不得不做出改变,这让我百思不得其解。即使现在,他们也只半途而废地打开了这扇门。足以消除一些批评,但没有真正从根本上改变现状。