M1、macOS Monterey 和下一代 Mac power shift
Mac 比以往任何时候都更成为 Apple 的电动工具。今天运行 Apple 芯片的 Mac 可以使用完整的 macOS 应用程序库,以及通过 Catalyst 来自 iOS 的应用程序或直接从 App Store 未经修改的应用程序。然后是幕后的一切,从应用程序脚本到各种基于 Unix 的工具。
但随着转向 Apple 芯片以及 Apple 在 6 月份宣布 Shortcuts 将作为多年自动化过渡的一部分进入 Mac,情况正在发生变化。虽然 Mac 不会停止成为一种强大的工具,但未来几年它将在一些根本方面改变它的性质。
快捷方式取代 Automator
Shortcuts 将取代 Automator 的消息(毫无疑问,这就是将会发生的事情)不仅重要,因为 macOS 拥有一个用于用户自动化的闪亮新工具。这也是苹果重视的一个重要迹象。在过去的几年里,Mac 应用程序开发人员很难感觉到向他们的应用程序添加自动化功能有任何意义。但现在我们得到了答案:捷径已经到来,苹果将花费几年时间过渡到一个新世界。
从今年秋天开始,您将开始看到 Mac 开发人员添加对快捷方式的支持。与 iOS 上一样,应用程序会将操作”捐赠”到快捷方式应用程序中。您使用的应用程序的功能会累积到快捷方式中。在某些情况下,这些操作将打开应用程序并使其执行任务。在其他情况下,它甚至可能不需要明显地打开应用程序,但可以将其部分功能应用于任何需要解决的问题。
“快捷方式”应用程序在 iOS 上首次亮相并大受欢迎。
苹果
快捷方式获得 Unix 能力
Mac 上的快捷方式还超越了 iOS 和 iPadOS 上的功能,能够直接连接到 Unix 脚本和 shell 支持,但有一个很大的问题。 Apple 承诺不再将常见的 Unix 脚本系统包含在 macOS 中。在 macOS Monterey 中,PHP 已经离开,Perl 和 Python 是较旧的版本,很快就会被删除。
这在某种程度上来说没什么大不了的:您仍然可以在 macOS 上安装最新版本的 PHP、Perl 和 Python。 (我使用 Homebrew 来执行此操作。)另一方面,如果您正在构建依赖于其中一种脚本语言的自动化,则需要将它们安装在任何您想要自动化的 Mac。
其他脚本语言怎么样?
这给我们带来了一个更大的问题:数十年来在 Mac 上保持应用程序间通信活跃的 AppleScript 和 Apple Events 技术会发生什么变化? iOS 没有类似 Apple Events 的功能。无论您相信与否,来回传递 URL 已成为标准的通信方法。但苹果最近通过 Siri Intents 等功能进行了现代化改造。
事实是,iOS 上的大多数自动化都是使用不同应用程序的小片段构建工作流程。这是用户自动化故事的重要组成部分,但另一部分是通过脚本深度控制强大应用程序的能力。在 iOS 上,具有这种控制级别的应用程序倾向于使用基于 JavaScript 或 Python 的自行实现的宏引擎。也许最好的例子是 Omni Group 丰富的基于 JavaScript 的自动化,可让脚本控制 iPad、iPhone 或 Mac 上的 Omni 应用程序。
每个应用程序都实现自己的脚本或宏语言,这并不是一条前进的道路。这就是苹果需要作为平台所有者介入的地方,并为每个人、开发者和用户等创建一个共同的参考框架。
AppleScript 的日子已经屈指可数了。
苹果
macOS 上脚本编写的未来
在长达数年的过渡期结束时会发生什么?最简单的猜测是,诞生于 20 世纪 90 年代初的 AppleScript 最终将被淘汰。
什么将取代它更多是一个悬而未决的问题。快捷方式本身并不是万能的:它只是不是一个适合应用程序精确远程控制水平的工具。此外,您在快捷方式中放入的操作越多,它就会变得越复杂,并且超过某个点后,它可能应该写成脚本,而不是组装在简化的界面中。 (见证Jellycuts,这是一种旨在制作快捷方式的脚本语言!)
我更喜欢一个可以让脚本编写者选择他们想要使用的语言的系统。 (没有人谈论过它,但苹果公司不久前添加了 JavaScript 作为 AppleScript 的对等体,用于 Mac 上的脚本编写。)不过,更有可能的是,苹果公司将选择一种官方脚本语言。也许它会是 JavaScript,因为它无处不在,而且 Apple 以前也曾出现过。或者也许这将是显而易见的:Swift 的简化版本。
也许,只是也许,Apple 会一次性构建这个自动化系统,并将其不仅部署在 Mac 上,还会部署在 iPhone 和 iPad 上。
这是一件很难的事。这就是为什么苹果如此明确地称这是一个多年的过渡。 Mac 上的快捷方式将是伟大的第一步,但在下一代 Mac 用户自动化准备好减轻上一代的负担之前,还有很多工作要做。这可能需要数年时间,但未来是光明的。