プラグインが動作するしくみ
kintone のプラグインは、見た目には簡単に導入・利用できますが、実際にはどのように動作しているのかを知っておくと、トラブルの回避や活用の幅が広がります。
この投稿では、プラグインの基本的な動作のしくみについて紹介します。
■ プラグインはブラウザーで動作する
kintone のプラグインは、ユーザーが利用している ブラウザー上で動作します。
サーバー側で処理しているのではなく、あくまで 表示されたアプリの画面に対して、JavaScript や CSS を使って動作を追加しているというのが基本的なしくみです。
■ JavaScript + CSS の組み合わせで機能を実現
プラグインの本体は、主に以下で構成されています:
- JavaScript:画面の操作・制御を行う
- CSS:画面の見た目を調整する
たとえば、ボタンの追加や入力補助、計算処理などは JavaScript によって動作しています。
■ プラグイン同士が競合する場合もある
複数のプラグインを同じアプリに導入した場合、次のような問題が起こることがあります:
- 同じイベント(例:レコード保存前)を複数のプラグインが使っている
- JavaScript のエラーにより、他のプラグインが動作しなくなる
- 表示要素の重なりやスタイルの衝突
そのため、プラグイン同士の相性にも注意が必要です。
■ 対応環境に違いがある
プラグインによっては、次のような制限があります:
- PC版では動作するが、モバイル版では動作しない
- レコード一覧画面のみ対応、詳細画面では非対応 など
なお、kintone モバイルアプリもブラウザー動作がベースですが、PCと利用できるAPIイベントが異なるため、モバイル対応していないプラグインは動作しません。
■ 自動処理(CSV取り込みやREST API)では動作しない
以下のような、ユーザーのブラウザーを介さない操作では、プラグインは動作しません:
- CSV インポート/エクスポート
- REST API によるレコードの追加・更新
- その他、ユーザーが画面を操作しないバックグラウンド処理
kintone に 自動でスクリプトを動かす仕組み(例:スケジュール起動)のような機能はありません。
そのため、画面を表示したタイミングでしか動作しないという点に注意が必要です。
■ まとめ
| 特性 | 説明 |
|---|---|
| 実行場所 | ブラウザー(ユーザー側) |
| 主な構成 | JavaScript + CSS |
| 競合の可能性 | 同一イベントやDOM操作が重なると不具合が出ることも |
| 動作環境の違い | プラグインによってPC/モバイル対応が異なる(モバイルはブラウザーだがAPIに差異あり) |
| 非対応の処理 | CSV取込/REST API/自動処理では動作しない |
ご質問や補足情報があれば、ぜひコメントでお知らせください。
他のプラグインのしくみやトラブル時の調査方法なども、今後紹介予定です。