Protocol Buffers
開發者 | |
---|---|
首次發布 | 2008年7月7日 |
當前版本 | 28.3(2024年10月22日 32天前) |
源代碼庫 | |
操作系統 | 任何 |
平台 | 跨平台 |
類型 | 序列化格式與函式庫、接口描述語言編譯器 |
許可協議 | BSD許可證 |
網站 | https://protobuf.dev |
Protocol Buffers(簡稱:ProtoBuf)是一種開源跨平台的序列化資料結構的協議。其對於儲存資料或在網絡上進行通訊的程式是很有用的。這個方法包含一個接口描述語言,描述一些資料結構,並提供程式工具根據這些描述產生程式碼,這些代碼將用來生成或解析代表這些數據結構的字節流。
概覽
Google最初開發了Protocol Buffers用於內部使用。Protocol Buffers的設計目標是簡單和性能。特別地,它被設計地與XML相比更小且更快。
Protocol Buffers在Google內被廣泛用來存儲和交換各種類型的結構化數據。在Google,它被當作一個RPC系統的基礎,並被用於幾乎所有的跨服務器通信。
Protocol Buffers和Apache Thrift和Ion等協議很相似,同時也提供了一個RPC協議棧gRPC來給上層服務使用。
語言支持
proto2提供一個程式產生器,支援C++、Java和Python。[1]
第三方實作支援JavaScript。[2]
proto3提供一個程式產生器,支援C++、Java (包含JavaNano)、Python、Go、Ruby、Objective-C和C#.[3]從 3.0.0 Beta 2 版開始支援JavaScript。[4]
第三方實作支援Perl、PHP、Dart、Scala和Julia.[5]
參考文獻
- ^ Protocol Buffers Language Guide. Google Developers. [2016-04-21]. (原始內容存檔於2016-05-13).
- ^ Protocol Buffers for JavaScript.. github.com. [2016-05-14]. (原始內容存檔於2017-02-22).
- ^ Protocol Buffers Language Guide (proto3). Google Developers. [2016-04-21]. (原始內容存檔於2016-04-22).
- ^ Protocol Buffers v3.0.0-beta-2. Google Developers. [2016-05-14].
- ^ 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).
外部連結
- Official project page(頁面存檔備份,存於網際網路檔案館) at developers.google.com
- Another official home page(頁面存檔備份,存於網際網路檔案館) at Github project hosting
- Protocol Buffers Objective-C
- Protocol Buffers Apple Swift