【要約】kintone.app.getFormFields()を使って、フィールドコードのハードコーディングをなくそう [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
kintoneのカスタマイズ開発者が、フィールドコードを直接コード内に記述する「ハードコーディング」により、運用上の課題に直面している。アプリの構成変更がコードの修正を強いる構造が、保守性を低下させている。
- ・アプリのフィールド追加や名称変更のたびに、コードの書き換えと再デプロイが必要になる。
- ・従来のREST APIによる取得は、1日のAPIリクエスト上限を消費してしまう。
- ・APIリクエストの組み立てが必要で、実装の記述量が増大する。
// Approach
開発者は、2025年7月にアップデートされた
kintone.app.getFormFields() を採用することで、動的なフィールド取得を実現する。- ・JavaScript APIを用いて、現在開いているアプリのフィールド情報を一括取得する。
- ・取得したオブジェクトから、
typeやlabelを条件に、必要なフィールドを動的に抽出する。 - ・抽出した
codeやunitを利用して、UI要素(ドロップダウン等)を自動生成する。
// Result
この手法の導入により、開発者はメンテナンスコストの削減とリソースの最適化を同時に達成できる。
- ・アプリのフィールド構成変更に対し、コードの修正なしで自動的に追従できる。
- ・JavaScript APIの使用により、APIリクエスト数を消費せずに情報を取得できる。
- ・サーバー通信を介さないため、REST API利用時よりも高速な動作が可能になる。
Senior Engineer Insight
> 保守性の観点から、本APIの活用は極めて合理的だ。フィールドコードのハードコーディングは、技術負債の典型的な原因となる。本APIにより、アプリ設定とコードの疎結合化が容易になる。ただし、取得できるプロパティがREST APIより限定的である点には注意が必要だ。複雑な設定取得にはREST APIを、現在のアプリに対する動的なUI制御にはJavaScript APIを使い分ける設計判断が求められる。