v
まえがき
ほんの数年前までは、「リッチな
Web
アプリケーション」などといったものはあり得ないと考え
られていました。しかし今日では、リッチな
Web
アプリケーションはどこにでも見られるように
なりました。読者もこのようなアプリケーションの作り方を身につけなければなりません。
従来の
Web
アプリケーションでは、データへの複雑な処理がサーバ側に任されてきました。そ
してサーバはブラウザに対し、ページ全体を毎回送信していました。クライアント側で動作する
JavaScript
は、ユーザーエクスペリエンスの向上のためだけに使われていました。しかし、この
ような関係は逆転しました。必要なときに、クライアントが未加工のデータをサーバから直接取得
し、これをブラウザ上に描画します。
例えば
Ajax
を使ったショッピングカートについて考えてみましょう。ここでは、商品をカート
に追加してもページの再読み込みは発生しません。かつては、このようなアプリケーションでは
jQuery
が専ら使われていました。
jQuery
は本質的に、
Ajax
リクエストを行いページを更新するた
めに設計されました。しかしこの利用法では、クライアント側に事実上のモデルのデータが置かれ
るということになります。
クライアント側で任意のコードを実行し、必要に応じてサーバとの間で通信を行うという考え
方が広まってくるにつれて、クライアント側の複雑さが増大することになりました。そして、ク
ライアント側にも良いアーキテクチャを用意することが必須と考えられるようになって