Protocol Buffers

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索

页面Template:Multiple issues/styles.css没有内容。页面Module:Message box/mbox.css没有内容。

页面Module:Infobox/styles.css没有内容。

Protocol Buffers
首次发布2008年7月7日 (2008-07-07)
当前版本Template:Software version
源代码库页面Template:Plainlist/styles.css没有内容。
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
引擎页面Template:Plainlist/styles.css没有内容。
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统任何
    平台跨平台
    类型序列化格式与函数库、接口描述语言编译器
    许可协议页面Template:Plainlist/styles.css没有内容。
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      页面Module:Infobox/styles.css没有内容。

      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. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      2. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      3. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      4. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      5. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found

      外部链接[编辑]

      package.lua第80行Lua错误:module 'Module:NavboxV2/NavboxContext' not found package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found