2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プラグイン依存の「モヤモヤ」と、僕がJSテンプレートを作り始めた理由

Last updated at Posted at 2025-11-17

kintoneには、いろいろなプラグインがありますよね。
僕も普段からお世話になっていますし、自分自身でもたくさんプラグインを作ってきました。

  • クリックだけで設定できる
  • ノーコードで扱える
  • 作業者でも運用できる

やはり便利です。

ただ、長くkintoneに触れていると
「プラグインが増えるほど、なんとなく不安になる瞬間」
ってありませんか?

今日は、そのモヤモヤの正体と、
そこから僕が“JSテンプレート”に取り組み始めた理由を書いてみたいと思います。

プラグインは便利。でも「中身」を見る方法がない

プラグインは設定画面がとても分かりやすく、
現場の方でも安心して使えるのが魅力です。

一方で、こういう場面がよくあります。

  • 「このフィールド削除してもいいですか?」
  • 「このグループ名変えますね」
  • 「サブテーブルを移動したいのですが…」

そのたびに、この変更でどのプラグインが影響を受けるんだろう?
と、一瞬だけ考えませんか?
(僕は毎回ひやっとします…)

なぜなら、プラグインの設定はプラグインの中にあり、
外から一覧できる仕組みがないからです。

GUIの裏にあるロジックを
“画面を開かないと見えない”構造になっているわけです。

もちろん、これは悪いことではなく
「ノーコードで扱える」ことと引き換えの特徴でもあります。

JSは可視化できる。でも毎回ゼロから書くのは大変

一方、JavaScriptカスタマイズは透明です。

  • コードとして取得できる
  • 履歴が残せる
  • フィールド依存箇所を検索できる

変更に強いし、メンテナンスも容易です。

ただし、こちらは逆に
「ゼロから書く負担が大きい」という問題があります。

僕も何度も、「この処理、何度目だろう…」
と思いながら同じコードを書いていました。

プラグインとJSの“間”にあったら嬉しいもの

そんな経験が続くうちに、次第にこう思うようになりました。

プラグインほど閉じていなくて、
JSほどゼロから書かなくて済む、
その中間にある仕組みが欲しい。

  • GUIのように導入しやすく
  • JSのように構造が見える
  • テンプレートとしてすぐ使える
  • 履歴も残せる

そんな“第三の選択肢”がほしい。

そこで作ったのが Toolkit の JSテンプレートシリーズ

そうした試行錯誤の中で生まれたのが、
kintone App Toolkit の JSテンプレートシリーズ です。

  • よく使う処理をテンプレート化
  • コードは最小限で読みやすい
  • カスタマイズしやすい構成
  • GitHubで変更履歴も管理できる
  • Toolkit から呼び出すだけですぐ使える

まさに「プラグイン」と「JSカスタマイズ」の“間”をつなぐような存在です。

プラグインを否定したいわけじゃない

むしろ、プラグインはkintoneの魅力のひとつですし、
僕自身もプラグイン開発が大好きです。

ただ、プラグインが増えるほど
「どこで何が使われているか」を見失いやすいのは事実です。

そこで“可視化できる形での再利用”を目指した結果、
テンプレートというスタイルにたどり着きました。

JSテンプレートを作ったら、「もう一つ必要なもの」が見えてきた話

JSテンプレートシリーズを作り始めた理由は、
前半で書いたとおり「プラグインとJSのいいとこ取りをしたかったから」なのですが、
作って使っていく中で、もう一つ気づいたことがあります。

JSテンプレートを入れると、運用が一気に“健全”になる

テンプレート化すると:

  • コードが綺麗にまとまる
  • 機能が一瞬で導入できる
  • 修正しやすい
  • GitHubで履歴が残る
  • 現場が楽になる

すごくいいんです。

ただ、テンプレートが増えていくと、次第にこう思うようになりました。
「どのフィールドコードをどこで使っているのか、すぐ分かる仕組みも欲しいな…」

テンプレートは透明ですが、
“透明なもの同士の依存関係” を追いかけるのはやっぱり手間です。

特に、

  • 大きめのアプリ
  • JSファイル数が多い現場
  • 誰かがちょっとフィールド変更する未来
    こういう状況が当たり前のように発生します。

テンプレート化しても、結局最終的には

「このフィールド、本当に消して大丈夫???」

という確認が必要になるんですよね。

そこで "さらに” 作ったのが Field Scanner です

JSテンプレートだけでは不十分で、
「依存しているフィールドが一瞬で分かるツール」 が必要になる。

その“補完”として、自然に生まれたのが
Toolkit の Field Scanner(フィールドスキャナー) です。

テンプレートが“再利用の仕組み”だとしたら、
Field Scanner は“安全運用の仕組み”。

この2つはセットでこそ、最大の力を発揮するように感じています。

Field Scanner は「JSテンプレートを使う未来」を守るツール

新機能の Field Scanner は、
JSテンプレートと非常に相性が良い仕組みになっています。

▼ Field Scanner ができること

カスタマイズ JS/CSS の中で
「フィールドコードがどこで使われているか」を一括解析します。

操作はこんな感じでシンプルです:

  • Target(desktop / mobile)を選ぶ
  • Kinds(JS / CSS)を選ぶ
  • Scan をクリックする

結果は、次の形式で出力できます。

  • MD Copy(Markdown)
  • MD DL
  • CSV DL
  • JSON DL

現場でよくある “仕様書づくりの時間” や
“フィールド削除前の安全チェック” にとても役立ちます。

JSテンプレ × Field Scanner で「見える開発」を目指す

僕が思っているのは、
テンプレートもフィールドスキャナーも、“答え”というより習慣の道具
ということです。

  • プラグインは便利
    • でも設定が見えない
  • JSは見える
    • でもゼロから書くのは負担

そこでテンプレを用意して、
運用のために Field Scanner もセットで作る。

この流れのほうが、長期的に使う上で
“現場が迷子にならない” と感じています。

まとめ:テンプレ+Field Scannerで、もっと安全なkintone開発へ

JSテンプレートシリーズが 「再利用しやすい設計」 を提供するなら、
Field Scanner は 「依存関係の見える化」 を支えてくれる存在です。

  • プラグイン
  • JSテンプレ
  • Field Scanner

この3つがそろうことで、
「人に優しくて、構造がクリアなkintone開発」が実現できると感じています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?