Protocol Buffers在iOS中使用的简单介绍

1、Protocol Buffers概念


protocolbuffer(简称PB)是google的一种数据交换的格式。google提供了三种语言的实现:java、c++和python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用xml进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

2、为什么要使用Protocol Buufers?


(1)Protocol Buufers的优点

Protocol Buufers有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。只需使用Protocol Buufers对数据结构进行一次描述,即可利用各种不同语言或从各种不同数据流中对你的结构化数据轻松读写。

它有一个非常棒的特性,即向后兼容性好,人们不必破坏已部署的、依靠数据格式的程序就可以对数据结构进行升级。这样您的程序就可以不必担心因为消息结构的改变而造成的大规模的代码重构或者迁移的问题。因为添加新的消息中的field并不会引起已经发布的程序的任何改变。

Protocol Buufers语义更清晰,无需类似XML 解析器的东西(因为Protocol Buufers编译器会将.proto 文件编译生成对应的数据访问类以对Protocol Buufers数据进行序列化、反序列化操作)。

使用Protocol Buufers无需学习复杂的文档对象模型,Protocol Buufers的编程模式比较友好,简单易学,同时它拥有良好的文档和示例,对于喜欢简单事物的人们而言,Protocol Buufers比其他的技术更加有吸引力。


(2)Protocol Buufers 的不足

Protocol BuufersXML相比也有不足之处。它功能简单,无法用来表示复杂的概念。

XML已经成为多种行业标准的编写工具,Protocol Buufers只是Google 公司内部使用的工具,在通用性上还差很多。

由于文本并不适合用来描述数据结构,所以Protocol Buufers也不适合用来对基于文本的标记文档(如HTML)建模。另外,由于XML具有某种程度上的自解释性,它可以被人直接读取编辑,在这一点上 Protocol Buufers不行,它以二进制的方式存储,除非你有 .proto 定义,否则你没法直接读出Protocol Buufers的任何内容


3、Protocol Buufers在iOS中的使用简单介绍


在iOS中使用Protocol Buufers,需要借助于开源的力量,下载Obejective-C代码生成包(包地址)当然,在接下来的博客中,我将会把已经生成的Protocol buffers包和一些基本的配置方法和文件共享在github的demo项目中。接着:创建protocol编译器:

./autogen.sh

./configure

make

然后,便可以在终端中通过.proto文件生成pb.h和pb.m文件,导入工程使用。(ps:具体使用方法请关注接下来的博客)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值