A cross-platform framework based on modern C++, supporting biz dev via Lua & JS.
| CI Status | Host | ||||
|---|---|---|---|---|---|
| Target | Android | ||||
| iOS | N/A | N/A | |||
| OHOS | |||||
| Windows | N/A | N/A | |||
| macOS | N/A | N/A | |||
| Linux | N/A | N/A | |||
| WASM | |||||
| Android | iOS | OHOS | 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.
| Standard | Feature | Unsupported Platforms |
|---|---|---|
| C++17 | std::from_chars for integer | iOS 16.5-, macOS 13.4-; |
| std::from_chars for float | All; | |
| C++20 | std::format | iOS 16.3-, macOS 13.3-, OHOS; |
| std::jthread | Apple; | |
| std::ranges | iOS 16.3-, macOS 13.3-, OHOS; | |
| Heterogeneous lookup for hash map/set | OHOS; | |
| std::source_location | OHOS; | |
| C++23 | std::move_only_function | Clang, Apple & OHOS; |
| std::ranges::to | Clang, Apple & OHOS; | |
| std::ranges::views::chunk | Clang, Apple & OHOS; | |
| std::ranges::views::enumerate | Clang, Apple & OHOS; | |
| std::out_ptr | OHOS; |
| Repo | Desc | Remark |
|---|---|---|
| ada-url | URL parser; | Requires std::ranges in C++20 |
| 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. |