Protocol Buffers 是什么?
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. —— Google Official Definition
简单地说,Protocol Buffers 就是一种轻量高效的结构化数据交换格式,语言无关、平台无关、可扩展。理解地直白粗暴一点就是“更厉害更面向未来的 JSON”,那么接下来我们就将通过 Swift 官方实现的 Protobuf 来一探究竟。
Swift Protobuf
从去掉软盘到干掉光驱,从摈弃 Flash 推广 HTML5 ,到现在干脆把标准音频接口抹去,苹果一向善于引领科技时尚,那么在面向未来的数据交换格式上自然不会落后,因此 Swift Protobuf 应运而生。
开始动手尝试吧
本来我想拿照官方示例来走一遍的,但这次正好有个绝佳的示例,既有客户端又有服务端,可以“做”享其成一次,其中还涉及到 Go 语言,趁此机会也可以把玩一番。
将 ProtoBufExample 克隆至本地
1
2
|
? git clone https:
//github.com/KyoheiG3/ProtobufExample.git
? cd ProtobufExample
|
配置客户端
1
2
|
? cd ./ProtobufClient
? pod install
|
初始化服务端
1
2
3
4
|
? cd ./ProtobufServer
? swift build
// 创建工程文件,以便在 Xcode 下编辑
? swift package generate-xcodeproj
|
启动 API
1
|
? ./.build/debug/api
|
配置并启动服务 with Go
1
2
|