即时通讯应用(包括IM聊天应用、实时消息推送应用等)在选择数据传输格式的时候,相信没有真正实践过的人,都会犹豫该怎么选择。在即时通讯开发者同行的眼里,怎么选择其实是个极富争议话题。
Protobuf简介
一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的。
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,详情访问protobuf的google官方网站。
protobuf在google中是一个比较核心的基础库,作为分布式运算涉及到大量的不同业务消息的传递,如何高效简洁的表示、操作这些业务消息在google这样的大规模应用中是至关重要的。而protobuf这样的库正好是在效率、数据大小、易用性之间取得了很好的平衡。
Protobuf简单总结
灵活、高效:
灵活(方便接口更新)、高效(效率经过google的优化,传输效率比普通的XML等高很多);
易于使用:
开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持java、c++、python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。即时通讯聊天软件app开发可以加小蓝豆咨询