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 プラグインを使用して開発してみてください。

information

この Tips は、2018 年 11 月版 kintone で動作を確認しています。