MessagePack-JS
cuzic です。
MessagePack の JavaScript 実装を作成しましたので、公開しました。
GitHub においております。
サーバ側で生成した MessagePack の文字列をクライアント側の JavaScript で、
var data = MessagePack.unpack(unescape("%a1%61")); alert(a);
と書けば Ruby で 'a'.to_msgpack に相当する MessagePack のシリアリゼーション結果を変数 data に格納します。
現在は以下の状態です。
- MessagePack 形式のデコードが可能。
- 整数、nil 、false 、true、浮動小数点、文字列、ハッシュ、配列 に対応
- FireFox 3.6.3 と IE 8.0.6 で動作検証を実施。正常動作を確認。
作成した理由としては、以下の理由です。
- 最近 JavaScript を勉強しているので、なにかを作って公開してみたかった。
- MessagePack の仕様の美しさについて、某所で話題になっていた。
- JSON が主流な JavaScript とのデータ連携を MessagePack に変更することで、サーバ負荷の低減、高速化が可能になる。
今後の予定としては、次の内容を進めていきたいと考えております。
- MessagePack 形式のデコードだけでなくエンコードを可能に。
- テストコードを追加。クロスブラウザな自動テストを可能に。
- 各種ブラウザで利用可能かの検証の実施。
- JSON フォーマットとの速度比較の実施
MessagePack-JS の作成にあたっては、http://github.com/nayutaya/msgpack-pure での Ruby 実装を参考にさせていただきました。