Protocol Buffers
页面Template:Multiple issues/styles.css没有内容。页面Module:Message box/mbox.css没有内容。
本条目存在以下问题,请协助改善本条目或在讨论页针对议题发表看法。
页面Module:Message box/mbox.css没有内容。
|
页面Module:Infobox/styles.css没有内容。
| 首次发布 | 2008年7月7日 |
|---|---|
| 当前版本 | Template:Software version |
| 源代码库 | 页面Template:Plainlist/styles.css没有内容。
|
| 引擎 | 页面Template:Plainlist/styles.css没有内容。 |
| 操作系统 | 任何 |
| 平台 | 跨平台 |
| 类型 | 序列化格式与函数库、接口描述语言编译器 |
| 许可协议 | 页面Template:Plainlist/styles.css没有内容。 |
| 页面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++、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]
参考文献[编辑]
- ↑ package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
- ↑ package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
- ↑ package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
- ↑ package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
- ↑ package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
外部链接[编辑]
- Official project page(页面存档备份,存于互联网档案馆) at developers.google.com
- Another official home page(页面存档备份,存于互联网档案馆) at Github project hosting
- Protocol Buffers Objective-C
- Protocol Buffers Apple Swift
package.lua第80行Lua错误:module 'Module:NavboxV2/NavboxContext' not found package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found