AppleScriptObjCとは?

Macでいろいろとやっていて、何とかもっと楽をしようとおもう時にはAppleScriptで簡単なプログラムを作って、「ここはMacさん頑張ってね!!」にしてしまうのが楽だったりする。

そのためにはユーティリティーに入っている、AppleScript エディタ を起動していろいろと書く訳ですが、インターネット上にはこの辺りの情報は豊富ですし、ちょっと古くなってきていますが書籍等もあり初めての人でも試してみると何かしら作れたりします。

プログラム本の最初に出てくる『Hello World』を表示するものなら、AppleScript エディタを起動して下の1行をコピーペーストで実行するだけです。

display dialog "Hello World!"

ネット上にはAppleScriptで検索すると、非常に丁寧にまとめていただいているサイトが沢山ありますので、そちらで勉強してみてください。


で、いろいろと作っていると、何工程もYesだNoだとボタンをクリックするのは面倒なのでそれ用のウィンドウを作りたいななどと、インターフェースをいじくりたくなってきたりします。

今まで(OSX 10.5.X)はそういう場合、XCodeのAppleScriptStudioというフレームワークを使って作成していました。これはこれで結構面倒だったりしたのですが、少なくともAppleScriptの作法のまま使えたのと書籍があったのでちゃんと書籍を買ってまじめにお勉強をするとなんとかいろいろと作れるようになっていました。

ところがところがOSX 10.6 になってAppleScriptStudioがなくなり、これからはAppleScriptObjCというフレームワークを使ってねという事になりました。

ところがところこのAppleScriptObjCは文字数ならAppleScriptが長いのだけど、お作法としてはかなりObjective-Cによってます。

なのでどうもAppleScriptの知識だけでの独習では分からない事が多すぎます。

Appleからは『AppleScriptObjC Release Notes』にリリースノートは載ってます。しかし全て英語です。『mytrans マニュアル等の個人的な翻訳』さんが『AppleScriptObjCリリースノート』の翻訳を載せてくれています。しかしこれを読んでAppleScriptができれば直ぐにAppleScriptObjCに移行できるかというとそう簡単には行きません。

私もまぁそのうち何処かから書籍が出るだろうと高をくくっておりました。ところが2009年8月28日販売のMac OS X 10.6 Snow Leopardからもうじき4年が経とういうこの時期、もう10.9の発表があったこの時期になってもまだAppleScriptObjCの日本語の書籍は出版されていないようです。それどころかAmazon.comでAppleScriptで検索してもAppleScript関連でヒットするのは2010年のものが最後という・・・


何ともお寒いAppleScriptObjCの状況。AppleはAppleJapanは・・・。

ちょっと処理ならAppleScriptで問題ないし、UIをちゃんと作ろうと思えばそもそもObjective-Cにいってしまうという事なのでしょうか?。


『AppleScriptObjC Explored』

そんな中で唯一AppleScriptObjCに関して詳解してくれているのがhttp://www.macosxautomation.com/』さんの『AppleScriptObjC Explored』というPDFの書籍になります。

AppleScriptObjCExplored

現在はバージョンが4となり、Mountain Lion をベースにしたものにバージョンアップされている。

回し者という訳ではないけれど、これがなかったらAppleScriptObjCのアプリは作れなかったな、と素直に思う。というのもそれが仕様であるのバグであるのかとにかくAppleScriptのつもりで何かしようと思うと、いろいろな所で躓くことになります。でネットで調べてみるのだけど分からないという事が多々。そんな時にこのPDF内で検索すると、それらしいコードにヒットして、やってみるとうまく行く、という感じ。チャプタごとのサンプルソースもあるので、一通り実行してみると関連しそうなものを作る時には参考になりますし。私は今子供とNHKの基礎英語の1を聞いていて、そのテキストに出てくる単語がわからなかったりする程度の英語力だったりするのですが、まぁExciteやGoogleさんの翻訳サイトの力を借りて、なんとか読めました。AppleScriptObjCで何かを作ろうという人は取りあえず買っておいて損は無いと思います。

