フロントエンドアーキテクチャ

フロントエンドアーキテクチャ概要 ― ユーザーに届く唯一の層 ― 生成AI時代のアーキテクチャ超入門

フロントエンドアーキテクチャ概要 ― ユーザーに届く唯一の層 ― 生成AI時代のアーキテクチャ超入門

本記事について

当サイトを閲覧いただきありがとうございます。 本記事はシリーズ『生成AI時代のアーキテクチャ超入門』の「フロントエンドアーキテクチャ」カテゴリの入口として、この領域全体を俯瞰する記事です。

フロントエンドは「ユーザーが触れる唯一の場所」バックエンドが完璧でもUIで躓けば「使われないシステム」になります。本記事では独立領域として扱う理由、レンダリング方式の分類、主要フレームワークの位置づけ、ページ種別×構成の段階表、AI時代の恩恵構造まで俯瞰します。

このカテゴリの全記事一覧・各記事で学べるポイントは以下のページにまとめています。

フロントエンドアーキテクチャ 記事一覧 ― 生成AI時代のアーキテクチャ超入門senkohome.com/arch-intro-index-frontend/

本記事のテーマについてさらに詳しく知りたい方は『システム設計のセオリーと実践方法がこれ1冊でしっかりわかる教科書』も参考にしてみてください。

そもそもフロントエンドアーキテクチャとは何か

フロントエンドアーキテクチャの節構成

お店の接客カウンターを想像してください。厨房(バックエンド)でどんなに素晴らしい料理を作っても、カウンターでの提供が遅い・メニューが読みにくい・注文方法がわからない──となれば、お客さんは二度と来ません

フロントエンドアーキテクチャは、ユーザーが直接触れる画面・操作・表示の設計全体を扱う領域です。レンダリング方式・フレームワーク選定・状態管理・CSS設計・ホスティングなど、ユーザー体験を左右する技術判断を体系化します。

もしフロントエンドアーキテクチャがなければ、バックエンドがどんなに完璧でも表示が遅い・操作しにくい・見た目がバラバラで、使われないシステムになります。

ユーザーに届く唯一のレイヤー

開発者はつい業務要件や非機能要件を満たすためにバックエンドの設計へ意識を向けがちですが、一般ユーザー向けのプロダクトでは「UI/UXの重要性は事業成果に直結するレベル」で大きくなります。フロントエンドを「見た目の領域」として軽視するのは、事業価値を軽視しているのと同じことです。

どれだけシステムが機能的でも、ユーザーに使われないシステムは存在しないのと同じです。

なぜ独立したアーキテクチャとして扱うか

① 技術スタックが独自進化している

フロントエンド専用のフレームワーク(React・Vue.js・Angular)・ビルドツール(Vite・Turbopack)・状態管理(Redux・Zustand)など、バックエンドとは「異なる技術文化」が形成されています。

② UX要件が機能要件と直交する

ページ表示速度(LCP、Largest Contentful Paint)・入力応答性(INP、Interaction to Next Paint)・レイアウトの安定性(CLS、Cumulative Layout Shift)など、UI特有の非機能要件はバックエンドからは見えません。

③ 変更頻度と影響範囲が異なる

ビジネスロジックよりもはるかに頻繁に変わり、小さな変更がユーザー体験に直撃します。

レンダリング方式の分類

レンダリング方式の分類

方式概要代表例
MPA(Multi Page App)画面遷移ごとにサーバーでHTML生成WordPress・Rails伝統
SPA(Single Page App)1つのHTMLにJSで画面を切り替えるReact CSR・Vue.js
SSRサーバー側で都度HTMLを生成Next.js・Nuxt.js
SSGビルド時にHTMLを生成Astro・Next.js Static
ISRSSRとSSGのハイブリッドNext.js

決めるべきこと — 自分のプロジェクトでの答えは?

以下の項目について、自分のプロジェクトの答えを1〜2文で言語化してみてください。曖昧なまま着手すると、必ず後から「なぜそう決めたんだっけ」が問われます。

レンダリング・技術スタック

項目選択肢の例
ホスティングCDN・エッジコンピューティング
画面表示とレンダリング方式MPA・SPA・SSR・CSR・SSG
状態管理Context・Redux・Zustand・Jotai
CSSCSS Modules・Tailwind・CSS-in-JS
フレームワークReact・Vue.js・Angular・Svelte
BFFGraphQL・REST・tRPC(TypeScriptでAPI型共有する仕組み)

