それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Javascrript for OSX Automation アドベントカレンダー

JavaScript for OSX Automation が出来るようになりました。

WindowにCOMがあってJScrptからアクセスできたようにOSXも遂にJavaScriptでアクセスできるようになりました。

AppleScriptで出来たことは殆ど、JavaScriptで出来るようになってテンションが上ります。

ちょうど、一年前の今頃、AppleScriptアドベントカレンダーを書こうとして挫折したので、今回はJavaScriptアドベントカレンダーを書こうと思います。

メニュー:アドベントカレンダー一覧

12 /1:Hello World (JavaScript for Application )

12 /2:メッセージ.app でメッセージの送信

12 /3:Safariの自動操縦

12 /4:Safariのページロードを待つ

12 /5:SafariのDOMにアクセスする

まだです

12 /6:[シェルスクリプトを実行する

12 /7:インタラクティブシェル

12 /8:リマインダにアクセスする

12 /9:キーボードイベントの送信(Safariでプライベートタブを開く

12 /10:itunesで再生・停止

iTunesで再生・停止 ( JavaScript for OSX ) - それマグで!

12 /11:itunesで☆をつける

iTunesのお気に入りに☆をつける - それマグで!

12 /12:Scriptの再利用(Scripti Libraries) - それマグで!

takuya-1st.hatenablog.jp

12 /13:iPhoto で写真を扱う - GPS

iPhoto で写真を扱う - GPS情報を取り出す - それマグで!

12 /14:iPhotoで写真を扱う - 顔

iPhotoで写真を扱う - 顔検出された写真を扱う→出来ない→出来る - それマグで!

12 /15:Evernoteにアクセスする- アカウント

Evernote を自動化する 1 - アカウント - それマグで!

12 /16:Evernoteにアクセス - ノート一覧

Evernoteの自動化2 - ノート一覧 - それマグで!

12 /17:Evernoteにアクセス - ノート作成

Evernoteにアクセス - ノート作成 JavaScript for OSX Automation - それマグで!

12 /18:メール(Mail.app)

http://takuya-1st.hatenablog.jp/まだです

12 /19:連絡先(Contacts.app)

連絡先(Contacts.app)-- JS for OSX Automation - それマグで!

12 /20:イベントで実行

http://takuya-1st.hatenablog.jp/まだです

12 /21:UIElementsをたどる

http://takuya-1st.hatenablog.jp/まだです

12 /22:C言語のstdlibを使う

takuya-1st.hatenablog.jp

12 /23:Twitter.app

http://takuya-1st.hatenablog.jp/まだです

12 /24:エラー処理

http://takuya-1st.hatenablog.jp/まだです

12 /25:その他の実行方法(app/services/automator)

http://takuya-1st.hatenablog.jp/まだです

以上のメニューで書いていこうと思います。

調べながらとかもあるので、投稿が送れるかもしれないです。

動くと思ってたものが動かなかったりすることもあるので、その時は投稿メニューを変えると思うので、ごめんなさい。

前提知識

JavaScriptを知っている!。JSは常識なので大丈夫ですね

必要なもの OSX 10.10.1 Yosemite

yosemite

使うもの Script Editor.app

スクリプトの実行環境はおもにスクリプトエディタを想定します。

01

あと、シェルも使います。

自動化するアプリは、OSXに標準バンドルされているもの、無償で入手可能なのもに限ろうとおもいます。

AppleScript知らなくても大丈夫。

だってJSだもの。

JavaScriptOSXを自動化するとMacと仲良く慣れる(気がする

Macを使っていて、もうすこし、こうだったら、、、もう少しデータを簡単にアプリ間で受け渡せないかな。

こういうかゆいところに手が届くのがautomationです。

私は、Automationを使うとMacと仲良く慣れた気がします。

なので、みなさんがもっとMac OSXと仲良く慣れるように頑張って書いてこうと思います。

Qiitaにもアドベントカレンダーの一覧があります。

ブログだとまとめるのが面倒なので、Qiitaにもカレンダー形式で作っておきました。

JavaScript for OSX Automation AppleScriptの代替をJavaScriptでやるサンプル Advent Calendar 2014 - Qiita

参考資料

WWDC2014のセッションのPDF資料が分かりやすいです。

https://developer.apple.com/videos/wwdc/2014/

スクリーンショット 2014-12-09 2.37.57

PDFがかなり分かりやすいです。

スクリーンショット 2014-12-09 2.42.33

Github にもサンプルがあって分かりやすいです

Home · dtinth/JXA-Cookbook Wiki · GitHub

ちなみにWindowsではJScriptかな

WindowsJScript 関連はコレ

Amazon.co.jp: WSHクイックリファレンス 第2版: 羽山 博: 本

http://takuya-1st.hatenablog.jp/entry/20110306/1299392486

http://takuya-1st.hatenablog.jp/entry/20071014/1192291647

JScriptでレジストリを操作する方法まとめ。 - それマグで!

http://takuya-1st.hatenablog.jp/entry/20090413/1239596361