購入はここから出来ます。 $29.95 USD


内容が、という人の為に目次だけを引用させていただきます。

Introduction
Acknowledgements
Chapter 1: Begin Here
What you need to get started
Chapter 2: Some Basics
Terms and concepts you should understand
Chapter 3: Making Progress
Welcome to the world of non-modal dialogs
Animating your progress bars
Chapter 4: A Simple Table
Choose from list gets a minor makeover
Chapter 5: Extra Columns
Display more data in tables
Chapter 6: Making it Editable
Add data entry to tables
Chapter 7: A Class of Our Own
Give tables a calculated column
Chapter 8: Drag and Drop
How to replace the open handler
Chapter 9: Life After Idle
How to replace the idle handler, and using timers
Chapter 10: Images and Paths
Deal with images, and with open and save panels
Loading images from the application bundle
Chapter 11: Windows and Panels
open, close, and resize windows, panels and drawers
Chapter 12: Swapping Views
Swap and resize windows’ content views
Chapter 13: Progress Revisited
Keeping the Ui responsive, and adding a Cancel button
Chapter 14: Menus and Comboboxes
Populate menus, make them trigger actions
Chapter 15: Dealing With Dates
Convert between AppleScript dates and Cocoa dates
Chapter 16: Adding Objective-C Code
expand your toolbox even further
Chapter 17: Save and Open Panels
Show them modally and as sheets, and with extra content
Chapter 18: Alerts and Custom Sheets
Add polish to your interface, the easy way
Chapter 19: Notifications
Be first to know when something happens
Chapter 20: Saving Preferences
Use defaults to store your settings
Chapter 21: Doing Text in Style
Add color and style to your words
Chapter 22: Doing it With Documents
Build document-based applications
Chapter 23: Browsing with WebKit
Build a browser and add a toolbar
Reference Section
Xcode Basics
Come to grips with your new programming home
Interface Builder Basics
Where a picture saves a thousand lines
Versions and Snapshots
Keep track of your changes
Customizing Xcode Templates
Set them up your way
Calling Cocoa Methods
it all comes down to this
Passing Arguments
What Cocoa expects from you
What Methods Return
What you can expect from Cocoa
What Methods Can Return
Get more than one result from a Cocoa call
Handlers as Methods
Call handlers from different scripts
Instantiating Script Objects
Make objects you can connect to
Delegate Objects
Spread the workload with helpers
Others’ Properties
Get and set properties of other objects
Your Own Properties
Change your properties in a Cocoa-friendly manner
Cocoa Bindings
Meet a scripter’s new best friend
Referring to Objects
Make outlets in interface Builder
The Right Connections
Make sure you connect to the right objects
Stuff You Can’t Do
Know your limitations
AppleScriptObjC Gotchas I
Some things you will need to do differently
AppleScriptObjC Gotchas II
More changes you will need to make
Sender, Self and Super
Three terms you will see a lot of
Text, Lists and Records
Stuff you can do with the common classes
Other Useful Classes
other Cocoa classes that come in handy
Types, Not Classes
They may look like classes, but they behave like records
Sorting in Tables
How to make tables sort how you want them to
From Shell Script to Task
run shell scripts as tasks instead.....
Memory Management
Why you don’t have to put out the garbage
Trouble-Shooting Tips
What to look out for
Resources
Where to find out more
Appendix A: Showing Sheets
Sheets done the hard way
Index
Look it up here

これはV2の目次になりますが、全体で180ページほど。なかなか充実した内容かと思います。

何処かの出版者さん、翻訳版を出版しては頂けませんでしょうか?。


追記:20130627 『AppleScriptObjC Explored4』のChapter 3の内容に関して2013/06/24にムービーが公開されたようです。

『A video log walking thru chapter 3 of Shane Stanley's outstanding book on giving AppleScripts a professional Xcode interface.』

大筋の操作行程が見えるので、英語を読みながら操作を確認するのに役立つかと思います。


