Skip to content
fkei edited this page Dec 20, 2013 · 1 revision

Summary

beezでは MVCR Architecture を採用しています。

MVCRはそれぞれ beez.Model, beez.View, beez.Controller, beez.Router に対応しており、MVCで1モジュールを構成します。

Beez ライブラリ 構成

ライブラリの構成は下図のようになっています。

ライブラリ構成図

サブモジュール

  • beez-core
    • コアモジュール
  • beez-i18n
    • i18n モジュール
  • beez-mvcr
    • MVCR モジュール
    • CSS 管理モジュール
    • Image 管理モジュール
  • beez-ua
    • User Agent モジュール
    • node.js or browser support.
  • beez-utils
    • utility モジュール

組み込み

beez.js に含まれるライブラリ

外部読み込み

beez.js には、組み込まれてはいませんが、必須で必要なライブラリです。

Handlebarsは、handlebars.runtime.jsのみ必要です。

開発支援

  • beez-tools
    • beez のプロジェクト作成、ビルド、デプロイなどのコマンドを提供しています。
  • beezlib
    • beez-foundation, beez 両方で使用している node.js ライブラリです。

Beez Foundation

開発用のWebサーバーです。

機能概要

  • 静的ファイル配信を提供します。
  • モックサーバー
    • URL, HTTP Method, HTTP Response(JSON|Text Plain) をJSON定義して、モックWebサーバーを提供します。
    • 自動で、handlebars, stylus(pre)compile を行います。

beez-foundation を使うことで、サーバーサイドの開発を待たずに、フロント開発が可能になります。

詳しくは beez-foundation を参照ください。

MVCR with Manager

Model/Collection/Modic

データ管理やビジネスロジック、サーバとの通信を担当します。

Modicは、Modelの通信通信機能がないModelです。クライアントデータのみでデータを管理する際に利用します。 beez.Modelは、Backbone#Modelextend しており、Backbone#Modelと同じ機能を有します。

View

DOM Events, User Events を管理、操作を担当します。 Model Eventsのハンドリングを行いModelの操作を担当します。

beez.Viewは、Backbone#Viewextend しており、Backbone#Viewと同じ機能を有します。

Controller

モジュールの玄関口を担当します。 主にbeez.RouterからのEventsを起点にView/Modelの初期化や、Viewの表示を行います。

Router

Routerはhashchange/pushStateを管理し、Controller間の連携を実現します。

システムでbeez.Routerは1つを推奨しています。

beez.Routerは、Backbone#Routerextend しており、Backbone#Routerと同じ機能を有します。

ModelManager/ViewManager/ControllerManager/RouterManager

Model, View, Controller, Router の、管理を行い、生成、破棄、取得等々をすべて一元的に管理します。

Manager は、システムで1つを推奨しています。

MVCR Architecture

Module 構成

MVCのかたまりで1モジュールを形成し、それぞれがRouterを経由して連携する構成になっています。 モジュール別にビルドし、それぞれのモジュールが最初に必要になった際にロードされる、遅延ロードの仕組みもサポートしています。

遅延ロードは、RequireJS を利用して実現しています。

Modules Architecture

Clone this wiki locally