LoginSignup
31
10

More than 5 years have passed since last update.

Max8が出たのでNode for Maxを試してみた

Posted at

はじめに

ここにNode for Maxのサンプルプロジェクトがいくつか置いてあるので参考になりそう。

天気API叩いてみた

使うやつ

天気になんの恨みもないが、手頃なAPI、それはお前だ!!
OpenWeatherMap

確認できたこと

  • npmを使ってパッケージを入れられる(axios)
  • APIのキーを.envに秘匿できる
  • Maxから引数を受け取り、JSONなどのデータをMaxに返すことができる
  • async/awaitを使って非同期処理を綺麗に書ける
  • ファイルを分割してlibを作っても、ちゃんとrequireで相対パスから読み込むことができる

スクショ

Sep-26-2018 08-29-22.gif
Maxパッチの中からAPI叩けた!

ソースコード

github

(おまけ)そもそもNode本体はどこにあるの

デバッグツールのスタッツを見ると、どうやらMaxアプリの中にnodeとnpmのバイナリが入っているらしい。

Screenshot 2018-09-26 04.43.53.png

なので、実行環境を自分のPCに用意しなくてもOK。

で、実行中のプロセスを調べたらこんな感じで、
ps.png

/Applications/Max.app/Contents/Resources/C74/packages/Node For Max/source/lib/nsRunner.js
これがエントリポイントになっているようで、
Maxのスクリプトの中で

require('max-api');

なんの断りもなく(パッケージを解決することなく)こんな風にMaxAPIが呼べるのは、このnsRunner.jsの中で呼ばれている`nsProcessShell.js`あたりで実行前にラッピングされているからっぽいです。

むすび

楽しいですね!!

31
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
10