kintone プラグイン開発入門【Part1:メリット編】
はじめに
kintone上でAPIを使用して開発する際、カスタマイズではなくkintoneプラグインを使ったことがありますか?
たしかにkintoneプラグインはマニフェストファイルの作成、CSSなどのデザイン面の実装などをする必要がありますが、それ以上に大きなメリットがあります。
今回の記事では、kintoneプラグイン開発が、カスタマイズと比べてどういった違い、メリットがあるのかを中心に紹介していきます。
本記事を読むことで、今後開発する際に、カスタマイズ、プラグインどちらで設計すべきかの判断をする上での手助けにもなるかと思います。
kintone プラグインのメリット
では具体的に、プラグイン開発にはどういったメリットがあるのかを、事例も交えながらいくつか紹介したいと思います。
メリット 1:JavaScript / CSS ファイルを一括適用できる
カスタマイズだとJavaScriptファイル、CSSファイルなどをモバイル用と分けたりしながらひとつずつアップロードしていく必要があります。
しかし、kintoneプラグインだとプラグイン用のzipファイルにまとめて一括してアップロード、適用できます。
このように、プラグインの場合、各アプリから適用したいプラグインを選択するだけで、プラグインが使用可能になります。
しかしカスタマイズの場合、カスタマイズ用に作成したCSS、JavaScriptファイルを何度もアップロードするなどの手間が発生します。
なので、他のアプリへの汎用性がある開発をする場合にはプラグイン開発をおすすめします。
メリット 2:設定画面での設計変更
kintoneプラグインの場合、設定画面の作成ができるので、簡単な設計の変更でしたら容易にできます。
なので、複数アプリ、もしくは複数ドメインで使うような汎用性の高いカスタマイズを実装する場合にとても便利です。
今回はcybozu developer networkで公開されているサンプルプラグイン「
文字結合プラグイン」を参考にして、プラグインの設定画面での設計変更のメリットを紹介していきます。
文字結合プラグインは、文字列フィールドの自動計算機能などの、通常の連結機能では連結できないラジオボタンやルックアップなども結合できるプラグインです。
このプラグインの設定画面では、連結したいフィールドや表示するフィールドを指定するだけで設定を変更できます。
これをkintoneカスタマイズで行いたい場合、その都度変えたいフィールドのコードを直接改変する必要があります。
変更に時間とコストがかかる上、変更できるユーザーはエンジニアだけに限られてしまいます。
しかしプラグインの場合、設定画面を用意しておけば、GUIで各プラグインの仕様変更が可能なため、非エンジニアのユーザーでも仕様の変更などが可能になります。
なので、細かい仕様の変更が何度も起こると予想される場合やエンジニア以外のユーザーでも仕様変更などを可能にしたい場合などもプラグインを使用した方がよいかもしれません。
メリット 3:複数アプリに一括適用&バージョンアップも一括
「
メリット 1:JavaScript / CSS ファイルを一括適用できる」でお伝えしたように、今作っているカスタマイズなどを複数アプリで適用したい場合には、kintoneプラグイン開発は有用です。
それ以外にも、プラグインにはバージョンアップも一括でできるというメリットがあります。
たとえば、カスタマイズで不具合が生じた、機能を追加したいとなった場合、適用している各アプリに対して更新していく必要があります。
kintoneプラグインの場合は、一括で不具合の修正などが可能なため、バージョンアップが容易にできるという大きなメリットがあります。
メリット 4:重要な情報の隠匿
GoogleやAWSなど、さまざまな外部サービスとkintoneAPIを組み合わせてカスタマイズすることはよくありますが、kintoneカスタマイズで外部サービスと連携してしまうのは実は危険です。
なぜなら、そのサービスを利用する際に取得してきたAPIトークンなどの重要な情報が、ブラウザーで簡単に確認できてしまうからです。
このようにGoogle ChromeのDeveloperコンソールなどを使用すれば、kintone上で簡単に今実行されているコードの中身を見ることができてしまいます。
しかし、kintoneプラグインの場合、外部APIの実行に必要なAPIキーなどの重要な情報を、次のkintoneプラグインJavaScript APIを使用することでkintoneサーバー上に保存できます。
外部 API の実行に必要な情報をプラグインへ保存する
次のような場合にはプラグインを検討してみてはいかがでしょうか?
- 外部サービスと連携したい。
- 他人に見せるべきではない重要な情報を取り扱ったりする。
また、kintoneプラグイン開発については、次の記事で続編としてより具体的に紹介しているので、よければ確認してください。
おわりに
以上がプラグインを使うことによるメリットです。
このようにkintoneプラグインには、カスタマイズでは実現できないような機能を備えています。
ぜひ一度kintoneプラグインを使用して開発してみてください。
このTipsは、2018年11月版kintoneで動作を確認しています。