title: Overview sidebar_position: 0 id: index license: | Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Start with a language page below. Each page includes a release-pinned installation, a runnable object-serialization round trip, the modes available for that language, and a short path into every additional Fory capability available there.

Apache Fory™ releases are available as source artifacts and language-specific packages. For source downloads, see the Apache Fory™ download page.

First Five Minutes

  1. Choose the language used by your application.
  2. Install the package shown on that language page.
  3. Run its minimal serialize/deserialize example.
  4. Select xlang mode for cross-language data or native mode for data handled by one Fory implementation family when both are available.
  5. Continue to the capability guide for production configuration and advanced APIs.

Choose a Language

Each language page provides a version-pinned installation snippet, a minimal round trip for an application project, and the next capability-specific steps:

LanguageSetup
JavaJava
PythonPython
C++C++
GoGo
RustRust
JavaScript/TypeScriptJavaScript/TypeScript
C#C#
SwiftSwift
DartDart
ScalaScala
KotlinKotlin

What You Can Build

CapabilityUse it forAvailable languagesDetailed guide
Object SerializationReconstruct object graphs, including shared references and schema changesAll languagesObject Serialization
Row FormatTrusted analytical data with zero-copy, random, or partial field accessJava, Python, C++, RustRow Format
Fory JSONHigh-performance standard JSON mappingJava, Kotlin, ScalaFory JSON
Fory IDLGenerate native models and serializers from Fory, protobuf, or FlatBuffers IDLAll languagesFory IDL and Compiler
Fory gRPCUse generated models over normal gRPC transports with Fory-encoded messagesJava, Python, C++, Go, Rust, JavaScript, C#, Dart, Scala, KotlinFory gRPC

Object Serialization uses xlang mode for portable cross-language data. Java, Python, C++, Go, Rust, Scala, and Kotlin also offer native mode for data handled by one Fory implementation family. Use Choose a Format when you have not yet chosen a format.