美文网首页
ProtoBuf 简单介绍

ProtoBuf 简单介绍

作者: 低智商游戏 | 来源:发表于2017-07-20 17:50 被阅读108次

关于Protobuf

Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,目前最新版本是3.1.0。它独立于语言,独立于平台。google 提供了多种语言的实现:Java、C#、C++、GoPython,Objective-C,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 XML 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

Protobuf优点

1,性能好,效率高 性能测试
2,代码生成机制,数据解析类自动生成,只要编写好proto文件,通过简单的命令,就可以生成多种语言的数据模型文件。
3,支持向后兼容和向前兼容
4,支持多种编程语言(java,c++,python)

Protobuf缺点

1, 应用不够广
2, 二进制格式导致可读性差, 如果没有.proto文件无法将数据解析出来

Mac下源代码下载以及工具编译

1 下载源代码。

git clone https://github.com/google/protobuf.git

2 安装autoconf, libtool和automake工具。在终端下一次执行以下命令

brew install autoconf
brew install libtool
brew install automake

3 进入objectivec/DevTools 目录 ,执行如下命令:

sudo sh full_mac_build.sh

执行完成之后会生成src/protoc可执行文件,使用这个可执行文件可以将.proto原型文件转化成objectc数据模型文件

不想费事自己编译的话,也可以直接执行如下命令安装

brew install –devel protobuf 

Protobuf语言指南

官方文档
中文翻译

java
c++
数据编码

--objc_out 在目标目录DST_DIR中产生Object C代码,

Model *model = [[Model alloc] init];
model.name = "";
......
NSData *data = [model data];
// save data to file or transfer it
Model *model = [[Model alloc] initWithData:data error:&error];
// model can be used          

相关文章

  • ProtoBuf 简单介绍

    关于Protobuf Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,...

  • Google Protocol buffer 学习笔记.上篇-简

    本次分上下两篇简单记录自己对protobuf协议的学习笔记, 上篇简单介绍protobuf, 记录了ubuntu系...

  • Protobuf的简单介绍

    Protobuf 作为一种跨平台、语言无关、可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储。其目前已...

  • Go Protobuf 资源的可读化

    工作上有大量协议采用 Google Protocol Buffer,关于 Protobuf 的简单介绍可以看 IB...

  • 微服务项目讲解

    内容目录如下: 什么是微服务? RPC 协议 ProtoBuf 使用protobuf 简单语法Protobuf 高...

  • protobuf介绍

    Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据...

  • Protobuf

    # Part 1: Protobuf Intro protobuf documentation详细介绍了关于pro...

  • Go语言与Protobuf

    1. Protobuf 介绍 Protobuf 是 Protocol Buffers 的简称 ,是Google开源...

  • 深入 ProtoBuf - 反射原理解析

    在介绍了 ProtoBuf 序列化原理之后,本文介绍 ProtoBuf 的反射技术原理。 反射技术简介 对于反射大...

  • Google Protocol Buffer 详述

    工作经常使用proto,但只是简单了解,没有深入学习,现梳理如下 1. protobuf 介绍 参见 https:...

网友评论

      本文标题:ProtoBuf 简单介绍

      本文链接:https://www.haomeiwen.com/subject/vvxjkxtx.html