-
Notifications
You must be signed in to change notification settings - Fork 0
Third Party Add ons
This page lists code related to Protocol Buffers which is developed and maintained by third parties. You may find this code useful, but note that *none of these projects are affiliated with or endorsed by Google*; try them at your own risk. Also note that many projects here are in the early stages of development and not production-ready.
If you have a project that should be listed here, please send a message to the discussion group:
http://groups.google.com/group/protobuf
These are projects we know about implementing Protocol Buffers for other programming languages:
- Action Script: http://code.google.com/p/protobuf-actionscript3/
- Action Script: https://code.google.com/p/protoc-gen-as3/
- Action Script: https://github.com/matrix3d/JProtoc
- C: https://github.com/protobuf-c/protobuf-c
- C: http://koti.kapsi.fi/jpa/nanopb/
- C: https://github.com/cloudwu/pbc/
- C: https://github.com/haberman/upb/wiki
- C++: https://github.com/google/protobuf (Google-official implementation)
- C/C++: http://spbc.sf.net/
- C#: http://code.google.com/p/protobuf-csharp-port
- C#: http://code.google.com/p/protosharp/
- C#: https://silentorbit.com/protobuf/
- C#/.NET/WCF/VB: http://code.google.com/p/protobuf-net/
- Clojure: http://github.com/ninjudd/clojure-protobuf
- Common Lisp: http://www.prism.gatech.edu/~ndantam3/docs/s-protobuf/
- Common Lisp: http://github.com/brown/protobuf
- D: http://256.makerslocal.org/wiki/index.php/ProtocolBuffer
- D: https://github.com/opticron/ProtocolBuffer
- Dart: https://github.com/dart-lang/dart-protobuf (runtime) https://github.com/dart-lang/dart-protoc-plugin (code generator)
- Delphi: http://sourceforge.net/projects/protobuf-delphi/
- Delphi: http://fundementals.sourceforge.net/dl.html
- Elixir: https://github.com/jeremyong/exprotoc
- Erlang: http://github.com/ngerakines/erlang_protobuffs/tree/master
- Erlang: http://piqi.org/
- Erlang: https://code.google.com/p/protoc-gen-erl/
- Erlang: https://github.com/basho/erlang_protobuffs
- Go: http://code.google.com/p/goprotobuf/
- Go: https://github.com/akunspy/gopbuf
- Haskell: http://hackage.haskell.org/package/hprotoc
- Haxe: https://github.com/Atry/protoc-gen-haxe
- Java: https://github.com/google/protobuf (Google-official implementation)
- Java/Android: https://github.com/square/wire
- Java ME: http://code.google.com/p/protobuf-javame/
- Java ME: http://swingme.sourceforge.net/encode.shtml
- Java ME: http://github.com/ponderingpanda/protobuf-j2me
- Java ME: http://code.google.com/p/protobuf-j2me/
- Javascript: http://code.google.com/p/protobuf-js/
- Javascript: http://github.com/sirikata/protojs
- Javascript: https://github.com/dcodeIO/ProtoBuf.js
- Javascript: http://code.google.com/p/protobuf-for-node/
- Javascript: http://code.google.com/p/protostuff/
- Julia: https://github.com/tanmaykm/ProtoBuf.jl
- Lua: http://code.google.com/p/protoc-gen-lua/
- Lua: http://github.com/indygreg/lua-protobuf
- Lua: https://github.com/Neopallium/lua-pb
- Matlab: http://code.google.com/p/protobuf-matlab/
- Mercury: http://code.google.com/p/protobuf-mercury/
- Objective C: http://code.google.com/p/protobuf-objc/
- Objective C: https://github.com/alexeyxo/protobuf-objc
- OCaml: http://piqi.org/
- Perl: http://groups.google.com/group/protobuf-perl
- Perl: http://search.cpan.org/perldoc?Google::ProtocolBuffers
- Perl/XS: http://code.google.com/p/protobuf-perlxs/
- PHP: http://code.google.com/p/pb4php/
- PHP: https://github.com/allegro/php-protobuf/
- PHP: https://github.com/chobie/php-protocolbuffers
- PHP: http://drslump.github.com/Protobuf-PHP
- Prolog: http://www.swi-prolog.org/pldoc/package/protobufs.html
- Python: https://github.com/google/protobuf (Google-official implementation)
- Python: http://eigenein.github.com/protobuf/
- R: http://cran.r-project.org/package=RProtoBuf
- Ruby: http://code.google.com/p/ruby-protobuf/
- Ruby: http://github.com/mozy/ruby-protocol-buffers
- Ruby: https://github.com/bmizerany/beefcake/tree/master/lib/beefcake
- Ruby: https://github.com/localshred/protobuf
- Rust: https://github.com/stepancheg/rust-protobuf/
- Scala: http://github.com/jeffplaisance/scala-protobuf
- Scala: http://code.google.com/p/protobuf-scala
- Scala: https://github.com/SandroGrzicic/ScalaBuff
- Scala: http://trueaccord.github.io/ScalaPB/
- Swift: https://github.com/alexeyxo/protobuf-swift
- Vala: https://launchpad.net/protobuf-vala
- Visual Basic: http://code.google.com/p/protobuf-net/
These are RPC implementations that work with Protocol Buffers. Some of these actually work with Protocol Buffers service definitions (defined using the `service` keyword in `.proto` files) while others just use Protocol Buffers message objects.
- https://github.com/grpc/grpc (C++, Node.js, Python, Ruby, Objective-C, PHP, C#)
- http://zeroc.com/ice.html (Multiple languages)
- http://code.google.com/p/protobuf-net/ (C#/.NET/WCF/VB)
- https://launchpad.net/txprotobuf/ (Python)
- https://github.com/modeswitch/protobuf-rpc (Python)
- http://code.google.com/p/protobuf-socket-rpc/ (Java, Python)
- http://code.google.com/p/proto-streamer/ (Java)
- http://code.google.com/p/server1/ (C++)
- http://deltavsoft.com/RcfUserGuide/Protobufs (C++)
- http://code.google.com/p/protobuf-mina-rpc/ (Python client, Java server)
- http://code.google.com/p/casocklib/ (C++)
- http://code.google.com/p/cxf-protobuf/ (Java)
- http://code.google.com/p/protobuf-remote/ (C++/C#)
- http://code.google.com/p/protobuf-rpc-pro/ (Java)
- https://code.google.com/p/protorpc/ (Go/C++)
- https://code.google.com/p/eneter-protobuf-serializer/ (Java/.NET)
- http://www.deltavsoft.com/RCFProto.html (C++/Java/Python/C#)
- https://github.com/robbinfan/claire-protorpc (C++)
- https://github.com/BaiduPS/sofa-pbrpc (C++)
- https://github.com/ebencheung/arab (C++)
- http://code.google.com/p/protobuf-csharp-rpc/ (C#)
- https://github.com/thesamet/rpcz (C++/Python, based on ZeroMQ)
- https://github.com/w359405949/libmaid (C++, Python)
- https://github.com/madwyn/libpbrpc (C++)
There are miscellaneous other things you may find useful as a Protocol Buffers developer.
- NetBeans IDE plugin
- Wireshark/Ethereal packet sniffer plugin
- Alternate encodings (JSON, XML, HTML) for Java protobufs
- Another JSON encoder/decoder for Java
- Editor for serialized protobufs
- Intellij IDEA plugin
- TextMate syntax highlighting
- Oracle PL SQL plugin
- Eclipse editor for protobuf (from Google)
- C++ Builder compatible protobuf
- Maven Protocol Compiler Plugin
- DocBook generator for .proto files
- Protobuf for nginx module
- RSpec matchers and Cucumber step defs for testing Protocol Buffers
- Sbt plugin for Protocol Buffers
- Gradle Protobuf Plugin
- Multi-platform executable JAR and Java API for protoc
- Python scripts to convert between Protocol Buffers and JSON
- Visual Studio Language Service support for Protocol Buffers
- C++ library for serialization/de-serialization between Protocol Buffers and JSON.
- Documentation generator plugin (Markdown/HTML/DocBook)
- ProtoBuf with Java EE7 Expression Language 3.0; pure Java ProtoBuf Parser and Builder.