見出し画像

SPAを図示する

#SPA #Saitama #People #Ambition #GPTs

改善しようと思ったものでみせられるものはなかった
効果と負担のバランス例
規模	技術選定例
小規模プロジェクト	HTML, CSS, JavaScript, React, Express.js (Node.js), REST API
中規模プロジェクト	TypeScript, React, Redux, Django (Python) または Express.js, GraphQL, Webpack/Vite
大規模プロジェクト	TypeScript, Angular または React, Redux, Spring Boot (Java), GraphQL, Docker, CI/CD



SPA (Single Page Application) とは?

SPA はウェブアプリケーションの構築手法の一つで、ページ全体をリロードせずに動的にコンテンツを切り替える仕組みを指します。
🟦「シングルページ」という名前の通り、1つのHTMLページを基盤に動作します。


🟥 メタファーで理解する SPA

SPA を家に例えると、部屋の模様替えだけで雰囲気を変える仕組みのようなものです。
通常のウェブサイト (MPA: Multi-Page Application) は、部屋ごとに引っ越しするイメージです。

  • SPA 🟢: 家の中で家具を動かすだけ。新しい家具が必要な場合は、注文した部分だけ取り寄せる。

  • MPA 🔵: 目的地ごとに新しい家に引っ越す。


🟢 特徴とメリット

  1. 高速な体験:
    初回にページ全体をロードするだけで、その後は必要なデータだけをやり取りします。これによりリロードのたびの待ち時間が大幅に減少します。

  2. リッチなユーザーインターフェース:
    JavaScript を活用して、よりインタラクティブでスムーズな体験を実現します。

  3. サーバー負荷の軽減:
    クライアントサイド (ブラウザ側) で多くの処理を行うため、サーバーの負担が軽減されます。


🔴 欠点

  1. 初回ロードが重い:
    初めに大量の JavaScript をロードするため、遅く感じることがあります。

  2. SEOが難しい:
    動的なコンテンツ生成のため、検索エンジンのクローラーが正しく認識しにくい場合があります。

  3. 複雑な実装:
    状態管理やルーティングをクライアントサイドで行うため、実装が複雑になりがちです。


🟩 代表的な技術スタック

  • JavaScript フレームワーク:

    • React

    • Angular

    • Vue.js

  • 状態管理ライブラリ:

    • Redux

    • Vuex

    • Pinia


シンプルな図解

  • 通常のウェブサイト (MPA):
    ユーザーがリンクをクリックするたびに新しいページを取得します。

  • SPA:
    ユーザーの操作に応じて、必要なデータだけを取得し、ページを動的に更新します。

SPA:HTML (1ページ)+API呼び出し→動的更新


SPA は、現代的なウェブアプリケーションにおいて、ユーザー体験を向上させるための重要なアプローチです。

いいなと思ったら応援しよう!

Yuki
Thank you for your support. We are the world.