はじめに
Chromebookって便利ですよね?ただ痒いところに手が届かないことも多々あり、解決すべくツールを作ろうと思い立ちました。
どのアーキテクチャ、フレームワークが向いてる?
Linuxが動いたりAndroidアプリが使えたり、Chrome OSネイティブアプリの存在感が皆無だったりしたのでざっくり纏めてみました。
###Chrome App
- JavaScript向けのChrome APIsを使って、manifestを定義すればChromeアプリが作れる。APIの使い方はsampleを見るのがよい。
- Windows、Mac、Linux向けが途絶えたりしてChrome OS向けだけ残った状況。
- Native Clientという低レイヤー用のSDKもあるようだ。
- Chrome Browser内で閉じられる場合はこれ。
- Chrome AppではなくPWAがメインストリームなのでしょうか。ファイル操作とかのAPIが使えないのでツール開発には向かなそう。
###Android App
- Chrome OSをサポートしたAndroidアプリもChrome OSアプリというようだが、さくっと作れるものではない。
Linux上で動かす
- ツールを動かすためにCrostiniを有効にはしたくない。立ち上がるの遅いし、メモリ食うし。
Flutterアプリ
- Flutter SDKはChromebookもサポートしてるけど、ツールを作るのにここまでしたくない。
結論
現状(バージョン: 79)でtabletで動かすケースではChrome Appがベターですかね。
ファイル操作だけ出来ればいいならNative File System使うのがいいかも。
ハローワールド
- Chrome browserを開いて、拡張機能のデベロッパーモードを有効にする。
- samplesから参考になりそうなのを見つけて、「パッケージ化されていない拡張機能を読み込む」で開く。
- アプリのアイコンがメニュー登録されているので、実行する。
- デバッグは拡張機能の一覧からアプリの「ビューを検証」のバックグラウンドページ、index.htmlをクリックしてChrome DevToolsを開く。
- 修正したら拡張機能の一覧からアプリをリロードしてデバッグする。