「Protocol Buffers」修訂間的差異
跳至導覽
跳至搜尋
(未顯示同一使用者於中間所作的 2 次修訂) | |||
行 1: | 行 1: | ||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
對於透過管道(pipeline)或儲存資料進行通訊的程式開發上是很有用的。 |
對於透過管道(pipeline)或儲存資料進行通訊的程式開發上是很有用的。 |
||
− | 這個方法包含一個介面描述語言,描述一些資料結構,並提供程式工具根據這些描述產生程式碼,用於將這些資料結構產生或解析資料串流。 |
+ | 這個方法包含一個'''介面描述語言''',描述一些資料結構,並提供程式工具根據這些描述產生程式碼,用於將這些資料結構產生或解析資料串流。 |
==Language support== |
==Language support== |
||
Protobuf 2.0 provides a code generator for C++, Java, C#, and Python. |
Protobuf 2.0 provides a code generator for C++, Java, C#, and Python. |
||
行 9: | 行 11: | ||
Third-party implementations are also available for JavaScript. |
Third-party implementations are also available for JavaScript. |
||
− | Protobuf 3.0 provides a code generator for |
+ | Protobuf 3.0 provides a code generator for C++, Java (including JavaNano, a dialect intended for low-resource environments), Python, Go, Ruby, Objective-C, C#. It also supports JavaScript since 3.0.0-beta-2. |
− | Protobuf 4.0 is largely the same as 3.0 but the C extension for PHP being rewritten, dropping support for PHP 5. |
+ | Protobuf 4.0 is largely the same as 3.0 but the C extension for PHP being rewritten, dropping support for PHP 5. |
+ | Third-party implementations are also available for C, Dart, Haskell, Perl, PHP, R, Rust, Scala, Swift, Julia and Nim. |
||
− | Third-party implementations are also available for [[C (Programming Language)|C]],<ref>{{cite web|url=https://jpa.kapsi.fi/nanopb/|title=Nanopb - protocol buffers with small code size|access-date=2017-12-12}}</ref><ref>{{cite web|url=https://github.com/protobuf-c/protobuf-c|title=Protocol Buffers implementation in C|access-date=2017-12-12}}</ref> [[Dart (programming language)|Dart]], [[Haskell (programming language)|Haskell]],<ref>https://github.com/google/proto-lens</ref> [[Perl]], [[PHP]], [[R (programming language)|R]],<ref>https://github.com/eddelbuettel/rprotobuf/tree/master/src</ref> [[Rust (programming language)|Rust]],<ref>https://github.com/stepancheg/rust-protobuf</ref><ref>https://github.com/danburkert/prost</ref><ref>https://github.com/tafia/quick-protobuf</ref> [[Scala (programming language)|Scala]], [[Swift (programming language)|Swift]],<ref>https://github.com/apple/swift-protobuf</ref> [[Julia (programming language)|Julia]]<ref>{{cite web|url=http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns |title=ThirdPartyAddOns - protobuf - Links to third-party add-ons. - Protocol Buffers - Google's data interchange format - Google Project Hosting |access-date=2012-11-07}}</ref> and [[Nim_(programming_language)|Nim]]<ref>{{cite web|url=https://github.com/PMunch/protobuf-nim|title=Protobuf implementation in pure Nim that leverages the power of the macro system to not depend on any external tools|website=GitHub|language=en}}</ref> |
||
− | |||
⚫ | |||
⚫ |
於 2021年10月31日 (日) 02:35 的最新修訂
Protocol Buffers (Protobuf) 是一種序列化資料結構的協定。
對於透過管道(pipeline)或儲存資料進行通訊的程式開發上是很有用的。
這個方法包含一個介面描述語言,描述一些資料結構,並提供程式工具根據這些描述產生程式碼,用於將這些資料結構產生或解析資料串流。
Language support
Protobuf 2.0 provides a code generator for C++, Java, C#, and Python.
Third-party implementations are also available for JavaScript.
Protobuf 3.0 provides a code generator for C++, Java (including JavaNano, a dialect intended for low-resource environments), Python, Go, Ruby, Objective-C, C#. It also supports JavaScript since 3.0.0-beta-2.
Protobuf 4.0 is largely the same as 3.0 but the C extension for PHP being rewritten, dropping support for PHP 5.
Third-party implementations are also available for C, Dart, Haskell, Perl, PHP, R, Rust, Scala, Swift, Julia and Nim.