|
|
|
@ -7,110 +7,103 @@ If you have a project that should be listed here, please |
|
|
|
|
|
|
|
|
|
## Programming Languages |
|
|
|
|
|
|
|
|
|
These are projects we know about implementing Protocol Buffers for other programming languages: |
|
|
|
|
* Action Script: https://code.google.com/p/protobuf-actionscript3/ |
|
|
|
|
* Action Script: https://code.google.com/p/protoc-gen-as3/ |
|
|
|
|
* Action Script: https://github.com/matrix3d/JProtoc |
|
|
|
|
* Action Script: https://github.com/zhongfq/protobuf-as3/ |
|
|
|
|
* Ada: https://github.com/reznikmm/protobuf |
|
|
|
|
* C: https://github.com/protobuf-c/protobuf-c |
|
|
|
|
* C: https://koti.kapsi.fi/jpa/nanopb/ |
|
|
|
|
* C: https://github.com/cloudwu/pbc/ |
|
|
|
|
* C: https://github.com/haberman/upb/wiki |
|
|
|
|
* C: https://github.com/squidfunk/protobluff |
|
|
|
|
* C: https://github.com/eerimoq/pbtools |
|
|
|
|
* C++: https://github.com/protocolbuffers/protobuf (Google-official implementation) |
|
|
|
|
* C++: https://EmbeddedProto.com |
|
|
|
|
* C/C++: http://spbc.sf.net/ |
|
|
|
|
* C#: https://code.google.com/p/protobuf-csharp-port |
|
|
|
|
* C#: https://silentorbit.com/protobuf/ |
|
|
|
|
* C#/.NET/WCF/VB: https://code.google.com/p/protobuf-net/ |
|
|
|
|
* Clojure: http://github.com/ninjudd/clojure-protobuf |
|
|
|
|
* Clojure: https://github.com/clojusc/protobuf |
|
|
|
|
* Clojure: https://protojure.readthedocs.io |
|
|
|
|
* Common Lisp: http://github.com/brown/protobuf |
|
|
|
|
* Common Lisp: http://github.com/qitab/cl-protobuf |
|
|
|
|
* D: https://github.com/dcarp/protobuf-d |
|
|
|
|
* D: https://github.com/msoucy/dproto |
|
|
|
|
* 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 |
|
|
|
|
* Elixir: https://github.com/tony612/protobuf-elixir |
|
|
|
|
* Elixir: https://github.com/ahamez/protox |
|
|
|
|
* Elm: https://github.com/tiziano88/elm-protobuf |
|
|
|
|
* Erlang: https://github.com/tomas-abrahamsson/gpb |
|
|
|
|
* Erlang: http://piqi.org/ |
|
|
|
|
* Erlang: https://github.com/basho/erlang_protobuffs (no longer maintained, use gpb instead) |
|
|
|
|
* Hacklang/HHVM: https://github.com/y3llowcake/proto-hack |
|
|
|
|
* GDScript: https://github.com/oniksan/godobuf (Godot v3 engine plugin) |
|
|
|
|
* Go: https://github.com/golang/protobuf (Google-official implementation) |
|
|
|
|
* Go: https://github.com/akunspy/gopbuf |
|
|
|
|
* Go: https://github.com/gogo/protobuf |
|
|
|
|
* GopherJS: https://github.com/johanbrandhorst/protobuf |
|
|
|
|
* Haskell: https://hackage.haskell.org/package/hprotoc |
|
|
|
|
* Haskell: https://github.com/google/proto-lens (Google-unofficial implementation) |
|
|
|
|
* Haskell: https://github.com/awakesecurity/proto3-suite (code generator) https://github.com/awakesecurity/proto3-wire (binary serializer/deserializer) |
|
|
|
|
* Haxe: https://github.com/Atry/protoc-gen-haxe |
|
|
|
|
* Java: https://github.com/protocolbuffers/protobuf (Google-official implementation) |
|
|
|
|
* Java/Android: https://github.com/square/wire |
|
|
|
|
* Java: https://github.com/HebiRobotics/QuickBuffers/ |
|
|
|
|
* Java ME: https://code.google.com/p/protobuf-javame/ |
|
|
|
|
* Java ME: http://swingme.sourceforge.net/encode.shtml |
|
|
|
|
* Javascript: https://code.google.com/p/protobuf-js/ |
|
|
|
|
* Javascript: http://github.com/sirikata/protojs |
|
|
|
|
* Javascript: https://github.com/dcodeIO/ProtoBuf.js |
|
|
|
|
* Javascript: https://code.google.com/p/protobuf-for-node/ |
|
|
|
|
* Javascript: https://code.google.com/p/protostuff/ |
|
|
|
|
* Javascript: https://github.com/seishun/node-protoc-plugin (Node.js port of plugin.h) |
|
|
|
|
* Javascript: https://github.com/seishun/node-protoc-gen-javascript (Node.js port of the Google-official implementation) |
|
|
|
|
* Javascript: https://github.com/ButterCam/sisyphus-js |
|
|
|
|
* Julia: https://github.com/tanmaykm/ProtoBuf.jl |
|
|
|
|
* Kotlin: https://github.com/marcoferrer/kroto-plus |
|
|
|
|
* Kotlin: https://github.com/Kotlin/kotlinx.serialization |
|
|
|
|
* Kotlin: https://github.com/ButterCam/sisyphus |
|
|
|
|
* Kotlin: https://github.com/open-toast/protokt |
|
|
|
|
* Kotlin Multiplatform: https://github.com/streem/pbandk |
|
|
|
|
* Lua: https://code.google.com/p/protoc-gen-lua/ |
|
|
|
|
* Lua: http://github.com/indygreg/lua-protobuf |
|
|
|
|
* Lua: https://github.com/Neopallium/lua-pb |
|
|
|
|
* Matlab: https://code.google.com/p/protobuf-matlab/ |
|
|
|
|
* Mercury: https://code.google.com/p/protobuf-mercury/ |
|
|
|
|
* Objective C: https://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: https://metacpan.org/pod/Google::ProtocolBuffers |
|
|
|
|
* Perl: https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic |
|
|
|
|
* Perl/XS: https://code.google.com/p/protobuf-perlxs/ |
|
|
|
|
* PHP: https://code.google.com/p/pb4php/ |
|
|
|
|
* PHP: https://github.com/allegro/php-protobuf/ |
|
|
|
|
* PHP: https://github.com/chobie/php-protocolbuffers |
|
|
|
|
* Prolog: http://www.swi-prolog.org/pldoc/package/protobufs.html |
|
|
|
|
* Purescript: https://github.com/xc-jp/purescript-protobuf |
|
|
|
|
* Python: https://github.com/protocolbuffers/protobuf (Google-official implementation) |
|
|
|
|
* Python: https://github.com/eigenein/protobuf |
|
|
|
|
* Python: https://github.com/danielgtaylor/python-betterproto |
|
|
|
|
* R: http://cran.r-project.org/package=RProtoBuf |
|
|
|
|
* Ruby: https://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/tokio-rs/prost |
|
|
|
|
* Rust: https://github.com/stepancheg/rust-protobuf/ |
|
|
|
|
* Rust: https://github.com/tafia/quick-protobuf |
|
|
|
|
* Scala: http://github.com/jeffplaisance/scala-protobuf |
|
|
|
|
* Scala: https://code.google.com/p/protobuf-scala |
|
|
|
|
* Scala: https://github.com/SandroGrzicic/ScalaBuff |
|
|
|
|
* Scala: https://scalapb.github.io |
|
|
|
|
* Solidity: https://github.com/celer-network/pb3-gen-sol |
|
|
|
|
* Swift: https://github.com/alexeyxo/protobuf-swift |
|
|
|
|
* Swift: https://github.com/apple/swift-protobuf/ |
|
|
|
|
* Typescript: https://github.com/thesayyn/protoc-gen-ts |
|
|
|
|
* Typescript: https://github.com/pbkit/pbkit |
|
|
|
|
* Vala: https://launchpad.net/protobuf-vala |
|
|
|
|
* Visual Basic: https://code.google.com/p/protobuf-net/ |
|
|
|
|
These are projects we know about implementing Protocol Buffers for other |
|
|
|
|
programming languages: * Action Script: |
|
|
|
|
https://code.google.com/p/protobuf-actionscript3/ * Action Script: |
|
|
|
|
https://code.google.com/p/protoc-gen-as3/ * Action Script: |
|
|
|
|
https://github.com/matrix3d/JProtoc * Action Script: |
|
|
|
|
https://github.com/zhongfq/protobuf-as3/ * Ada: |
|
|
|
|
https://github.com/reznikmm/protobuf * C: |
|
|
|
|
https://github.com/protobuf-c/protobuf-c * C: https://koti.kapsi.fi/jpa/nanopb/ |
|
|
|
|
* C: https://github.com/cloudwu/pbc/ * C: https://github.com/haberman/upb/wiki * |
|
|
|
|
C: https://github.com/squidfunk/protobluff * C: |
|
|
|
|
https://github.com/eerimoq/pbtools * C++: |
|
|
|
|
https://github.com/protocolbuffers/protobuf (Google-official implementation) * |
|
|
|
|
C++: https://github.com/yksten/struct2x * C++: https://EmbeddedProto.com * |
|
|
|
|
C/C++: http://spbc.sf.net/ * C#: https://code.google.com/p/protobuf-csharp-port |
|
|
|
|
* C#: https://silentorbit.com/protobuf/ * C#/.NET/WCF/VB: |
|
|
|
|
https://code.google.com/p/protobuf-net/ * Clojure: |
|
|
|
|
http://github.com/ninjudd/clojure-protobuf * Clojure: |
|
|
|
|
https://github.com/clojusc/protobuf * Clojure: https://protojure.readthedocs.io |
|
|
|
|
* Common Lisp: http://github.com/brown/protobuf * Common Lisp: |
|
|
|
|
http://github.com/qitab/cl-protobuf * D: https://github.com/dcarp/protobuf-d * |
|
|
|
|
D: https://github.com/msoucy/dproto * 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 * Elixir: |
|
|
|
|
https://github.com/tony612/protobuf-elixir * Elixir: |
|
|
|
|
https://github.com/ahamez/protox * Elm: |
|
|
|
|
https://github.com/tiziano88/elm-protobuf * Erlang: |
|
|
|
|
https://github.com/tomas-abrahamsson/gpb * Erlang: http://piqi.org/ * Erlang: |
|
|
|
|
https://github.com/basho/erlang_protobuffs (no longer maintained, use gpb |
|
|
|
|
instead) * Hacklang/HHVM: https://github.com/y3llowcake/proto-hack * GDScript: |
|
|
|
|
https://github.com/oniksan/godobuf (Godot v3 engine plugin) * Go: |
|
|
|
|
https://github.com/golang/protobuf (Google-official implementation) * Go: |
|
|
|
|
https://github.com/akunspy/gopbuf * Go: https://github.com/gogo/protobuf * |
|
|
|
|
GopherJS: https://github.com/johanbrandhorst/protobuf * Haskell: |
|
|
|
|
https://hackage.haskell.org/package/hprotoc * Haskell: |
|
|
|
|
https://github.com/google/proto-lens (Google-unofficial implementation) * |
|
|
|
|
Haskell: https://github.com/awakesecurity/proto3-suite (code generator) |
|
|
|
|
https://github.com/awakesecurity/proto3-wire (binary serializer/deserializer) * |
|
|
|
|
Haxe: https://github.com/Atry/protoc-gen-haxe * Java: |
|
|
|
|
https://github.com/protocolbuffers/protobuf (Google-official implementation) * |
|
|
|
|
Java/Android: https://github.com/square/wire * Java: |
|
|
|
|
https://github.com/HebiRobotics/QuickBuffers/ * Java ME: |
|
|
|
|
https://code.google.com/p/protobuf-javame/ * Java ME: |
|
|
|
|
http://swingme.sourceforge.net/encode.shtml * Javascript: |
|
|
|
|
https://code.google.com/p/protobuf-js/ * Javascript: |
|
|
|
|
http://github.com/sirikata/protojs * Javascript: |
|
|
|
|
https://github.com/dcodeIO/ProtoBuf.js * Javascript: |
|
|
|
|
https://code.google.com/p/protobuf-for-node/ * Javascript: |
|
|
|
|
https://code.google.com/p/protostuff/ * Javascript: |
|
|
|
|
https://github.com/seishun/node-protoc-plugin (Node.js port of plugin.h) * |
|
|
|
|
Javascript: https://github.com/seishun/node-protoc-gen-javascript (Node.js port |
|
|
|
|
of the Google-official implementation) * Javascript: |
|
|
|
|
https://github.com/ButterCam/sisyphus-js * Julia: |
|
|
|
|
https://github.com/tanmaykm/ProtoBuf.jl * Kotlin: |
|
|
|
|
https://github.com/marcoferrer/kroto-plus * Kotlin: |
|
|
|
|
https://github.com/Kotlin/kotlinx.serialization * Kotlin: |
|
|
|
|
https://github.com/ButterCam/sisyphus * Kotlin: |
|
|
|
|
https://github.com/open-toast/protokt * Kotlin Multiplatform: |
|
|
|
|
https://github.com/streem/pbandk * Lua: |
|
|
|
|
https://code.google.com/p/protoc-gen-lua/ * Lua: |
|
|
|
|
http://github.com/indygreg/lua-protobuf * Lua: |
|
|
|
|
https://github.com/Neopallium/lua-pb * Matlab: |
|
|
|
|
https://code.google.com/p/protobuf-matlab/ * Mercury: |
|
|
|
|
https://code.google.com/p/protobuf-mercury/ * Objective C: |
|
|
|
|
https://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: |
|
|
|
|
https://metacpan.org/pod/Google::ProtocolBuffers * Perl: |
|
|
|
|
https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic * Perl/XS: |
|
|
|
|
https://code.google.com/p/protobuf-perlxs/ * PHP: |
|
|
|
|
https://code.google.com/p/pb4php/ * PHP: |
|
|
|
|
https://github.com/allegro/php-protobuf/ * PHP: |
|
|
|
|
https://github.com/chobie/php-protocolbuffers * Prolog: |
|
|
|
|
http://www.swi-prolog.org/pldoc/package/protobufs.html * Purescript: |
|
|
|
|
https://github.com/xc-jp/purescript-protobuf * Python: |
|
|
|
|
https://github.com/protocolbuffers/protobuf (Google-official implementation) * |
|
|
|
|
Python: https://github.com/eigenein/protobuf * Python: |
|
|
|
|
https://github.com/danielgtaylor/python-betterproto * R: |
|
|
|
|
http://cran.r-project.org/package=RProtoBuf * Ruby: |
|
|
|
|
https://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/tokio-rs/prost |
|
|
|
|
* Rust: https://github.com/stepancheg/rust-protobuf/ * Rust: |
|
|
|
|
https://github.com/tafia/quick-protobuf * Scala: |
|
|
|
|
http://github.com/jeffplaisance/scala-protobuf * Scala: |
|
|
|
|
https://code.google.com/p/protobuf-scala * Scala: |
|
|
|
|
https://github.com/SandroGrzicic/ScalaBuff * Scala: https://scalapb.github.io * |
|
|
|
|
Solidity: https://github.com/celer-network/pb3-gen-sol * Swift: |
|
|
|
|
https://github.com/alexeyxo/protobuf-swift * Swift: |
|
|
|
|
https://github.com/apple/swift-protobuf/ * Typescript: |
|
|
|
|
https://github.com/thesayyn/protoc-gen-ts * Typescript: |
|
|
|
|
https://github.com/pbkit/pbkit * Vala: https://launchpad.net/protobuf-vala * |
|
|
|
|
Visual Basic: https://code.google.com/p/protobuf-net/ |
|
|
|
|
|
|
|
|
|
## RPC Implementations |
|
|
|
|
|
|
|
|
|