beez は、複雑化するスマートフォン向けブラウザアプリ開発をスピーディーにする目的で開発された、中・大規模向けフレームワークを含む開発ツールキットです
スマートフォン向けのブラウザアプリ開発には、素晴らしいフレームワーク、ライブラリがすでにありますがそれらを選定し、つなぎあわせて開発を行うのは知識・経験を必要とするため大変です。
beezではこうしたライブラリを取りまとめ、一貫性のあるAPIで提供しています。
さらに、こうしたライブラリだけではなく開発に必要な環境もツールキットとして提供することで、開発初期段階からリリースまでの一連の作業をトータルでサポートすることで迅速な開発を実現するためにbeezは作られました。
beezの特徴としては、以下のようなものがあります。
機能別に分割され複雑化したモジュール間の依存関係は開発者を悩ませ、保守性の低下やバグを多数生みます。
beezでは、独自のMVCR Managerというオブジェクトコンテナでこれらのモジュールを一括管理することで、依存関係をシンプルに解決することを可能にしました。
依存関係のマッピングと各オブジェクトへのアクセスはJSONPathによって行われます。
beezは、依存しているライブラリ自体を一切拡張していませんので、ユーザー独自の拡張も非常に簡単に行えます。
あなたの開発ワークフローにあった機能を追加・カスタマイズすることが可能です。
実際の開発現場では、ローカル・開発サーバ・ステージングサーバ・本番サーバと実行環境が移っていきますが、これら全ての環境を考えながら開発していくのは非常に大変な作業となります。
beezでは、環境別に変更されうる項目をすべて設定ファイルに別にすることが出来ます。
一度環境設定ファイルを書いてしまえば、その後は環境の変化に煩わされることなく開発に専念できます。
通常のローカル環境での開発は、リモートのWebサーバーを起動しサーバーサイドとの通信とセットで開発を行わないといけません(例えば、Ajaxを使用したページなどが代表です)。
beezでは付属のローカルサーバーを起動するだけで、静的ファイルの配信・モックサーバーを使用したサーバーサイドとの通信・StylusやHandlebars.jsの自動コンパイルなどをワンステップで利用することができます。
サーバーの起動の準備は、設定ファイルに簡単な記述をするだけで済むのでとてもスピーディーです。また、Grunt.jsに馴染みがあるなら、Grunt.jsを使いローカルサーバーを起動することも出来ます。
付属のサーバーについてはbeez-foundation を合わせて参照ください。
-
- MVCR Manager
- MVCRモデル
- サブモジュール遅延ロードをサポート: Require.js
- browser eventを管理: Backbone.js
- 国際化(i18n)対応
- スマホに特化したUserAgent判定ライブラリ: beez-ua
- 非同期ライブラリ: bucks.js
- ログ出力: logcafe.js
- OOPライクなコーディングスタイル extend/mixin
- テンプレートエンジン Handlebars.js
- CSS プリプロセッサー Stylus
- JavaScriptユーティリティライブラリUnderscore.js / Lo-Dash
setInterval
/setTimeout
を一元管理
-
beez-foundation(ローカルサーバー)
- 設定ファイルはAuto-reloadをサポート。ソース変更の確認にもうローカルサーバの再起動は不要
- Stylus内の画像、Web-fontを自動でbase64化
- CSS画像スプライト自動生成
- オリジナル画像を元にpixelRatio別に画像を自動生成
- 静的ファイルの配信
- モックを使用したサーバーサイド通信
- Stylus自動コンパイル
- Handlebars.js自動プレコンパイル
-
ビルド・デプロイ
- 設定ファイルの変更のみで環境差異を吸収
- js/css/imageファイルをサブモジュール別に圧縮・配置
その他多数の、機能を標準搭載しています。
@see wiki : Wiki - Documention
beezが依存しているライブラリは以下になります。
-
組み込みライブラリ
- beez-foundation
- Stylus
- nib
- node.js
- jsdoc3
- mocha
- Chai
- beezlib
- JSHint
- plato
- jsonminify
- useragent
- commander
- colors
- handlebars
- hbs
Versionについては、
package.json
を参照ください。
@see: Changelog
- Kei FUNAGAYAMA - @fkei github
- Kazuma MISHIMAGI - @maginemu github
- HIRAKI Satoru - github
- Yuhei Aihara - github
- Go Ohtani - @GO_OHTANI github
- Toshihide Yoshimura
- Hirotaka Kubo
- Naoki Murata - @naota70 github
- Yuto Yoshinari - @y_yoshinarigithub
- Yutaka Sasaki
- Masaki Sueda - @maaaaaaa0701 github
CyberAgent, Inc. All rights reserved.
@see : LICENSE
The MIT License (MIT)
Copyright © CyberAgent, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
jsonpath included in this product is MIT License.