A cross-platform framework based on modern C++, supporting biz dev via Lua & JS.
👉 The Rust version(DynRS) is in works.
Android | iOS | HarmonyOS | Windows | macOS | Linux | WASM | |
---|---|---|---|---|---|---|---|
Lua Runtime | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⭕ |
JS Runtime | ✔️ | ✔️ | ✔️ | ❕ | ✔️ | ✔️ | ⭕ |
Network | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SQLite | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⭕ |
Key-Value Store | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⭕ |
JSON Codec | ✔️ | ✔️ | ✔️ | ❕ | ✔️ | ✔️ | ✔️ |
Crypto | ✔️ | ✔️ | ✔️ | ❕ | ✔️ | ✔️ | ✔️ |
Zip | ✔️ | ✔️ | ❕ | ❕ | ✔️ | ✔️ | ✔️ |
Device Info | ✔️ | ✔️ | ✔️ | 🔨 | ✔️ | 🔨 | ❌ |
Log | ✔️ | ✔️ | ✔️ | ❕ | ✔️ | ✔️ | ✔️ |
- ❔ : Unknown;
- ❌ : Not supported;
- ⭕ : Limited supported;
- 🔨 : Under developing;
⁉️ : Failed to compile;- ❕ : Succeed to compile, not tested;
- ❗ : With running error;
- ✔️ : Tested.
Unsupported Features in WASM:
- Load Lua script with file;(Will trigger a prompt window)
- C/C++ callback JS function in async thread.
Feature | Standard | Unsupported Platforms |
---|---|---|
std::from_chars for integer | C++17 | iOS 16.5-, macOS 13.4-; |
std::from_chars for float | C++17 | All; |
std::format | C++20 | iOS 16.3-, macOS 13.3-, HarmonyOS; |
std::ranges | C++20 | iOS 16.3-, macOS 13.3-, HarmonyOS; |
std::jthread | C++20 | Apple; |
Heterogeneous lookup for hash map/set | C++20 | HarmonyOS; |
std::ranges::views::enumerate | C++23 | Clang, Apple & HarmonyOS; |
std::ranges::views::chunk | C++23 | Clang, Apple & HarmonyOS; |
std::move_only_function | C++23 | Clang, Apple & HarmonyOS; |
- ada-url: URL parser;(Requires
std::ranges
in C++20) - android-ifaddrs: The missing
ifaddrs
for Android; - curl: Networking;
- cJSON: JSON codec;
- iOS-cmake: CMake toolchain for Apple platforms;
- json.lua: JSON codec for Lua;
- libuv: Asynchronous I/O;
- lua: Lua runtime;
- MMKV: Key-value storage;
- openssl: Crypto;
- quickjs: JS runtime;
- spdlog: File logging;
- sqlite: DB storage;
- zlib: Compression.