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コマンドで出力するとか、ファイル書き出しして分析するしかない)というのは割と困りものです。

(Visited 377 times, 1 visits today)

More from my site

  • 指定の画像からEXIFの撮影日付(DateTimeOriginal)を取得 v2指定の画像からEXIFの撮影日付(DateTimeOriginal)を取得 v2
  • ASOCでNSPredicateによる正規表現を併用した抽出ASOCでNSPredicateによる正規表現を併用した抽出
  • クリップボードに入ったproperty宣言部分を見た目の描画サイズ(幅)と文字コードでソートクリップボードに入ったproperty宣言部分を見た目の描画サイズ(幅)と文字コードでソート
  • 指定した文字で囲まれたキーワードの色を置換する指定した文字で囲まれたキーワードの色を置換する
  • New Blog ArchivesNew Blog Archives
  • (GET)Yahoo! 逆住所ジオコーダAPIを呼び出す(GET)Yahoo! 逆住所ジオコーダAPIを呼び出す
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上でソース公開され、オープンソースに
  • Safariで表示中のYouTubeムービーのサムネイル画像を取得
  • 人類史上初、魔導書の観点から書かれたAppleScript入門書「7つの宝珠」シリーズ開始?!
  • macOS 12.5(21G72)がリリースされた!
  • macOS 13 TTS Voice環境に変更
  • 2022年に書いた価値あるAppleScript
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • Pages v12に謎のバグ。書類上に11枚しか画像を配置できない→解決
  • Xcode 14.2でAppleScript App Templateを復活させる
  • Dockに登録されている項目の情報を取得する
  • macOS 13 beta 3
  • 従来と異なるmacOS 13の性格?
  • 新発売:CotEditor Scripting Book with AppleScript
  • 新発売:AppleScript基礎テクニック集(11)AppleScriptアプレットとドロップレット
  • macOS 12.5RC(21G69)、一定以上の長さのapplescript:// URL…
  • OpenAIで文章のベクトル化(Embedding)
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1390) 10.14savvy (586) 10.15savvy (434) 11.0savvy (276) 12.0savvy (178) 13.0savvy (38) 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
  • 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年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