BT

hifive: 国産のWebクライアント開発フレームワーク

| 作者 下田 修 フォローする 0 人のフォロワー 投稿日 2012年12月9日. 推定読書時間: 2 分 |

hifiveは、HTML5で記述されたWebクライアント開発向けオープンソースフレームワークである。Backbone.jsやKnockout等最近多く出てきているJavaScript向けMV*フレームワークの一種であり、コードにMVC型の構造を与え、多人数で並列開発を行う際の記述の統一・ビュー/ロジックの分離・メンテナンス性の向上などを可能にする。  

[アーキテクチャ図]

ビューからのイベント処理を受け持つコントローラは階層的に定義できるようになっており、コードは機能のまとまりごとに分割される。この結果、共通的な機能を提供するコントローラの再利用をしやすい形にし、1つのコントローラの責務を少なくしてコードの見通しを良くすることを狙っている。また、ハンドラやメソッドにインターセプタをかける仕組みを持つので、デバッグ用にvar start = new Date;のようなコードを関数ごとに埋め込むことなく実行時間を計測できる。

モデル層では、事前にスキーマを定義し、それに存在しないプロパティに値をセットしようとするとエラーを発生させるようになっている。型のないJavaScriptでデータを扱う際、特に保守・変更時の代入ミス等の軽減を考えている。

またhifiveは、最近のUIフレームワークに多く見られる、データバインド機構を持つ。これを使うと、モデルの変更を自動的にビューに反映させることができ、画面操作コードの削減につながる。バインド用のテンプレートはコメントとしてHTML中に埋め込んでおくことで、HTMLファイルにビュー記述をまとめられる。

現時点で、hifiveはボタンなどの基本的なUI部品や特定の見た目を作るためのスタイルシートなどは提供していない。したがって、UIを簡易に作るにはTwitter Bootstrap、jQuery UI、jQuery Mobileなど他のライブラリを併用することになるだろう。

なお、フレームワークが依存するライブラリはjQueryとビューテンプレートエンジンのEJS(hifive用に一部改変したもの)のみで、必要な機能だけを含む「カスタムビルド」を行うことでライブラリのファイルサイズを小さくする仕組みを持つ。

フレームワーク以外では、JSLintプラグインなどいくつかのEclipse用プラグインを用意している。JSLintプラグインはJSHintにも対応するので、ユーザーは好みの静的検査エンジンを使用して、Eclipse上でJavaScriptコードをチェックできる。

今後のバージョンでは、サーバとのデータ同期機構やプロトタイプ画面作成を高速化するWYSIWYGエディタなどの提供を計画しているようだ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT