返回 2026-07-06
💡 观点 / 杂谈

来自 DF 档案:“Electron 与原生应用的衰落”From the DF Archive: ‘Electron and the Decline of Native Apps’

daringfireball.net·2026-07-04

原生应用正面临来自跨平台框架 Electron 的严重冲击,作者将其称为一场灾难。尽管 Mac 平台凭借其吸引“真正在乎平台”的用户群体,可能会比 Windows 表现出更强的韧性。然而,Mac 在过去十年中用户激增导致开发者注意力分散,使得这种原生体验的维护面临挑战。这反映了平台普及度与原生应用生态质量之间存在的潜在矛盾。

Friday, 7 December 2018

SwiftOnSecurity 关于微软将 Chromium 作为 Windows 内置渲染引擎的评论:

这与 Chrome 无关,而是与 ElectronJS 有关。微软认为 EdgeHTML 无法在功能上达到与 Chromium 直接替换的程度,从而在 Electron 应用中取代它,而这种重复的底层引擎正成为严重的性能消耗。他们希望用自己的分支来实现 Electron 的单实例运行。随着 Electron 的泛滥,它已成为扼杀 macOS 和 Windows 的毒瘤。微软必须提供一个经过原生优化的直接替换版本,以提升性能和资源利用率。这是桌面应用程序的末日。除了 JavaScript,已无路可走。

我对原生应用的悲观程度没有他们那么深,但 Electron 毫无疑问是个祸害。我认为 Mac 会比 Windows 表现出更强的韧性,因为 Mac 是一个吸引注重细节的人群的平台。但我依然感到担忧。

在某些方面,Mac 遭遇过最糟糕的事情,就是它在十年前变得太受欢迎了。理论上,这对该平台来说应该绝对是个好消息——更多的用户意味着开发者会投入更多关注。Mac 用户越多,我们应该能看到的 Mac 应用也就越多。问题在于,那些真正在乎优秀原生应用的用户——那些一眼就能看出违反 HIG(人机交互指南)规范、在乎性能、在乎 Mac 应用是否做得正确的用户——大多早就在使用 Mac 了。而许多较新的 Mac 用户既不知道也不在乎究竟什么才是优秀的 Mac 应用。

糟糕的 Mac 应用一直存在。但它们很少能流行起来,因为 Mac 用户作为一个整体抵制了它们。Microsoft Word 6.0 就是典型的例子。Mac 版的 Word 5 是一款备受喜爱且极其符合 Mac 规范的应用程序。而 Word 6 则是一个跨平台的怪物。Mac 用户抵制了它,而这种抵制促使微软——在 90 年代中期权势与傲慢的顶峰时期——彻底重新思考其 Mac 策略,并成立了一个专注于 Mac 的新业务部门。微软的 Rick Schaut 在 2004 年写了一篇很棒的文章,讲述了整个事件的始末:

好吧,相对于我们发布 Mac Word 6.0 时大多数计算机所配备的内存而言,它确实体积庞大且运行缓慢,但这并不是 Mac Word 6.0 如此糟糕的原因,或者至少不是直接原因。[...] 此外,尽管人们抱怨其性能,但关于 Mac Word 6.0 我们听到最多的抱怨是它不够“Mac-like”。因此,我们花了很多时间深入了解人们说它不够“Mac-like”到底是什么意思。我们进行了焦点小组访谈。我们中的一些人泡在各种 Usenet 新闻组里。我们与产品评论员交流。我们与使用该产品的朋友交谈。结果发现,“Mac-like”指的就是 Mac Word 5.0。我们花了那么多时间和精力去解决 Mac Word 6.0 的所有技术问题,却没能让 Mac Word 6.0 的 UI 表现得像 Mac Word 5.0。[...] 在理解了“Mac-like”的含义后,我们意识到的另一件事是:如果 Office 依然作为一个单一产品来同时构建 Win 和 Mac 版本,我们就无法交付“Mac-like”的产品。“Mac-like”竟然成了一个议题,这件事本身就意味着 Win Word 市场和 Mac Word 市场之间存在一些根本差异。如果我们想要同时了解这两个市场,那么我们的 Mac 产品和 Win 产品就需要独立的市场营销和 PGM 团队。我们从 Mac Word 6.0 中吸取的教训,正是如今 Mac BU 得以存在的部分原因。

我对其中一点强烈反对:Mac Word 用户眼中的 Mac-like 并不是单纯因为它是 Word 5,而是因为 Word 5 的设计本身就是真正的 Mac-like。人们反对 Word 6 并不是因为它与以往不同,而是因为它完全背离了 Mac-like。它的外观和操作方式完全就是 Word for Windows 的样子。

