|誤解されがちなbackbone.jsのMVCについて書いてみました。backbone.jsとは?・今流行のクライアントMVCフレームワーク・viewファイルの複雑化を解消し再利用性高くjsコードを書くことが出来る・Key-Value型のデータとカスタムイベントを持つ・undersocr.jsというライブラリに依存するサーバーサイドのMVCとの比較サーバーサイド1リクエストに対し1レスポンスという処理を制御。controllerがリクエスとに応じviewやmodelとやり取りをしレスポンスを返す。クライアントサイド主にユーザーアクション拾い描写に関する部分を処理する。viewとmodelとの結びつきが深く、実質viewがcontrollerの役割も担っている。backbone.jsのMVC上記の図の通り、サーバーサイドのMVCとはその役割が大きく異なります。backbone.jsのMVCはGUIアプリケーションを作成する際のそれに近く、ユーザーアクションを拾いViewを変更するという処理が起点となっています。backborn.jsには下記のRouterというオブジェクトが存在し、URLに変化があった際にこのRouterがユーザーアクション→描写という様な処理を担います。以下ざっくりとですが、backboneMVCにおけるそれぞれの役割、特徴となります。・データ変更時にカスタムイベントを発火させるView・modelの更新やDOMの変更に応じてイベントを発火させる・カスタムイベントに応じてviewの描写を行う・実質コントローラーの役割も担っているCollection・複数のモデルをグループ化し、管理するRouter・URLが変化したときの処理を担っている次回はbackbone.jsを用いてチャット機能の実装をしていきたいと思います。最後まで読んで頂きありがとうございます。