色々な言語でGoogle Protocol Buffers

Google謹製のバイナリシリアライズライブラリ「Google Protocol Buffers」を色々と調査中。

データ構造をC言語の構造体っぽい書式で書くと、それを元に色々な言語のシリアライズ/デシリアライズのプログラムコードを自動生成してくれるという素敵なライブラリです。

しかし、「色々な言語」と書きましたが、現状ではC++、Java、Pythonの3言語しか対応していません。

というわけで、それ以外の言語に対応させているプロジェクトをざっくり検索してみたのでメモっときます。

オリジナル(C++,Java,Python)
protobuf – Google Code

C言語(not C++)
protobuf-c – Google Code

Perl
protobuf-perl – Google Code

protobuf-perlxs – Google Code

Ruby
ruby-protobuf – Google Code

PHP
pb4php – Google Code

JavaScript
protobuf-js – Google Code

ActionScript
protocol-buffers-actionscript – Google Code

Common Lisp
common-lisp-protobuf – Google Code

cl-protobuf – Google Code

.NET Framework
protobuf-net – Google Code

protosharp – Google Code

Mercury
protobuf-mercury – Google Code

PHPが使いたいのでソースはPHPしか読んでませんが、parser/pb_parser.phpでシリアライズ用のコードを生成して、それを使うのに必要なライブラリがmessage以下に詰まってる感じですかね。


関連記事