TL;DR:如果你已经有 .proto 或 .fbs Schema,并且希望支持共享/循环引用,那么使用 Fory 编译器时你可以保留这些 Schema,只需添加一小组 Fory 选项,再通过 foryc 生成 Fory 支持语言中的原生习惯模型,随后即可序列化对象图,无需手工通过 *_id 重建关联,也无需把整份 Schema 重写为 Fory Schema。
为 Protobuf/FlatBuffers Schema IDL 增加共享/循环引用支持
· 阅读需 7 分钟
TL;DR:如果你已经有 .proto 或 .fbs Schema,并且希望支持共享/循环引用,那么使用 Fory 编译器时你可以保留这些 Schema,只需添加一小组 Fory 选项,再通过 foryc 生成 Fory 支持语言中的原生习惯模型,随后即可序列化对象图,无需手工通过 *_id 重建关联,也无需把整份 Schema 重写为 Fory Schema。
TL;DR:Apache Fory Schema IDL 是首个面向对象图序列化的跨语言 IDL。你只需在 .fdl 文件中定义一次类型,编译器就能为 Java、Python、Go、Rust、C++、C#、Swift 等语言生成符合各语言习惯的领域对象,并在 Schema 模型中原生支持共享引用、循环、多态、Schema 演进和可选类型。