This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git
The following commit(s) were added to refs/heads/main by this push:
new 90930396b docs: added what-is-apache-fory? in the introduction docs
(#378)
90930396b is described below
commit 90930396ba7075fb19d7ac7dd012506c1adbe007
Author: Ayush Kumar <[email protected]>
AuthorDate: Fri Dec 26 13:07:59 2025 +0530
docs: added what-is-apache-fory? in the introduction docs (#378)
As per the slack discussion, i have added the requested "What is Apache
Fory" section the docs for the new comers to know what exactly apache
fory is.
Changes I made -
1. Added a new file
`versioned_docs/version-0.14/docs/introduction/what-is-fory.md`.
2. Changed the sidebar_position of `features` and `benchmarks` sections
to push them behind of `What is Apache Fory`.
---------
Co-authored-by: Shawn Yang <[email protected]>
---
docs/docs/introduction/benchmark.md | 2 +-
docs/docs/introduction/features.md | 2 +-
docs/docs/introduction/what-is-fory.md | 114 +++++++++++++++++++++
.../version-0.14/docs/introduction/benchmark.md | 2 +-
.../version-0.14/docs/introduction/features.md | 2 +-
.../version-0.14/docs/introduction/what-is-fory.md | 114 +++++++++++++++++++++
6 files changed, 232 insertions(+), 4 deletions(-)
diff --git a/docs/docs/introduction/benchmark.md
b/docs/docs/introduction/benchmark.md
index 64727d459..fed473ebc 100644
--- a/docs/docs/introduction/benchmark.md
+++ b/docs/docs/introduction/benchmark.md
@@ -1,7 +1,7 @@
---
id: benchmark
title: Benchmark
-sidebar_position: 3
+sidebar_position: 4
---
> **Note**: Different serialization frameworks excel in different scenarios.
> Benchmark results are for reference only.
diff --git a/docs/docs/introduction/features.md
b/docs/docs/introduction/features.md
index aa297263d..54d9a1791 100644
--- a/docs/docs/introduction/features.md
+++ b/docs/docs/introduction/features.md
@@ -1,7 +1,7 @@
---
id: features
title: Features
-sidebar_position: 2
+sidebar_position: 3
---
## Core Capabilities
diff --git a/docs/docs/introduction/what-is-fory.md
b/docs/docs/introduction/what-is-fory.md
new file mode 100644
index 000000000..4eadbba89
--- /dev/null
+++ b/docs/docs/introduction/what-is-fory.md
@@ -0,0 +1,114 @@
+---
+id: what-is-fory
+title: What is Apache Fory?
+sidebar_position: 2
+---
+
+## In simple terms
+
+**Apache Fory** is a **fast and efficient way to convert data and objects into
bytes and back**, so they can be:
+
+- sent over the network
+- stored on disk
+- shared between different programming languages
+
+This process is commonly called **serialization**.
+
+---
+
+## Why does Fory exist?
+
+Most applications need to move data:
+
+- between services
+- between machines
+- between different programming languages
+
+While many serialization tools exist, they often have trade-offs:
+
+- slow performance
+- large data size
+- limited cross-language support
+- complex schemas or IDLs
+
+**Fory focuses on solving these problems** by being:
+
+- **High-performance**
+- **Cross-language**
+- **Easy to use**
+- **Schema-less (no IDL required)**
+
+---
+
+## What problem does Fory solve?
+
+Imagine you have:
+
+- a Java service
+- a Python service
+- a Rust service
+
+All of them need to exchange complex objects.
+
+With Fory:
+
+- you don’t need to define schemas
+- you don’t need to generate code
+- you don’t need to worry about language differences
+
+You just serialize the object in one language and deserialize it in another.
+
+Fory is especially useful when:
+
+- Java needs to communicate with Python
+- Rust needs to communicate with Java
+- Data moves inside distributed systems
+- Performance and efficiency are critical
+
+---
+
+## A very small example
+
+This example shows how a Java object can be serialized and then deserialized
in another language without defining schemas, IDLs, or generated code.
+
+### Step 1: Define a data object (Java)
+
+Create a simple Java class that represents the data you want to serialize.
+
+```java
+public class User {
+ public String name;
+ public int age;
+
+ public User(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+}
+```
+
+### Step 2: Serialize the object (Java)
+
+Use Fory to serialize the object into a compact binary representation.
+
+```java
+User user = new User("Alice", 20);
+
+// Serialize the object
+byte[] bytes = fory.serialize(user);
+```
+
+At this point, the `User` object is converted into the Fory binary format,
which follows the Fory serialization protocol. This protocol defines how data,
types, and references are encoded so that objects can be safely stored,
transmitted, and deserialized across different programming languages.
+
+### Step 3: Deserialize the object (Python)
+
+The same binary data can be deserialized in another language without any
additional configuration.
+
+```python
+user = fory.deserialize(bytes)
+
+print(user.name) # Alice
+print(user.age) # 20
+```
+
+Fory automatically reconstructs the object structure and values, preserving
types and references.
diff --git a/versioned_docs/version-0.14/docs/introduction/benchmark.md
b/versioned_docs/version-0.14/docs/introduction/benchmark.md
index 64727d459..fed473ebc 100644
--- a/versioned_docs/version-0.14/docs/introduction/benchmark.md
+++ b/versioned_docs/version-0.14/docs/introduction/benchmark.md
@@ -1,7 +1,7 @@
---
id: benchmark
title: Benchmark
-sidebar_position: 3
+sidebar_position: 4
---
> **Note**: Different serialization frameworks excel in different scenarios.
> Benchmark results are for reference only.
diff --git a/versioned_docs/version-0.14/docs/introduction/features.md
b/versioned_docs/version-0.14/docs/introduction/features.md
index aa297263d..54d9a1791 100644
--- a/versioned_docs/version-0.14/docs/introduction/features.md
+++ b/versioned_docs/version-0.14/docs/introduction/features.md
@@ -1,7 +1,7 @@
---
id: features
title: Features
-sidebar_position: 2
+sidebar_position: 3
---
## Core Capabilities
diff --git a/versioned_docs/version-0.14/docs/introduction/what-is-fory.md
b/versioned_docs/version-0.14/docs/introduction/what-is-fory.md
new file mode 100644
index 000000000..4eadbba89
--- /dev/null
+++ b/versioned_docs/version-0.14/docs/introduction/what-is-fory.md
@@ -0,0 +1,114 @@
+---
+id: what-is-fory
+title: What is Apache Fory?
+sidebar_position: 2
+---
+
+## In simple terms
+
+**Apache Fory** is a **fast and efficient way to convert data and objects into
bytes and back**, so they can be:
+
+- sent over the network
+- stored on disk
+- shared between different programming languages
+
+This process is commonly called **serialization**.
+
+---
+
+## Why does Fory exist?
+
+Most applications need to move data:
+
+- between services
+- between machines
+- between different programming languages
+
+While many serialization tools exist, they often have trade-offs:
+
+- slow performance
+- large data size
+- limited cross-language support
+- complex schemas or IDLs
+
+**Fory focuses on solving these problems** by being:
+
+- **High-performance**
+- **Cross-language**
+- **Easy to use**
+- **Schema-less (no IDL required)**
+
+---
+
+## What problem does Fory solve?
+
+Imagine you have:
+
+- a Java service
+- a Python service
+- a Rust service
+
+All of them need to exchange complex objects.
+
+With Fory:
+
+- you don’t need to define schemas
+- you don’t need to generate code
+- you don’t need to worry about language differences
+
+You just serialize the object in one language and deserialize it in another.
+
+Fory is especially useful when:
+
+- Java needs to communicate with Python
+- Rust needs to communicate with Java
+- Data moves inside distributed systems
+- Performance and efficiency are critical
+
+---
+
+## A very small example
+
+This example shows how a Java object can be serialized and then deserialized
in another language without defining schemas, IDLs, or generated code.
+
+### Step 1: Define a data object (Java)
+
+Create a simple Java class that represents the data you want to serialize.
+
+```java
+public class User {
+ public String name;
+ public int age;
+
+ public User(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+}
+```
+
+### Step 2: Serialize the object (Java)
+
+Use Fory to serialize the object into a compact binary representation.
+
+```java
+User user = new User("Alice", 20);
+
+// Serialize the object
+byte[] bytes = fory.serialize(user);
+```
+
+At this point, the `User` object is converted into the Fory binary format,
which follows the Fory serialization protocol. This protocol defines how data,
types, and references are encoded so that objects can be safely stored,
transmitted, and deserialized across different programming languages.
+
+### Step 3: Deserialize the object (Python)
+
+The same binary data can be deserialized in another language without any
additional configuration.
+
+```python
+user = fory.deserialize(bytes)
+
+print(user.name) # Alice
+print(user.age) # 20
+```
+
+Fory automatically reconstructs the object structure and values, preserving
types and references.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]