尽管 Word 6 缺乏 Mac-like,但相比起如今运行在 Chrome 标签页中的 Google Docs,它当时的 Mac-like 程度要高得多。Chrome 上的 Google Docs 是一款毫无 Mac-like 的文字处理器,而且它还运行在一个愈发毫无 Mac-like 的网页浏览器中。1996 年 Mac 市场坚决抵制的不符合 Mac-like 的产品,反而比如今 Mac 市场似乎正欣然忍受的产品还要好。如今的软件要想在 Mac 上取得成功,再也不需要具备 Mac-like 了。这是一场悲剧。

即使在所有公司中,连 Apple 自己发布的 Mac 应用也存在极其明显的非 Mac-like 问题。MacOS 10.14 Mojave 上的“Marzipan”应用——News、Home、Stocks 和 Voice Memos——简直糟糕透顶。它们不仅功能薄弱,设计上也让人感觉格格不入。我实在不明白 Apple 怎么会觉得将这样的应用发布出去是可以接受的。

我刚在 Mojave 上遇到的另一个例子是全新的 Mac App Store 应用。它看起来确实漂亮,但几天前我注意到,在它的任何视图中,都不支持使用 Page Down 和 Page Up 键进行滚动(也不支持使用 Home 和 End 键跳转至顶部和底部)。1 打开一篇文章并按下 Page Down 键,它不仅不会向下滚动,还会发出提示音。我说真的,它居然会发出提示音。滚动的唯一方式就是使用鼠标或触控板。这可是 Apple 出品、且几乎所有人都在使用的应用。即便是 Marzipan 应用也支持这些滚动快捷键,这其实不足为奇,因为底层开发者框架本身就自带了对这些按键及其他标准行为的支持。Mojave 的 App Store 应用一定是做了什么非常奇怪的操作,才会导致这些按键失效。2

Mojave 的 App Store 应用显然不是用 Electron 编写的。但 Electron 应用的问题其实并不在于 Electron 本身——而在于对制作精良的 Mac 原生应用的需求正在下降。这可不是个好兆头。Mac 面临的最大威胁不是 iPad、Chromebook 或 Windows 二合一电脑——而是人们对成就优秀 Mac 应用的特质表现出的漠不关心。正如我就这个 Page Down/Up 问题在 Twitter 上发推文所说的:

这类事情犹如煤矿里的金丝雀,预示着 Mac 平台的现状。如果连 Apple 都搞砸了像支持 Page Up/Down 这种基本功能——这些在滚动视图中本应开箱即用的操作——我们又怎能指望其他开发者去做好呢?

Mojave 上全新的 App Store 应用看起来确实更好看了。但在所有公司中,Apple 的开发者尤其应该懂得,设计关乎的是运作方式。

  • 我把这件事发到 Twitter 上之后,有几个人争辩说,这些按键不起作用并不奇怪,因为现代 Apple 键盘已经没有这些键了。首先,这种说法是错的——大号的 Magic Keyboard 就有这些键。而且,即使你使用的是 MacBook 或较小的键盘,你也可以通过 Fn 键来使用它们。Fn↓ = Page Down;Fn↑ = Page Up;Fn← = Home;Fn→ = End。祝用得开心。 ↩︎
  • 既然我现在完全进入了“你们这些小屁孩快滚出我的草坪”的暴躁模式,那就让我提另一个 Mojave 让人吐槽的地方,这显然是 Apple 年轻开发者的杰作。Finder 的“文件 → 显示原身”(File → Show Original)命令,我记得从 System 6 开始快捷键就是 ⌘R。(选择一个别名或符号链接,此命令就会显示原文件。)“文件 → 制作别名”(File → Make Alias)的快捷键则是 ⌘L。在 Mojave 中,⌘R 莫名其妙地被重新映射为向右旋转,而 ⌘L 被映射为向左旋转。(这些似乎是“编辑”菜单里的隐藏菜单项?其实它们连菜单项都不是,但当你触发它们时,“编辑”菜单会高亮。)现在,制作别名的快捷键变成了 ⌃⌘A,而显示原身变成了 ⌃⌥⌘A。我想,就这些新快捷键本身而言并不算坏,但改变如此历史悠久的快捷键实在太糟糕了。而且我还要补充一点,这些新快捷键甚至跟 Photos 里的都不一致,在 Photos 里它们叫作逆时针旋转和顺时针旋转,快捷键分别是 ⌘R 和 ⌥⌘R。在 Photos 的快捷键中,反方向旋转是 Option 键的变体,而不是使用完全不同的字母,这在我看来更符合 Mac 的风格。另一方面,Preview 使用的命令名称是向左旋转和向右旋转,快捷键跟 Mojave 的 Finder 一样是 ⌘L 和 ⌘R。我彻底无语了。 ↩︎︎
  • 需要完整排版与评论请前往来源站点阅读。