Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

AppleScript Studioの歴史

Posted on 5月 13, 2020 by Takaaki Naganoya

2002年に発表されたAppleScript Studioは、MacのGUIアプリケーションをXcode(当時はProject Builder+Interface Builder)上でAppleScriptを記述することで開発できるようにするという、画期的な存在でした。Classic MacOS上でApple純正のGUIベースのAppleScriptアプリケーション開発環境が用意されてこなかった状況と比べると大きな進歩といえました。

ただ、AppleScript Studioについては、当初は大規模なプログラム開発のノウハウが蓄積されておらず、いろいろ苦労させられました(プログラムを1行足すと構文確認できなくなる/動かなくなるなど、いろいろ神経がすり減る苦労を)。

のちに、AppleScriptの分割化や、分割したScriptを読み込んだScript Objectのメモリ上からのパージを明示的に行うことで安定性を格段に向上させるというノウハウが編み出され、Mac OS X 10.5の時代にはかなり安定してユーティリティ的なGUIアプリケーションを手軽に開発できていました。

AppleScript Studioは、旧NeXT系のProject Builder+Interface Builder(現・Xcode)にFaceSpan互換のAppleScript用語辞書を用意したものだと分析しています。

FaceSpan自体が1994年のAppleScript登場に合わせてリリースされているため、おそらくApple側からの技術支援があったものと想像していますが、関係者に確認したわけではないので正確な話はわかりません。

2008年ごろにLate Night SoftwareがFaceSpanを買収し、自社製品としてリリースするという動きがありました。当時、AppleScript Studioに対して「Xcodeの一部の機能しか利用できないのに、マスターするのにXcodeの機能の多くを知る必要がある。関係のない機能だらけの開発環境を使うのが苦痛」といった否定的な意見がユーザーの間にあり、それを汲み取ったものと見ています。

ここで、AppleがAppleScript Studioを廃止するという動きはキャッチできなかったのでしょう。もし、AppleScript Studioがもう少し継続されていたら、AppleScript Studioと文法的にほとんど同じ互換環境で、かつXcodeを使わずにGUIアプリケーションが作れる状況が作り出せたのでしょう(安定性がイマイチでしたが悪くない印象でした)。

AppleScript Studioについては、macOS最新バージョンであるmacOS 10.15においても、

tell application "System Events"
	set sRes to system info
end tell

とすると、返ってくる情報の中に「AppleScript Studio version:”1.5.3″」とあり、AppleScript Studioで作られたアプリケーションであっても64bitバイナリであれば実行できます。これは主にAutomator Actionのサポートのために残されている機能だと思っています。

# macOS 11.0でも「AppleScript Studio version:”1.5.3″」が返ってきます(Intel Mac)

現在のXcode上でGUIアプリケーションを作成するAppleScriptObjCとAppleScript Studioを比べてみると、双方ともに長所・短所があります。ドキュメントと最低限度のサンプルコードが用意されており、デバッグが(10.5上では)まともに動作していたという点ではAppleScript Studioも悪くなかったと思います。

その反面、箱庭環境が箱庭すぎて、Mac OS X側にあらたなGUI部品が追加されてもサポートされず、AppleScript Studioで作るアプリケーションの「見た目」がけっこう残念になってしまうという欠点もありました。


▲いかにもAppleScript Studioで作成したツール。みすぼらしくはないものの、派手さは一切ない。当然のことながらDarkMode非対応

当初サポートされていなかった機能が追加されたという話も聞きません(Xcode 2.5から3.2.6までAppleScript用語辞書の内容にほぼ変更なし)。さらに、AppleScript Studioランタイムの癖が強くて、通常のAppleScriptとは挙動が大幅に違う(class ofでクラスを求められないとか、Finder上のselectionを取得できないとか)といった難点も解消されませんでした。


▲AppleScriptObjCによるアプリケーション例(Kamenoko)。Toolbarを導入しており、Dark Modeに対応している

AppleScriptObjCについては、ドキュメント類はどうせ今のAppleには作れないので期待できませんが、エディタ上での構文色分けのサポートと、デバッグ機能がないのはきつい感じがします。アプリケーション開発時、デバッグ機能が弱い(logコマンドで出力するとか、ファイル書き出しして分析するしかない)というのは割と困りものです。

More from my site

  • 2D List中の特定アイテムが指定リストに入っていたら抽出2D List中の特定アイテムが指定リストに入っていたら抽出
  • PDFViewでcustom URL protocolのリンクを含むPDFのリンクが途切れるバグが修正されるPDFViewでcustom URL protocolのリンクを含むPDFのリンクが途切れるバグが修正される
  • (GET)駅すぱあとAPIで駅コードから駅名称を取得(GET)駅すぱあとAPIで駅コードから駅名称を取得
  • 各TTSの名前とバージョン情報を取得各TTSの名前とバージョン情報を取得
  • Metadata Lib v2.0の命令をひととおりチェックMetadata Lib v2.0の命令をひととおりチェック
  • AppleScript+Cocoa本などの企画が始動AppleScript+Cocoa本などの企画が始動
(Visited 420 times, 1 visits today)
Posted in History | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 13, Ventura(継続更新)
  • アラートダイアログ上にWebViewで3Dコンテンツを表示(WebGL+three.js)v3
  • UI Browserがgithub上でソース公開され、オープンソースに
  • Xcode 14.2でAppleScript App Templateを復活させる
  • macOS 13 TTS Voice環境に変更
  • 2022年に書いた価値あるAppleScript
  • ChatGPTで文章のベクトル化(Embedding)
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • 従来と異なるmacOS 13の性格?
  • 新発売:CotEditor Scripting Book with AppleScript
  • macOS 13対応アップデート:AppleScript実践的テクニック集(1)GUI Scripting
  • AS関連データの取り扱いを容易にする(はずの)privateDataTypeLib
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題
  • macOS 13でNSNotFoundバグふたたび
  • ChatGPTでchatに対する応答文を取得
  • 新発売:iWork Scripting Book with AppleScript
  • Finderの隠し命令openVirtualLocationが発見される
  • macOS 13.1アップデートでスクリプトエディタの挙動がようやくまともに
  • あのコン過去ログビューワー(暫定版)

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1390) 10.14savvy (586) 10.15savvy (434) 11.0savvy (277) 12.0savvy (185) 13.0savvy (55) CotEditor (60) Finder (47) iTunes (19) Keynote (98) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (41) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (117) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (56) Pages (37) Safari (41) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKUserScriptInjectionTimeAtDocumentEnd (18) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC