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

阅读数:1715 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 JS Spearal Java Spearal Jpa2 Spearal Jaxrs Spearal Spring ,目前还提供通过 Maven构建Spearal 的所有模块的方式。更多Spearal 相关信息请登录 GitHub 上的项目主页 Spearal 官网。目前,除了 JSON 和 Spearal 序列化协议外,还有轻量级的 Hessian 序列化协议、可扩展的序列化协议 OceanBase、Google 的 protocol buffer 协议等。


感谢郭蕾对本文的审校。

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

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论