美文网首页
iOS开发之OC swift中使用protobuf

iOS开发之OC swift中使用protobuf

作者: DanielXinYi | 来源:发表于2019-04-21 13:51 被阅读0次

    最近换了工作,新公司使用的是protobuf,第一次看到我也是一脸蒙圈,经过一段时间的摸索,总算是有了一点了解,分享出来希望对大家了解protobuf有用。因为是初次接触,资料较少,所以有一些观点都是自己的主观意识,如果有错误请及时指出,及时修改,以免误导了后来使用者。

    protobuf是什么呢?
    网上搜索得出如下结果:Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。我的理解就是类似xml json的数据结构.
    那么他相对于xml,json有什么优势呢?我觉得有以下几点
    1.多端通用,只需要维护一份源文件即可.
    2.性能高,效率高,更快,更小,这一点网上有具体的数据可以说明,但是相对于一般的app来说其实json也够用.
    3.传输的时候采用二进制编码(转Data)有一定的安全性。
    4.个人心得:我在使用过程中感觉就是,不管是请求还是响应都有对应的类来,不需要考虑转换到事情,基本不会出现因为数据闪退的情况,而且数据解析使用比较简单,不需要考虑这一块的,只管使用。比较不爽的就是每次修改一点就要全部编译,因为文件中也有一些相互引用不知道是否是我司的问题.后续熟悉了来解决。

    那么在iOS开发中如何使用protobuf?
    1.首先不管语言,都要在电脑上安装protobuf的编译器,需要注意的时候 最好是跟后端约定好版本,我是用的是3.0.0.手动安装,
    链接如下https://link.jianshu.com/?t=https%3A%2F%2Fgithub.com%2Fgoogle%2Fprotobuf%2Freleases
    2.其次根据语言 在项目中使用不同的protobuf支持库,
    OC项目中,因为是老项目所以是直接手动拖入的。
    swift项目中 推荐cocopods 使用protobufswift.是苹果官方出的github链接如下
    https://github.com/apple/swift-protobuf
    3.根据不同的pb文件编译出来自己语言所需要的文件
    这一步我们是后端定义好pb文件,然后我们拿到之后根据使用的语言编译成不同的,直接拉到项目中使用.如果是自己项目内使用可以参考如下文章https://www.jianshu.com/p/16a7c1e68945 有完整的安装使用说明.

    基本的使用就都在上面了,因为也是第一次接触,所以很多东西不是很懂,现在分享出来的也是自己接触过程中的一些资料.下一篇文章会有protobuf如何配合网络请求使用。文章链接如下https://www.jianshu.com/p/346b3cf4a55c

    相关文章

      网友评论

          本文标题:iOS开发之OC swift中使用protobuf

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