はじめに
いつからか、kintoneの開発中の新機能として「プラグインの新しい開発方式」が追加されています。
実運用に乗ってくるのがいつかは完全に不明ですが、(パートナー企業等には、もしかしたら告知等あるのかもしれませんが)乗り遅れないように触ってみようと思います。
0. 「プラグインの新しい開発方式」とは
従来のプラグインだと、プラグインの処理もkintone本体と同じ環境上で動作していたものを、プラグインごとにiframe上で動作させることで、独立した環境を持たせることができるようです。
以下のようなメリットが挙げられています。
参考:プラグインの新しい開発方式
・プラグインの実行環境分離により、他プラグインやカスタマイズJSの影響を受けなくなり、安定して動作するプラグインの開発・提供が可能
・プラグインの利用者が権限を確認できるので、より安全なプラグインの導入が可能
確かに、サードパーティ製のプラグインはコードが確認できないためセキュリティの不安点や、現状の処理との競合もあり、運用中のアプリに乗せることへの抵抗感もありましたので、良いことのように思えます。
1. サンプルプラグインで新しい開発方式を試す
下記ページを参考に実際に新しい開発方式でのプラグインを試してみました。
実施内容は、参考先に記載されておりますので、ここでは省略します。
参考:サンプルプラグインで新しい開発方式を試す
参考ページ内に、気になる一文がありました。
新しい開発方式のプラグインを適用したアプリでは、従来のプラグインは動作しません。また、新しい開発方式のプラグインをアプリに適用すると、 フロントエンド基盤の刷新 の取組の一環として、開発中の新しいレコード一覧画面に切り替わります。
同じアプリに、従来のプラグインとの併用ができないような記載に読めます。それだと、正直かなり不便だと思うので、以下のcybozuが公開しているサンプルプラグインを同じアプリに適用して確認してみました。
-
併用:自動採番プラグイン
レコード登録のタイミングで、自動採番を行うプラグイン。
動作を確認したが、問題なく自動採番が行われることを確認できました。 -
併用:いいねプラグイン
一覧画面で、レコードに対して「いいね」をつけられるようになるプラグイン。
動作を確認したが、一覧画面での「いいね」機能がなくなっていました。
原因が、- 上記引用の「新しい開発方式のプラグインを適用したアプリでは、従来のプラグインは動作しません。」というのが理由なのか、
- 新しい開発方式のサンプルプラグインを適用すると、一覧画面のデザインが変わったので、それが影響しているのか
は分からないので、実際に、新しい開発方式でサンプルプラグインを作成し、挙動の調査を行います。
2.新しい開発方式でプラグインを作成する
下記ページを参考に実際に新しい開発方式でのプラグイン作成を試してみました。
参考:新しい開発方式でプラグインを作成する
細かいmanifest.jsonの設定が、既存のプラグインの作成方法とは異なるくらいだったため、今までプラグインを作成したことがあれば、すんなり作成できると思います。
今までの参考ページや、リファレンスを確認していたところ、
- 一覧画面にiframeが追加されそこに独立した環境の画面が作れる
- 通常のJSや今までのプラグインのように、kintoneイベントに対して処理を追加するようなことはできないのかな?
という印象だったため、既存のプラグインの用途とは大きく異なるものになると思います。
また、1. サンプルプラグインで新しい開発方式を試すで気になった、「従来のプラグインとの併用ができない」という内容だが、おそらくは一覧画面のDOMが大きく変わっていたため、一覧画面に関するものは併用ができないということかと思います。(予想の範疇を出ないが、、、)
まとめ
kintoneの「プラグインの新しい開発方式」を触ってみたが、まだ少し早かったかなという印象です。
参考ページにも、
このページで説明している新方式は開発検討中の実験的な機能です。随時、機能の追加を予定しています。また今後、大きな仕様変更や機能自体を削除する可能性もあります。
と書かれていますので、もう少し確度の高そうなアナウンスがcybozuから出てから触ってみるので良いかと思います。
また、新しいプラグインを適応した際の一覧画面のUIが大きく異なる点を見ると、ずっと言われている「kintoneはUIがいまいち、、」という点を直そうとしていると思うので、そこは期待しつつ、ただ、サードパーティのプラグインが増えすぎていて、そこへの影響を考慮しつつと、なかなか動きにくそうだなと思いつつ、今後のkintoneの進展に期待し締めさせていただきます。