Introduction
Binary Object Serialization reconstructs object graphs, including registered application types, collections, polymorphic values, and optional shared references.
Choose a mode
| Mode | Use it when | Start here |
|---|---|---|
| Xlang (default) | Bytes cross language boundaries | Xlang Serialization |
| Native | Every writer and reader uses one Fory implementation family | Native serialization |
Xlang and native are the only object-serialization modes. Row Format is a random-access analytical representation, and Fory JSON is a Java JSON codec; use the format chooser when object reconstruction is not your goal.
Read the concepts and modes
Read these pages before choosing the Fory API for a language:
- Core Concepts explains object graphs, types, schemas, references, polymorphism, and schema evolution across both modes.
- Xlang Serialization explains the portable format used by default and the rules that Fory implementations in different languages must share.
- Native Serialization explains when an implementation-specific native format is appropriate.
Browse by language
Choose a language to find its installation route, lifecycle, exact APIs, configuration, type registration, schema behavior, extensions, platforms, and troubleshooting:
| Language | Modes | Documentation |
|---|---|---|
| Java | xlang and native | Java guide |
| Python | xlang and native | Python guide |
| C++ | xlang and native | C++ guide |
| Go | xlang and native | Go guide |
| Rust | xlang and native | Rust guide |
| JavaScript/TypeScript | xlang | JavaScript/TypeScript guide |
| C# | xlang | C# guide |
| Swift | xlang | Swift guide |
| Dart | xlang | Dart guide |
| Scala | xlang and JVM native | Scala guide |
| Kotlin | xlang and JVM native | Kotlin guide |