はじめに
前回の記事で、普通のNode.jsアプリケーション開発とほぼ変わらない感覚で開発ができることがわかったので、もっと色々試してみました。
やってみたリスト
- UIなど
- Electron
- React
- Material UI
- 開発環境など
- Webpack
- Babel
- その他
- Socket.io
つくったもの
この動画で紹介されてるパッチをほぼそのまま引っ張ってきて、それを動かすコントローラー的なElectronアプリを作ってみました。
ソースコード
そもそもの仕組みのおさらい
開発のtipsいろいろ
Max上で動かすときはMaxの中にNodeが入っているので、nodeやnpmがインストールされてなくても問題はありませんが、開発時は手元で動かせるように入れておいた方が良いと思います。(もちろんバージョンは揃えて)
基本的には、普通のNode.jsを書いている感覚で開発してコマンドラインで動作確認などをして大丈夫ですが、max-api
を使う部分については、MaxでNodeを起動した時でないとモジュールが解決できないので、その部分はwebpackなどのバンドル対象から外した方が吉かと思います。
で、だから何なの?っていうハナシ
ここから下は、完全なるチラ裏です(飛ばしてOK)
今までMaxって、ふつうのエンジニアからしたら結構ハードル高いイメージあったと思うんですよね。
何かプロダクトとか作品作るにしても、特にチームで制作とかしてると、Maxという語彙のない人にとっては学習コストが高く協業しづらいと思ってました。
今回のリリースでNode for Maxが切り開いてくれた道は一介のWebエンジニアにとって、
- 「え?普通にサーバー書いてて良いの?」
- 「gitでバージョン管理できるの?」(.maxpatをgitで管理した時のひどさ)
- 「Maxのことほとんど勉強しないまま、Maxエンジニアとコラボできるの?」
みたいな驚きと共に敷居をぐっと下げてくれた気がします。
だから、これからはハッカソンに行っても、
堂々と**「Maxでやりましょうよ」**とか
**「それ、Maxですぐできますよ」**って言っていいと思うんです!!
Maxがマジでイケてる環境になって、これから色んなイノベーションが沢山出てきそうですね!!!
ここから上は、完全に個人の意見です
おまけ(参考程度)
Node for Maxとは
Max上でNode.jsのプロセスを立ち上げ、Maxパッチ <=> Node.jsプロセス間で通信するAPIを提供してくれてます。
Maxには元々jsオブジェクトがあるので、とても紛らわしいのですが、新しく導入されたnodeオブジェクトはこれとは全く別の物です。
この動画が導入用にわかりやすいかもしれません。
Electronとは
デスクトップアプリを作れるNode.jsのフレームワークです。
中身は、ChromiumというGoogle Chromeを動かしているエンジンなので、普通のWebで使うようなhtml, css, javascriptといった資産は全て使うことができ、なおかつ裏側はNode.jsが走っているので、パソコン内のファイルシステムにアクセスできたり、とにかくイイトコどりのイカした環境です。