Mac 上的自动化正在经历一场变革。Mac 比以往任何时候都更像是 Apple 的强力工具。今天运行 Apple 的 Mac 可以使用完整的 macOS 应用程序库,以及通过 Catalyst 来自 iOS 的应用程序或直接从 App Store 未经修改的应用程序。然后是所有的一切,从应用程序脚本到各种基于 Unix 的工具。
但随着苹果的转移以及苹果公司在 6 月份宣布快捷方式将作为多年自动化过渡的一部分进入 Mac,事情正在发生变化。虽然 Mac 不会停止作为一种电动工具,但未来几年将在一些基本方面改变其性质。
快捷方式取代了 Automator
Shortcuts 即将取代 Automator 的消息(毫无疑问,这就是会发生的事情)不仅重要,因为 macOS 有一个用于用户自动化的闪亮新工具。这也是苹果关注的一个重要信号。在过去的几年里,Mac 应用程序开发人员很难觉得在他们的应用程序中添加自动化功能有任何意义。但现在我们有了答案:快捷方式就在这里,而 Apple 将花费数年时间过渡到一个新世界。
从今年秋天开始,您将开始看到 Mac 开发人员添加对快捷方式的支持。与 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 的自实现宏引擎。也许最好的例子是The Omni Group 丰富的基于 JavaScript 的自动化,它允许脚本控制 iPad、iPhone 或 Mac 上的 Omni 应用程序。
每个实现自己的脚本或宏语言的应用程序都不是前进的道路。这就是 Apple 需要作为平台所有者介入并为所有人、开发人员和用户等创建一个共同参考框架的地方。
macOS 上脚本的未来
在这个长达数年的过渡期结束时会发生什么?最简单的猜测是,可追溯到 1990 年代初期的 AppleScript 最终将被放牧。
什么将取代它更像是一个悬而未决的问题。快捷方式不能成为最终目的,不能完全独立:它只是不适合应用程序的精确远程控制级别的工具。此外,您在快捷方式中放置的操作越多,它就会变得越复杂超过某个点,它可能应该作为脚本编写,而不是在简化的界面中组装。(见证Jellycuts,这是一种旨在制作快捷方式的脚本语言!)
我更喜欢让脚本编写者选择他们想要使用的语言的系统。(没有人谈论过它,但不久前,Apple 添加了 JavaScript 作为 AppleScript 的同行,用于在 Mac 上编写脚本。)不过,更有可能的是,Apple 将选择一种官方脚本语言。也许它会是 JavaScript,因为它无处不在,而且 Apple 之前也曾出现过。或者它可能是显而易见的:Swift 的简化版本。
也许,只是也许,Apple 会构建这个自动化系统一次,并不仅在 Mac 上部署它,而且在 iPhone 和 iPad 上也部署它。
这是艰难的事情。这就是为什么苹果如此明确地将其称为多年过渡的原因。Mac 上的快捷方式将是一个伟大的第一步,但在下一代 Mac 用户自动化准备好减轻上一代的负担之前,还有很多工作要做。这可能需要数年时间,但未来是光明的。