Kuikly is a comprehensive cross-platform solution for UI and logic based on Kotlin multi-platform. It was launched by Tencent's company-level Oteam in the front-end field. It aims to provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. Currently supported platforms:
- Android
- iOS
- HarmonyOS
- Web (Beta)
- Mini Programs (Beta)
- macOS (Alpha)
Since its launch, Kuikly has gained wide recognition from the business. It has been used by many products such as QQ, QQ Music, QQ Browser, Tencent News, Sogou Input Method, MyApp Hub(Tencent's app store), WeSing, Kugou Music, Kuwo Music, Tencent Self-selected Stock, ima.copilot, Weishi, etc.
- Cross-platform: Kotlin-based implementation ensuring consistent operation across multiple platforms - one codebase, six platforms
- Native performance: Generates platform-native binaries (.aar/.framework/.so)
- Native development experience: Native UI rendering, native toolchain support, Kotlin as primary language
- Lightweight: Minimal SDK footprint (AOT mode: ~300KB for Android, ~1.2MB for iOS)
- Dynamic capability: Supports compilation into dynamic deliverables
- Multiple paradigms: Supports both declarative & reactive programming, with self-developed DSL and Compose DSL
.
├── core # Cross-platform module implementing core capabilities like responsive UI, layout algorithms, Bridge communication, etc.
├── src
├── commonMain # Shared cross-platform code, defining cross-platform interfaces
├── androidMain # Android platform implementation (outputs aar)
├── jvmMain # Generic JVM platform code (no Android APIs, outputs jar)
├── appleMain # apple platform (iOS & macOS) implementation (outputs framework)
├── ohosArm64Main # Ohos platform implementation(outputs so)
├── jsMain # H5 and MiniApp platform implementation(outputs js)