追記:20130627 もう一本、2013/06/05に公開された大変為になりそうな『Giving your AppleScripts a Face Lift with AppleScriptObjC』というムービーがありました。この方はアップルの方なのでしょうか?。何処かでの講演の内容のようですが1時間14分にわたってXcode4でのAppleScriptObjCでのプロジェクトの作成の模様が収まっています。英語がよく分からない私にも大変ためになりました。

なにやら立て続けのムービーのリリース。何かAppleScriptObjCに関して状況が好転してきたのでしょうか?。


『AppleScriptObjC Explorer』

http://www.macosxautomation.com/』さんのところにはもう一つ『AppleScriptObjC Explorer』というのがのっています。こちらはスクリプトエディタのようにAppleScriptを書く為のアプリケーションです。とはいってもどうやらAppleScriptObjCのコードのデバッグも出来るようです。あると便利かもしれません。・・・まだ使った事が無いのですが。

AppleScriptObjC Explorer

その他の参考になるサイト

いろいろと検索し直してみたのですが、初めてAppleScriptObjCでAppleScriptを書こうとする人、AppleScriptではいろいろと作っているけどAppleScriptObjCは試してみてない、というひとの為に順を追って説明しているサイトというのはあまり無いようですね。

やっとそれっぽい所がhttp://macscripter.net/』のところにあったので以下のリンクだけ。

その他にもAppleScriptObjC in Xcodeにはいろいろと参考になる事が書かれているような気がします。


日本語では、『ぴよまる』さんの所にAppleScriptObjCに関するいろいろな情報が掲載されていますので参考になる事もおおいでしょう。

あとは『ASH Planning』さんの『AppleScriptObjC 覚書』にはいろいろと示唆に富む内容が一覧という形で載っています。また『Making Application using ASOC』では具体的にコードを載せながら詳解してくれています。初めて読んだ時にはよく分からない事も多かったのですが、自分で手を動かした後に読むと、なるほどと思える事も多く、自分の理解の進捗をはかる目安とさせていただいています。皆さんも一度目を通されることをお勧めします。


それでもAppleScriptStudio

消え行く(既に消えた?)AppleScriptStudioですのでもう思いきってAppleScriptObjCに移行した方がいいのですが、それでもという場合にはOSX10.6でXcode3.2.Xくらいまでだと思うのですが、AppleScriptStudioの環境を復活させる事が出来るとの記事がありました。『ぴよまる』さんの所の『Xcode 3.2.2+Snow LeopardでAppleScript Studio環境を復活させる』です。

基本的にはwww.devrandom.za.net』さんのところの『AppleScript-App-Templates-Xcode322.pkg』をインストールして、というものです。

AppleScriptObjCが出たての頃、全く分からなかったので暫くこの環境でものを作ったりしていましたが、基本的には問題なく作れていました。まぁ取りあえず、ということで。


XCode4.6

OS X も10.8からもう少しで10.9になろうとする時期。XCodeも最初に弄っていたのが3.2の頃で今は4.6。勿論いろいろと修正されてバグが減り内容が充実してきているのだろうからそれはありがたいのだが。その反面、XCodeが日本語メニューでなくなってしまったり(AppleScriptStudioの時にも最初は日本語メニューだったのに途中で英語になってしまったことがあったけど)、インターフェースが随分変わってしまったりといろいろとあったりする。ドキュメントが少ないのでそれだけでも結構ストレスになる。まぁ今はiOSが大盛況なので、XCode本はいっぱいあるからXCodeの機能を追うには困らないのかもしれないが、AppleScriptの視線からはなんだかどんどん見えにくくなっているようでなんだか淋しい。

使っている人が少なくなると情報が少なくなるという状況なので、少しでも初めての人の為になるように、なんとか少しでも情報を上げて行きたいと思う。

続くといいのだけれど・・・。

投票数:345 平均点:10.00
カテゴリートップ
AppleScriptObjC
次
ASOCでアプリケーションを作ってみる-01-Xcode3.2

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

ライブラリ