ssig33.com

なぜ SPA か

顧客は SPA であることを望んでいるのか?そうではないです。技術者は SPA を作りたいのか?そうではないです。

ではなぜ SPA 的なものが出来てしまうかといえば、いちいち UI の遷移のために大量のデータをロードしているのは時間と資源の無駄だからです。

もちろんあるべき姿としては、サーバーの CPU やストレージやメモリは爆速で、回線も爆速で、用いられるデータは必要最低限で、クライアントマシンも爆速で、クライアント側でフォームを一個書き換えるたびにページをフルロードしても全くストレス無く使える、というような世界観です。

しかし実際にはサーバーのスペックも回線もクライアントのスペックも不足気味ですから頑張って補っていく必要があります。

すると最初にロードしたデータをクライアントは保持し続けて、 HTML 全体を書き換えるのではなく必要なところだけを最小限の通信とともに書き換えてみたいなことをやっていかざるを得ません。別にこうしたいからやっているというのではなくて、いまの環境でなんとかやっていくとそうなるというだけの話です。

HTTP と WWW の上でリッチなアプリケーションを作るのが間違っているという思想もあるかと思います。しかしユーザーが持っているクライアントの OS は iOS Android Windows OSX と過去最高レベルに分断化されており、またそれぞれのプラットフォームのめんどうな事情を一番回避しやすいのは今のところウェブアプリケーションです。

Angular とか React 的なものはみんなやりたくてやっているのではなくて、やらざるを得ないからやっているという面が強いです。もちろんいざ実装の段階に入ってしまえば技術的好奇心に基づきそれなりに楽しくやっていくわけですが。

back to index of texts


Site Search