Protocol Buffers

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Protocol Buffers
首次釋出2008年7月7日 (2008-07-07)
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      作業系統任何
      平台跨平台
      類型序列化格式與函式庫、介面描述語言編譯器
      特許條款
        Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)

        Protocol Buffers(簡稱:ProtoBuf)是一種開源跨平台的序列化資料結構的協定。其對於儲存資料或在網絡上進行通訊的程式是很有用的。這個方法包含一個介面描述語言,描述一些資料結構,並提供程式工具根據這些描述產生程式碼,這些代碼將用來生成或解析代表這些數據結構的位元組流。

        概覽[編輯]

        Google最初開發了Protocol Buffers用於內部使用。Protocol Buffers的設計目標是簡單和效能。特別地,它被設計地與XML相比更小且更快。

        Protocol Buffers在Google內被廣泛用來儲存和交換各種類型的結構化數據。在Google,它被當作一個RPC系統的基礎,並被用於幾乎所有的跨伺服器通訊。

        Protocol Buffers和Apache Thrift和Ion等協定很相似,同時也提供了一個RPC協定棧gRPC來給上層服務使用。

        語言支援[編輯]

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

        第三方實作支援JavaScript[2]

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

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

        參考文獻[編輯]

        1. ^ Protocol Buffers Language Guide. Google Developers. [2016-04-21]. (原始內容存檔於2016-05-13). 
        2. ^ Protocol Buffers for JavaScript.. github.com. [2016-05-14]. (原始內容存檔於2017-02-22). 
        3. ^ Protocol Buffers Language Guide (proto3). Google Developers. [2016-04-21]. (原始內容存檔於2016-04-22). 
        4. ^ Protocol Buffers v3.0.0-beta-2. Google Developers. [2016-05-14]. 
        5. ^ 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). 

        外部連結[編輯]