本页使用了标题或全文手工转换

Protocol Buffers

维基百科,自由的百科全书
跳到导航 跳到搜索
Protocol Buffers
開發者Google
初始版本2008年7月7日 (2008-07-07)
穩定版本
3.15.8
(2021年4月8日,​7個月前​(2021-04-08[1]
源代码库 編輯維基數據鏈接
操作系统任何
系統平台跨平台
类型序列化格式與函式庫、接口描述语言編譯器
许可协议BSD许可证
网站developers.google.com/protocol-buffers/

Protocol Buffers(简称:ProtoBuf)是一種开源跨平台的序列化資料結構的协议。其對於儲存資料或在网络上進行通訊的程式是很有用的。這個方法包含一個接口描述語言,描述一些資料結構,並提供程式工具根據這些描述產生程式碼,这些代码将用来生成或解析代表这些数据结构的字节流。

概览[编辑]

Google最初开发了Protocol Buffers用于内部使用。Protocol Buffers的设计目标是简单和性能。特别地,它被设计地与XML相比更小且更快。

Protocol Buffers在Google内被广泛用来存储和交换各种类型的结构化数据。在Google,它被当作一个RPC系统的基础,并被用于几乎所有的跨服务器通信。

Protocol Buffers和Apache Thrift和Ion等协议很相似,同时也提供了一个RPC协议栈gRPC来给上层服务使用。

語言支持[编辑]

proto2提供一個程式產生器,支援C++JavaPython[2]

第三方實作支援JavaScript[3]

proto3提供一個程式產生器,支援C++Java (包含JavaNano)、PythonGoRubyObjective-CC#.[4]從 3.0.0 Beta 2 版開始支援JavaScript。[5]

第三方實作支援PerlPHPDartScalaJulia.[6]

參考文獻[编辑]

  1. ^ Releases - google/protobuf. [2021-04-08] –通过GitHub. 
  2. ^ Protocol Buffers Language Guide. Google Developers. [2016-04-21]. (原始内容存档于2016-05-13). 
  3. ^ Protocol Buffers for JavaScript.. github.com. [2016-05-14]. (原始内容存档于2017-02-22). 
  4. ^ Protocol Buffers Language Guide (proto3). Google Developers. [2016-04-21]. (原始内容存档于2016-04-22). 
  5. ^ Protocol Buffers v3.0.0-beta-2. Google Developers. [2016-05-14]. 
  6. ^ ThirdPartyAddOns - protobuf - Links to third-party add-ons. - Protocol Buffers - Google's data interchange format - Google Project Hosting. Code.google.com. [2012-11-07]. (原始内容存档于2012-10-29). 

外部連結[编辑]