SPA
Single Page Applicationの略。最近はいろんなサイトで採用されてる。
例えばブラウザのアドレスバーを見た時に,
「URLは変わっていくけどロード処理のぐるぐるは見えないな」といった現象が見られるが,
これはSPAの特徴と言えるかもしれない。他にもこういう特徴の仕組みがあったら申し訳ない。
JavaScriptでページの中身を書き換えていくことで,共通のパーツを多く持つサイトなどでは
ユーザがページを遷移する上で何度も同じコンテンツをロードしなくて済むようになる。
YouTubeやScrapbox,Twitterなど,結構いろんなサービスで活用されてる。
ReactやVue.jsだったりフレームワークにはSPA用の実装が用意されていたりするが,バニラでももちろん可能。
ブラウザのバックボタンが押された時などのページ遷移を検知してJSでHTMLを書き換えて行ったり,
URLのパスからどんなページを描画させるべきかといった処理を行っていくことで実現できる。
ここで問題になるのが,JSで描画していくためにGoogleなどのクローラが,
サイトの中身がどうなっているのかわからなくなってしまうというもの。
そこでよく使われるのがSSR=サーバーサイドレンダリング。