Spearal: 一个全新的序列化协议

阅读数:1600 2014 年 10 月 20 日

话题:语言 & 开发架构

Spearal 是一个全新、开源的序列化协议,该协议旨在替换 JSON 序列化协议,并将 HTML 和移动应用直接连接到 Java 的后端。Spearal 能够保证端点间复杂数据结构的传输能够良好的运行,它还提供了在标准 JSON 序列化协议中没有的高级功能, 如局部对象序列化、正确处理 JPA 未初始化的属性和外键属性、对象特性过滤等。目前,尽管 Spearal 还处在初期开发阶段, 不过已经实现了对 JavaScript 和 Java 的支持,基本实现了对 Android 的支持;iOS 版本使用苹果的新语言 Swift,目前还在初级开发阶段,还实现了对 JAX-RS 以及 Spring 的集成。当前,随着 Web 的不断发展以及异步数据请求在移动应用上的大规模应用,传送数据的序列化已经变成了一个重大问题,并且应用之间数据交换的事实标准的 JSON 存在着固有的一些不足,如它不能对自循环的对象序列化、缺乏对对象引用的支持、不保存所序列化对象的类名。尽管这些问题能够通过非标准的方法来解决,但是非标准方法的 JSON 编码和解码的效率相对比较低。而 Spearal 旨在突破 JSON 序列化协议的以上不足并替换 JSON 序列化协议。

另外,Spearal 项目托管在 GitHub 上,遵循 Apache 2.0 开源协议发布,相关子项目包括Spearal JSSpearal JavaSpearal Jpa2Spearal JaxrsSpearal Spring,目前还提供通过 Maven构建 Spearal 的所有模块的方式。更多 Spearal 相关信息请登录GitHub 上的项目主页Spearal 官网。目前,除了 JSON 和 Spearal 序列化协议外,还有轻量级的 Hessian 序列化协议、可扩展的序列化协议 OceanBase、Google 的 protocol buffer 协议等。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。