Webフロントエンド設計ガイドライン
Web Frontend Design Guidelines
昨今のWebフロントエンド領域は、単なるHTML、CSS、JavaScriptでのページ制作から、React、Vue.jsなどのモダンなフレームワークを活用した大規模かつ動的なWebアプリケーションの構築へと変化している。これにより、開発の効率化とユーザー体験(UX)が向上する一方で、設計の考慮点も多様化している。また、セキュリティ、アクセシビリティなどより多面的な品質も求められている。本ガイドラインでは、Webフロントエンド設計における考慮点・設計パターン・推奨手法を提示し、開発チームが設計方針を決めるための土台を提供する。
免責事項
本ガイドラインは、Webフロントエンドの開発者・アーキテクトを対象とする。
以下の項目は解説しない。
本ガイドラインの適用範囲は、ブラウザ上で動作するWebフロントエンドを対象とし、バックエンド(サーバーサイド)は対象外とする。また、一般的にフロントエンド領域に含まれることもある以下の領域も対象外とする。
また、本ガイドラインは基本的に、業務アプリケーションの開発 を想定して作成している。例えば大規模なtoC向けサービスと比較して、以下のような特性を持つことが多い点を考慮しているためである。
なお、ホスティング方式など、インフラ構成に関する記述はAWSを前提とする。
| 用語 | 説明 |
|---|---|
| toB | 企業向けのサービスの意味 |
| toC | 一般消費者向けのサービスの意味 |
| Webフロントエンド | ブラウザ上で動作するWebアプリケーションでユーザーが操作するUI部分のこと |
| 静的ファイル | ブラウザで表示するために必要なHTML、CSS、JavaScript、画像、動画などのファイル |
| SPA | Single-page applicationの略。はウェブアプリの実装方法の一種で、単一のウェブ文書のみを読み込み、別の内容を表する際には フェッチなどの JavaScript API を通じて本文の内容を更新するもの |
| OSS | オープンソースソフトウェア |
| B/Gデプロイ | Blue/Greenデプロイメントの略。システムのダウンタイムを最小限に抑えてリリースするデプロイ手法のこと。本番環境(Blue環境)とは別に、新しいバージョン(Green環境)を構築し、ロードバランサーなどでトラフィックを切り替えることで、新旧の環境を同時に稼働させ、切り替え後の動作確認やロールバックを容易に行うことといったこと指す |
| LB | Load Balancerとは、トラフィックを複数のサーバに分散するミドルウェアのこと |
| FaaS | Function as a Service の略。イベントに応じてコードを実行できるサーバーレスアーキテクチャのこと。AWS Lambdaが有名 |
大まかに以下の1~8の流れで構成されている。
このアーキテクチャガイドラインの作成には多くの方々にご協力いただいた。心より感謝申し上げる。