Mac OS Siri が MCP を受け入れる世界線はあるのかしら?
ChatGPT くんによる AppleScript と JXA による macOS 自動化の歴史についてのまとめ
AppleScriptとJXA:誕生から現在までのMac自動化の歴史
AppleScriptの誕生 (1980年代〜1990年代)
1980年代後半、Apple社内ではHyperCardのスクリプト言語「HyperTalk」をMac全体の標準スクリプト言語にする案が検討されていました 。しかし、どんなアプリケーションでも操作できるより汎用的でオブジェクト指向なスクリプト言語が望まれたため、これを目指した研究プロジェクトからAppleScriptが誕生します 。
AppleScriptは1993年10月にSystem 7.1.1(System 7 Pro)の一部として正式リリースされました 。英語の文法に似た親しみやすい記法でMac上のアプリを自動操作できるこの言語は、当初から出版業界で大いに活用されます。たとえばDTPソフトのQuarkXPress 3.2がいち早くAppleScriptに対応し、複雑な編集工程の自動化に貢献しました 。こうした採用に支えられ、AppleScriptはMacの強力な自動化ツールとして広く定着していきます。
Mac OS X時代におけるAppleScriptの発展 (2000年代)
1990年代末から2000年代初頭にかけて、Appleが従来のClassic Mac OSから次世代のMac OS Xへ移行する中で、AppleScriptの将来が一時不透明になったこともありました 。しかし結果的にAppleScriptはMac OS Xにも統合され、むしろ一段と強化されます。2001年以降のOS XではCocoaフレームワークを通じてアプリ側が容易にAppleScript対応(スクリプト用語辞書の提供など)できるようになり、スクリプトで操作可能なアプリの幅が大きく広がりました 。さらにUnixベースとなったOS Xでは、AppleScriptからdo shell scriptコマンドで直接シェルコマンドを実行することも可能となり、システム全体の制御力も向上しました 。
AppleScript自体の機能拡張も進みます。2002年リリースの Mac OS X 10.2 (Jaguar) では「AppleScript Studio」が追加され、AppleScriptスクリプトに簡易GUIを組み合わせて独自のアプリケーションを構築できるようになりました 。続いて2009年の Mac OS X 10.6 (Snow Leopard) では「AppleScriptObjC」フレームワークが導入され、AppleScriptから直接Cocoaのクラスやメソッドを呼び出せるようになります 。これによりAppleScriptで本格的なMacアプリ開発や高度な処理も行えるようになりました。こうした進化を背景に、AppleScriptは長年にわたりMacユーザの生産性向上に寄与してきました。実際2006年にはMacworld誌の「Appleの最も重要な製品30選」で第17位に選出されるなど、その存在は高く評価され続けています 。
JavaScript for Automation (JXA)の登場 (2010年代)
2014年、OS X 10.10 YosemiteでAppleScriptに加えて新たなMac自動化環境「JavaScript for Automation」(略称 JXA) が発表されました。これは文字通りJavaScriptを使ってMacの自動化が行える仕組みで、AppleScriptと同じOpen Scripting Architecture (OSA) 上にJavaScriptエンジン(JavaScriptCore)を載せた実装になっています 。そのため基本的な動作原理や、アプリをAppleイベントで操作する仕組み自体はAppleScriptと共通です。加えてJXAではObjective-Cブリッジ機能が提供されており、JavaScriptからCocoaフレームワークの機能を直接呼び出して操作することも可能です 。これはつまり、従来AppleScript+AppleScriptObjCで行っていたような高度な処理を、JavaScriptベースでも実現できることを意味します。
YosemiteではAppleScriptエディタが元の名前「Script Editor」に戻され、JXA用のJavaScriptスクリプトも編集・実行できるように改良されました 。AppleはJXAをAppleScriptと並列に利用可能な新しい選択肢として位置づけており、Script Editor上ではAppleScriptとJavaScriptを切り替えてスクリプトを書くことができます 。当時の開発者向けドキュメントでも「OS X Yosemiteではアプリケーションスクリプト環境に人気のJavaScriptが追加された。JXAはJavaScriptCoreによる標準JavaScript環境を拡張し、システム内のすべてのスクリプト対応アプリをJavaScriptで操作できるようにする」と説明されています 。その名のとおりJXAスクリプトはAppleScriptと同様にosascriptコマンドやスクリプトメニュー、Automatorの「JavaScriptを実行」アクションなどあらゆる方法で実行可能であり、まさにAppleScriptの兄弟言語として登場したのです 。
一般的なプログラミング言語であるJavaScriptを採用したJXAの登場は、多くの開発者に歓迎されました。英語風の独自文法を持つAppleScriptと比べ、「JavaScriptならより取っつきやすい」「Web検索すればJavaScriptの情報は豊富に見つかる」といった声もあり、Apple自身もより幅広いユーザにMac自動化を活用してもらう狙いがあったと言われています 。とはいえ、JXAはあくまでAppleScriptを完全に置き換えるものではなく、あくまで“別の選択肢”として提供されました。実際「AppleScriptの歴史が長すぎるためJXAが完全に取って代わることはないだろう」と当初から指摘する声もありました 。AppleScriptで培われた膨大な既存スクリプト資産やユーザコミュニティを考えれば、JXAリリース後も当面はAppleScriptと両立する形で進めるのは当然の戦略と言えます。Script Editorで両言語をサポートした点にも、その並存方針が表れています。
AppleScriptとJXAの共存と現在 (2010年代後半〜2020年代)
JXAリリース後も、AppleScriptとJXAはmacOS上で並行して共存する状態が続きました。想定どおりAppleScriptからJXAに乗り換える開発者も一部に現れましたが、全体として見るとJXAの普及は緩やかなものでした。2017年時点で「期待したほどJXAのコード例が増えなかった」「JXAはアプリとのやり取りの部分がどこか不自然だ」といった指摘もあり 、AppleScriptの置き換えとまでは至っていないのが実情でした。一方AppleScriptは従来どおり多くのMacユーザに使われ続け、企業のワークフローやパワーユーザのカスタマイズ用途で引き続き活躍します。AppleScriptとJXAはいずれもmacOS標準のスクリプト言語として存在し、それぞれ馴染みのユーザ層に支えられて緩やかな住み分けが生まれていきました。
2016年にはMac自動化界隈に衝撃的なニュースが走りました。長年AppleでAppleScriptやAutomatorなど自動化技術を率いてきたSal Soghoian氏の担当ポストが「ビジネス上の理由」で突然廃止され、同氏がAppleを去ったのです 。Appleのプロユーザ達からは「AppleScriptはじめ自動化技術の将来は大丈夫か?」と不安の声が上がりましたが、これに対し当時のソフトウェア担当上級副社長Craig Federighi氏はメールで「macOSの素晴らしい自動化技術を今後もサポートし続ける意図がある!」と表明し、引き続き継続する方針を強調しました 。しかし、その後の推移を見るとAppleの自動化チーム縮小は事実上の方向転換だったとも言えます。実際2018年のmacOS 10.14 Mojaveリリース時には、Appleの開発者向け公式ドキュメントにおいてAppleScriptとJXAの解説が「レガシー(廃止予定)」扱いのセクションへひっそり移動されており、Appleがこれら従来技術を将来的な戦略の中心には据えていないことが伺われました 。
そうした中でも、AppleScriptおよびJXA自体はmacOSからすぐに無くなることはなく、既存ユーザによる利用が続きました。2021年、AppleはついにiOS由来の新しい自動化環境である「ショートカット (Shortcuts)」アプリをmacOS 12 Montereyに導入し、これを「Macにおける自動化の未来」と位置づけました 。ショートカットはブロックベースで自動処理フローを構築できる直感的なツールで、Appleは今後数年かけてShortcutsに移行する方針を示しています 。この発表ではAutomatorワークフローの移行支援について触れられ、Automatorの当面のサポート継続は明言されたものの、AppleScriptやJXAに直接言及することはありませんでした 。とはいえ、AppleScriptに関しては現時点でもMac上で廃止されることなく利用可能です。Apple自身も公式には「将来的にAppleScriptを廃止する」とは表明しておらず、実際Pixelmator ProのようにAppleScriptスクリプト経由で機能拡張を行っているサードパーティ製品も存在するため、AppleScriptが突然使えなくなる可能性は低いと見られています 。JXAについても同様にシステム内に残されていますが、AppleScript以上に開発者向け情報が少ないこともあり現在ではニッチな存在となっています。
2020年代半ばの現在、Macのエンドユーザ向け自動化環境は世代交代期にあります。30年以上の歴史を持つAppleScriptはレガシーではありつつも依然として根強くサポートされ、JXAも「知る人ぞ知る」存在ながら利用は可能です。一方でAppleはショートカットを全プラットフォーム共通の新たな自動化基盤として押し出しており、今後はより多くのユーザに自動化を浸透させようとしています。AppleScriptとJXAが歩んできた歴史は、Macがプロユーザや開発者に与えるパワーと柔軟性を象徴するものです。そのスピリットはショートカットなど新しい形に姿を変えつつ、これからも引き継がれていくでしょう。  
Apple-MCP でSiriを置き換えれるねと言っている人もいる
Apple Script は生き残ってはいるものの、Apple Intelligence や Siri ではショートカットやApp IntentsなるAPI(なのかなんなのか)で統合開発していくっぽいから、Apple-MCP が今後どうなっていくかは注意が必要そう。
Siriショートカットを呼び出す試みはあるみたいね
Siri ショートカットのCLIがあるの初めて知ったw