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? |