ルーティング・認証・アクセシビリティ

項目選択肢の例
ルーティングファイルベース / 定義ベース
認証・認可基盤Cookie・LocalStorage・Refresh Token(再ログインせず新しいアクセストークンを取得するための長命トークン)
命名規則BEM(Block Element Modifier、CSSクラス命名規則)・kebab-case等
ディレクトリ構造feature-based / layer-based
URLパスREST的・階層・クエリ設計
アクセシビリティWCAG準拠・ARIA(Accessible Rich Internet Applications)

国際化・SEO・セキュリティ・パフォーマンス

項目選択肢の例
多言語対応(i18n)next-intl・react-i18next
サポート環境ブラウザ / OS / 画面サイズの範囲
SEOメタタグ・OGP(Open Graph Protocol)・構造化データ・sitemap
セキュリティCSP・XSS対策・CSRF対策
エラーハンドリングバリデーション・Error Boundary
パフォーマンスCore Web Vitals(LCP・INP・CLS)・画像最適化

主要フレームワークの位置づけ

FW強み向くケース
Reactエコシステム最大・求人最多中〜大規模WEBアプリ全般
Vue.js学習コストが低い・HTML寄り中小規模・段階導入
Angularフル機能・TypeScript標準大企業・堅牢性重視
Svelte軽量・ランタイムなしパフォーマンス重視・小規模
Next.jsReactベース・SSR/SSG対応SEO重視のWEBアプリ
Astroコンテンツ重視・高速SSGブログ・LP・ドキュメント

「モダンだから」で壊れた検索流入(業界事例)

あるメディアサイトのリニューアル案件で、「モダンだから」という理由だけで「全ページを React CSRSPA)で作り直し」、リリース後3ヶ月で検索流入が半分になった、という事例があります。原因はシンプルで、OGPとmetaタグがJS実行後にしかHTMLに入らず、検索クローラーとSNSシェアのクローラーが「空のHTMLを読んでしまっていた」からです。サムネイル画像も出ず、シェアされても誰もクリックしない、というのが被害の構造でした。

2017年頃、個人ブログを勢いでSPAにして半年後にGoogle Search Consoleを開いたら検索流入が目に見えて減っていて冷や汗をかいた、という体験談もよく聞きます。当時はAstroのようなSSGフレームワークがまだ成熟していなかった時期で、結局WordPressに戻した、というのがよくあるオチです。

技術選定は「流行っているから」「モダンだから」で決めると、後からUXと事業指標のダブルで殴られます。特にコンテンツ中心のサイト(ブログ・LP・メディア)をSPAで作るのは典型的な地雷で、SEOと初回表示が致命的に弱くなる。ページ単位で方式を使い分ける(記事はSSG、管理画面はSPA、など)のが現代の本命で、「全部SPA」「全部SSRも雑な選定の代表例です。

「モダン=正解」ではない。用途ごとに方式を選ぶのがフロントエンド設計の基本です。

ページ種別×構成の段階表

※ 2026年4月時点の業界相場値です。テクノロジー・人材市場の変化で陳腐化するため、定期的にアップデートが必要です。

フロントエンドは「1サイト=1方式」が破綻の元なので、「ページ種別で方式を使い分ける」のが定石です。

ページ種別レンダリング方式ホスティング状態管理Core Web Vitals
ブログ・ドキュメントSSG(Astro)Cloudflare PagesuseStateLCP < 2秒
LP・マーケティングSSGVercel / NetlifyuseStateLCP < 2.5秒
EC商品詳細ISR(60〜300秒)VercelZustand + TanStack QueryLCP < 2.5秒
SaaSダッシュボードCSRVercel / 自社CDNZustand + TanStack QueryINP < 200ms
ログイン必須の管理画面CSR自社CDNZustand + TanStack QueryINP < 200ms
ニュース・メディアISR + Streaming SSRVercelTanStack QueryLCP < 2.5秒

Core Web VitalsのGood圏内LCP < 2.5秒、INP < 200ms、CLS < 0.1)が Google SEO の判定基準です。「75%のページビューがGood圏内」にあるかが評価軸です。

「全ページSSR時限爆弾。Vercel関数実行枠を使い切る定番事故になります。Static First で設計します。

このカテゴリの知識構造

このカテゴリは全9記事で構成されています。土台から表層へ、そして横断テーマへと進む構造です。

**土台(グループ1)**はホスティング先 → レンダリング方式 → FW選定の順で決めます。CDNで配信するのかEdgeで動かすのかが決まると、使えるレンダリング方式が絞られ、FWの選択肢も自動的に狭まります。

