A cross-platform framework based on modern C++, supporting biz dev via Lua & JS.
👉 The Rust version(NGenRS) is in works.
Why Rust?
- Guarantee memory safety by the compiler, not the programmer;
- Powerful third-party dependency management tool - Crates, no need to struggle with CMake;
- First-class WASM support, no other toolchain needed(Like Emscripten);
- Complete cross-platform support - FFI, CXX, jni, ojbc2, ohos-rs.
Android | iOS | HarmonyOS | Windows | macOS | Linux | WebAssembly | |
---|---|---|---|---|---|---|---|
Lua Runtime | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
JS Runtime | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | 🛠️ |
Network | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
SQLite | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | 🛠️ |
Key-Value Store | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | 🛠️ |
JSON Codec | ✔️ | ✔️ | ✔️ | 🛠️ | ✔️ | ✔️ | 🛠️ |
Crypto | ✔️ | ✔️ | ✔️ | 🛠️ | ✔️ | ✔️ | 🛠️ |
Zip | ✔️ | ✔️ | 🛠️ | 🛠️ | ✔️ | ✔️ | 🛠️ |
Device Info | ✔️ | ✔️ | ✔️ | 🛠️ | ✔️ | 🛠️ | ❔ |
- ❔ : Unknown;
- ⭕ : Not supported;
- ❌ : With compiling error;
- 🛠️ : Under developing;
⁉️ : With running error;- ✔️ : Running well.
- Load Lua script with file;(Will trigger a prompt window)
- C/C++ callback JS function in async thread.
- C99, C++23;
- Clang 15+;
- CMake 3.10+;
- Xcode 14.0+, for iOS & macOS;
- Android Studio(or IntelliJ IDEA) with NDK r25+;
- DevEco Studio with Native SDK, for HarmonyOS;
- Emscripten, for WebAssembly.
Feature | Standard | Unsupported Platforms |
---|---|---|
std::format | C++20 | iOS 16.3-, macOS 13.3-, HarmonyOS Next; |
std::ranges | C++20 | iOS 16.3-, macOS 13.3-, HarmonyOS Next; |
std::ranges::chunk_view | C++23 | Not clear, maybe all? |