社員インタビュー

誤解されがちなbackbone.jsにおけるMVC

誤解されがちなbackbone.jsのMVCについて書いてみました。

backbone.jsとは?

・今流行のクライアントMVCフレームワーク
・viewファイルの複雑化を解消し再利用性高くjsコードを書くことが出来る
・Key-Value型のデータとカスタムイベントを持つ
・undersocr.jsというライブラリに依存する

 

サーバーサイドのMVCとの比較

サーバーサイド
server_mvc

1リクエストに対し1レスポンスという処理を制御。
controllerがリクエスとに応じviewやmodelとやり取りをしレスポンスを返す。

クライアントサイド
client_mvc

 

主にユーザーアクション拾い描写に関する部分を処理する。
viewとmodelとの結びつきが深く、実質viewがcontrollerの役割も担っている。

 

backbone.jsのMVC

上記の図の通り、サーバーサイドのMVCとはその役割が大きく異なります。
backbone.jsのMVCはGUIアプリケーションを作成する際のそれに近く、ユーザーアクションを拾いViewを変更するという処理が起点となっています。
ただbackborn.jsには下記のRouterというオブジェクトが存在し、URLに変化があった際にこのRouterがユーザーアクション→描写という様な処理を担います。

以下ざっくりとですが、backboneMVCにおけるそれぞれの役割、特徴となります。

Model
・サーバーとの通信
・バリデーション処理
・データ変更時にカスタムイベントを発火させる

View
・modelの更新やDOMの変更に応じてイベントを発火させる
・カスタムイベントに応じてviewの描写を行う
・実質コントローラーの役割も担っている

Collection
・複数のモデルをグループ化し、管理する

Router
・URLが変化したときの処理を担っている

 

次回はbackbone.jsを用いてチャット機能の実装をしていきたいと思います。

最後まで読んで頂きありがとうございます。



私たちと一緒に22世紀に残るサービスをつくりませんか?