**表層(グループ2)**では、FWが決まった上で状態管理とCSS設計を選びます。ReactならZustand、AstroならSSGベースで状態管理が最小化される、といった具合にFWと密結合しています。

**横断テーマ(グループ3)**のBFF・認証・SEOは、バックエンドやセキュリティといった他カテゴリとの接続面です。BFFはソフトウェアアーキテクチャのAPI設計、認証はセキュリティアーキテクチャの認証設計とそれぞれ対になっています。

やってはいけないこと

各論記事で触れた禁じ手のうち、フロントエンドアーキテクチャレベルで押さえるべき核心を整理します。

禁じ手なぜダメか
SEO必須サイトをCSRのみで構築JS実行が数日〜数週間遅延、検索流入壊滅
JWTをlocalStorageに保存XSS一撃で全員分漏洩の地雷、httpOnly Cookie 必須
素のReactでルーティング・SSR自作Next.js / Astro を使わない理由がない
Tailwindを設定なしで使うDesign Tokenが効かず、色・余白のブレ
画像を元サイズで配信LCP悪化の定番、Next/Imageで自動変換
CSS-in-JSをRSC環境で新規採用styled-componentsは2024年メンテ入り
フロントで user.role === 'admin' だけで認可F12で書き換え可能、サーバ側認可必須
同じ事実を2箇所に持つ(items と itemCount)片方が必ず嘘になる、派生状態は計算
フォームを10個超useStateReact Hook Form で解決
WCAG 2.2 AA を目視だけでチェックaxe-core + LighthouseをCIに組込
「どのFWでも同じ」と思い込む思想が違い生産性が数倍変わる。チームスキルと用途で選定
CSSを後回しにするクラス名衝突・スタイル重複で改修コスト爆発。最初から設計

フロントエンドはユーザーに届く唯一のレイヤーです。Core Web Vitals を業務要件として扱います。

AI判断軸

AI時代に有利AI時代に不利
React + Tailwind + shadcn/ui(主流)独自UI実装・内製デザインシステム
Next.js / Astro(成熟フレームワーク)ニッチ・新興フレームワーク
型安全(TypeScript + Zod等)素のJavaScript
サーバコンポーネント・ファイルベースルーティング独自ルーティング・複雑な状態管理
  1. ユーザー体験指標から逆算LCPINPCLSを業務要件として扱う)
  2. 主流スタックに寄せる(React + TS + Tailwind + Next/Astroが鉄板)
  3. 型安全をコード全域に(TypeScript + Zodで契約を明示)
  4. AIに書かせる部分・人間が決める部分を分ける(ブランディング・A11yは人間)

AIに任せる領域と人間が握る領域の境界

フロントエンドでAIが高精度に書ける領域は、データ取得ロジック・フォームバリデーション・API連携・基本的なUIコンポーネントの実装です。Tailwindのユーティリティクラスを使ったレイアウトやshadcn/uiのコンポーネント配置は、AIがほぼ正確に書きます。

一方、ブランディングに関わるデザイン判断・アクセシビリティの網羅的な対応・アニメーションの微調整・ユーザーリサーチに基づくUX設計は人間の領域です。AIが「動くUI」を作れても「使いやすいUI」かどうかは別問題であり、ここの判断は人間が握り続ける必要があります。

フロントエンドの主流スタックとAI生成精度の関係

React + TypeScript + Tailwind CSSの組み合わせは、2026年時点でAI生成精度が最も高いフロントエンドスタックです。GitHub上のコードベースでこの組み合わせの実装例が圧倒的に多く、AIは命名パターン・ディレクトリ構造・テストの書き方まで含めて標準的なコードを出せます。

まとめ

本記事はシリーズ『生成AI時代のアーキテクチャ超入門』の「フロントエンドアーキテクチャ」カテゴリの入口として、この領域全体を俯瞰しました。如何だったでしょうか。

ユーザー体験から逆算し、主流スタックに寄せ、AIに書かせる部分と人間の領域を分ける。これがフロントエンドアーキテクチャの3つの核です。

次回からはこの領域の各論に入り、まずホスティングCDN・エッジ)から解説していきます。

シリーズ目次に戻る → 『生成AI時代のアーキテクチャ超入門』の歩き方

本記事で扱った内容の詳細は MDN Web Docs も合わせて参考にしてください。

それでは次の記事も閲覧いただけると幸いです。