# 2.1 Integration

## C++

- Interface Status:
  - Native interface ✔️
  - Full functionality available ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ❌
  - Protocol parsing encapsulation ❌
- [Source](https://github.com/MaaXYZ/MaaFramework/tree/main/include)
- [Download](https://github.com/MaaXYZ/MaaFramework/releases)
- [Sample](https://github.com/MaaXYZ/MaaFramework/blob/main/sample/cpp)
- [Unit Testing](https://github.com/MaaXYZ/MaaFramework/tree/main/test)

## Python

- Interface Status:
  - Officially supported, adapted to the latest version ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
  - Protocol parsing encapsulation ✔️
- [Source](https://github.com/MaaXYZ/MaaFramework/tree/main/source/binding/Python)
- [Download](https://pypi.org/project/MaaFw/)
- [Sample](https://github.com/MaaXYZ/MaaFramework/tree/main/sample/python)
- [Unit Testing](https://github.com/MaaXYZ/MaaFramework/tree/main/test/python)

## NodeJS

- Interface Status:
  - Officially supported, adapted to the latest version ✔️
  - Full functionality available ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
  - Protocol parsing encapsulation ✔️
- [Source](https://github.com/MaaXYZ/MaaFramework/tree/main/source/binding/NodeJS)
- [Document](./NodeJS/J1.1-QuickStarted.md)
- [Download](https://npmjs.com/@maaxyz/maa-node)
- [Sample](https://github.com/MaaXYZ/MaaFramework/tree/main/sample/nodejs)
- [Unit Testing](https://github.com/MaaXYZ/MaaFramework/tree/main/test/nodejs)

## CSharp

- Interface Status:
  - Officially supported, adapted to the latest version ✔️
  - Full functionality available ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
    - Callback Packaging: NotificationCallback is wrapped as a event named Callback, others are wrapped as interfaces.
  - Protocol parsing encapsulation ❓
    - Partially supported via the Binding.Extensions library
- [Repository](https://github.com/MaaXYZ/MaaFramework.Binding.CSharp)
- [Download](https://www.nuget.org/packages/Maa.Framework)
- [Sample](https://github.com/MaaXYZ/MaaFramework.Binding.CSharp/tree/main/sample)
- [Unit Testing](https://github.com/MaaXYZ/MaaFramework.Binding.CSharp/tree/main/src/MaaFramework.Binding.UnitTests)

## Golang

- Interface Status:
  - Officially supported, adapted to the latest version ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
  - Protocol parsing encapsulation ✔️
- [Repository](https://github.com/MaaXYZ/maa-framework-go)
- [Sample](https://github.com/MaaXYZ/maa-framework-go/tree/main/examples)
- [Unit Testing](https://github.com/MaaXYZ/maa-framework-go/tree/main/test)

## Java

- Interface Status:
  - Adapted only to v3, now outdated 🙁
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
  - Protocol parsing encapsulation ❌
- [Repository](https://github.com/hanhuoer/maa-framework-java)
- [Download](https://central.sonatype.com/namespace/io.github.hanhuoer)
- [Sample](https://github.com/hanhuoer/maa-framework-java/blob/main/maa-sample/README.md)
- [Unit Testing](https://github.com/hanhuoer/maa-framework-java/blob/main/maa-core/src/test)

## Rust

- Interface Status:
  - Officially supported, adapted to the latest version ✔️
  - Full functionality available ✔️
  - Sample provided ✔️
  - Unit Testing via CI ✔️
  - Standardized interface ✔️
  - Protocol parsing encapsulation ✔️
- [Repository](https://github.com/MaaXYZ/maa-framework-rs)
- [Download](https://crates.io/crates/maa-framework)
- [Sample](https://github.com/MaaXYZ/maa-framework-rs/tree/main/examples)
- [Unit Testing](https://github.com/MaaXYZ/maa-framework-rs/tree/main/tests)

## And More

Language support is inseparable from the contributions of collaborators! If you also want to add an interface of a certain language to MaaFramework, please refer to [Standardized Interface Design](4.2-StandardizedInterfaceDesign.md) and submit a PR to us!
