フロントエンド(Frontend)

フロントエンドは、利用者の端末で情報を提示し、入力を受け取り、バックエンドや外部サービスと連携して利用者価値を実現するソフトウェアの部分です。画面の見た目だけでなく、状態管理、通信、性能、アクセシビリティ、セキュリティ、配布と更新までを含めて設計します。

設計の中心

  • 利用者が達成したいタスクと、途中状態・失敗状態を明示する。
  • URL、履歴、フォーム、キャッシュ、通信中、再試行、オフラインなどの状態を設計する。
  • UIの責務とドメイン・データ取得の責務を分離し、変更理由の異なるコードを同じコンポーネントへ詰め込まない。
  • キーボード操作、読み上げ、色や動きへの依存、画面幅や入力方式の違いを最初から扱う。
  • 表示速度だけでなく、利用者が操作可能になるまでの時間、遅い通信、失敗時の理解可能性を評価する。

技術選択を比較する

SPA、サーバーサイドレンダリング、静的生成、ネイティブアプリ、クロスプラットフォームのどれが常に優れているわけではありません。SEO、初期表示、対話性、更新頻度、端末能力、チームの技能、運用コスト、アクセシビリティ要件を比較し、必要な複雑性だけを採用します。

検証

ユニットテストだけでは、画面遷移、通信失敗、実機差、支援技術、入力方式を十分に検証できません。コンポーネント・統合・E2Eテスト、ブラウザと実機での確認、性能計測、手動アクセシビリティ評価をリスクに応じて組み合わせます。

関連ページ