導入指標
本節では、省力化コンポーネントの導入を検討する際の指標となる情報を提供します。
まず、読者の皆さんが開発する予定のシステムには、次に示す 8 つの特徴のうちどの画面に該当するものが多いでしょうか。 これらの項目を確認することで、省力化コンポーネントの導入が効果的かどうかを判断できます。
★ 効果の高い画面の特徴
- 入力系の画面項目が多い
- クライアントサイドバリデーションを実施する
- ボタン押下時のイベント処理が多い
- 入力項目の並びがシンプル
★ 効果の出にくい画面の特徴
- 入力系の画面項目が動的に増減する
- 参照系の画面項目が多い
- ボタン押下時以外のイベント処理が多い
- 1 つの画面項目に対してデザインが複数ある
効果の高い画面の特徴が多く当てはまる場合、省力化コンポーネントの導入効果は高いと言えます。前節で示した省力化コン ポーネントの特徴により、コードの量を大幅に削減しつつ、開発効率を向上させることができます。
一方で、効果の出にくい画面の特徴の項目が多く当てはまる場合、省力化コンポーネントの導入効果は得られにくいかもしれません。省力化コンポーネントの持つ特徴を活かせない、もしくは適用させるためにライブラリの拡張が必要になるケースがあります。
UI コンポーネントライブラリとして、Ant Design、Material UI、React Bootstrapのいずれかを使う場合、省力化コンポーネントが標準で部品を提供しているためすぐに導入できます。
導入効果が高い画面の特徴
省力化コンポーネントの導入効果が高い画面の特徴については以下の通りです。
入力系の画面項目が多い
- 入力項目の定義が 1-2 行で書けるため、少ないコード量で画面を実装できます。
クライアントサイドバリデーションを実施する
- バリデーションの定義が簡潔に書けるため、少ないコード量でクライアントサイドバリデーションを実装できます。
ボタン押下時のイベント処理が多い
- 高機能なボタンに必要なパラメータを渡すだけで、API 呼び出しやバリデーション処理を実施できます。
入力項目の並びがシンプル
- 省力化コンポーネントが提供する自動レイアウト機能を使うことで、ほぼノンプログラミングで項目を配置できます。
バックオフィス系のシステムは、前述の 4 つの条件に当てはまる画面が多いため導入効果が高い傾向にあります。
プロジェクトへの導入方法については導入ガイドを参照してください。
導入効果が得られにくい画面の特徴
省力化コンポーネントの導入効果が得られにくい画面の特徴については以下の通りです。
入力系の画面項目が動的に増減する
この特徴に当てはまる場合、省力化コンポーネントと組み合わせた実装が困難または複雑になり得るため導入をお勧めしません。
画面項目が動的に増減するとは、ユーザーの操作や入力内容によって、入力項目が増えたり減ったりすることを指します。
省力化コンポーネントではカスタムフックを使用して入力項目を作成しています。そのため、条件によって動的に項目数を増減させるといった操作を行うことが難しくなります。
参照系の画面項目が多い
この特徴に当てはまる場合、省力化コンポーネントの導入によるコード削減の効果はあまり期待できません。
省力化コンポーネントは、入力フィールドやイベントハンドリングの実装時にコードの重複を減らす目的で開発されました。そのため、図表や画像、読み取り項目といった参照系の要素が多く含まれる画面においては、省力化コンポーネントによるコード削減の効果は限定的になります。