Skip to content
CAI
Software that uses CAICheck a score

dcloudio/uni-app

25.6

Weak · 1 October 2026

58.4k

lines of production code

Swift

with JavaScript, C, Kotlin

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This repository is the source code for uni-app X, a cross-platform framework supporting Android, iOS, and HarmonyOS. It provides the core infrastructure for the UTS (Uni-app TypeScript) plugin system, enabling native API access and UI components through standardized modules. The codebase includes specific integrations for WeChat, Amap, and Lottie, along with example applications and automated tests to validate platform-specific behaviors.

Features

Add iOS WeChat SDK and Android map marker implementation

This update adds the WeChat Open SDK (version 2.0.5) for iOS to the \uni-requestMerchantTransfer\ module, enabling features such as standardized XCFramework integration, clipboard permission handling on iOS 16+, and fixes for app launch stability. It also introduces the \AmapMarker\ component for Android within the \uni-map-amap\ module, which handles marker creation and updates using local or remote image assets via Glide.

_repository, src/uni\modules/uni-requestMerchantTransfer/utssdk/app-ios/Libs/WeChatSDK · high confidence

New UTS example app with native API demos

The \examples/hello-uts\ directory now contains a complete example application for the uni-app-x platform, demonstrating how to use UTS (Uni-app TypeScript) to access native device capabilities. The example includes modules for retrieving battery information on Android and iOS, displaying native alert and prompt dialogs, and registering activity lifecycle callbacks. It also provides a comprehensive syntax case page to test UTS features such as synchronous and asynchronous methods, class constructors, static properties, and ArrayBuffer memory sharing.

examples · high confidence

New UTS plugins for action sheet and phone contact APIs

Added UTS plugin implementations for the \uni.showActionSheet\ and \uni.addPhoneContact\ APIs. The \uni-actionSheet\ plugin provides a cross-platform action sheet UI with support for dark mode, landscape layouts, and popover positioning on web. The \uni-addPhoneContact\ plugin implements contact creation on HarmonyOS using the Contacts Kit, including permission handling for \ohos.permission.WRITE\_CONTACTS\. A new \README.md\ was also added to \src/uni\_modules\ to document UTS plugins and the UTS language.

_src/uni\modules · high confidence

Behavioural changes

Updated Lottie iOS framework binaries in uni-animation-view

The \uni-animation-view\ module now includes updated Lottie iOS framework binaries for both device (arm64) and simulator (arm64\_x86\_64) architectures. This change updates the compiled Swift module interfaces and ABI definitions, ensuring compatibility with the latest Lottie SDK version for iOS app builds.

(repo-wide) · high confidence

Updated WeChat iOS SDK to version 2.0.5

The WeChat iOS SDK libraries included in the \uni-oauth-weixin\ and \uni-share-weixin\ modules have been updated to version 2.0.5. This update introduces support for modular integration using standardized XCFramework header imports (e.g., \\#import \<WechatOpenSDK/WXApi.h\>\), which resolves path conflicts and enables Swift and Objective-C mixed development. It also includes a fix for occasional failures when opening the WeChat app (\openWXApp\).

_src/uni\_modules/uni-oauth-weixin/utssdk/app-ios/Libs/WeChatSDK, src/uni\modules/uni-share-weixin/utssdk/app-ios/Libs/WeChatSDK · high confidence

Test coverage

Added automated tests for animation frame and base64 APIs

New test files have been added to the test directory to verify specific API behaviors. The animation-frame test validates that requestAnimationFrame callbacks execute and can be successfully cancelled via cancelAnimationFrame. The base64 test verifies the arrayBufferToBase64 conversion and, on iOS platforms, the base64ToArrayBuffer conversion. A README has also been added to document the structure of unit tests and page tests within the project.

test · high confidence

Dependencies

Initial release of uni-app X and UTS plugin infrastructure

This change introduces the foundational structure for the new uni-app X framework and its UTS (Uni-app TypeScript) plugin system. It adds the root \package.json\ for the \uni-app-x\ workspace, along with example projects for UTS (\hello-uts\) and uVue (\hello-uvue\). Crucially, it populates the \src/uni\_modules\ directory with metadata manifests for a wide range of native APIs (such as camera, clipboard, audio, and canvas) and UI components, defining their support for Kotlin, Swift, and ArkTS across Android, iOS, and HarmonyOS platforms.

(dependencies) · high confidence

Housekeeping

Repository initialized with uni-app x source, documentation, and Apache 2.0 license

The repository has been initialized with the core files for the uni-app x edition, including the Apache 2.0 license, a comprehensive changelog detailing platform-specific fixes and features for Android, iOS, HarmonyOS, and Web, and updated README documentation explaining the framework's architecture and cross-platform capabilities. Additionally, standard project configuration files such as .gitignore and .gitattributes have been added to support the development workflow.

(repo-wide) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 33 → 26 (-7.4)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 54 → 54 (+0.1)
  • Architecture 96 → 98 (+1.7)
  • Maturity 73 → 73 (+0.0)
  • Readiness 24 → 34 (+9.3)
  • Security 37 → 58 (+21.1)
  • Event-Driven 10 (new)
  • Event Sourcing 52 → 52 (+0.0)
  • Accessibility 30 → 30 (+0.0)
  • Performance 62 (new)

Resolved (7)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (docs/README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (src/code-review/package-lock.json)
  • High CVE: [GHSA redacted] (src/code-review/package-lock.json)
  • High CVE: [GHSA redacted] (yarn.lock)

New (30)

  • Documentation: no installation or build instructions (docs/native/README.md)
  • Documentation: no installation or build instructions (src/uni_modules/native-button/readme.md)
  • Documentation: no project overview (src/uni_modules/native-button/readme.md)
  • Documentation: no usage examples (docs/native/README.md)
  • Duplicated block (10 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • Duplicated block (10 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • Duplicated block (11 lines × 2) (examples/hello-uts/uni_modules/uts-animation-view/utssdk/app-ios/lottie-ios/Public/DynamicProperties/ValueProviders/PointValueProvider.swift)
  • Duplicated block (11 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • Duplicated block (13 lines × 2) (src/uni_modules/uni-barcode-scanning/utssdk/app-android/Scanner.kt)
  • Duplicated block (13 lines × 3) (src/uni_modules/uni-camera/utssdk/app-android/CameraImpl.kt)
  • Duplicated block (16 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • Duplicated block (20 lines × 2) (src/uni_modules/uni-camera/utssdk/app-android/CameraImpl.kt)
  • Duplicated block (5 lines × 2) (src/uni_modules/uni-web-view/utssdk/app-android/NativeWebViewImpl.kt)
  • Duplicated block (7 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioFocusHelper.kt)
  • Duplicated block (7 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • Duplicated block (7 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-ios/UniAudioPlayer.swift)
  • Duplicated block (7 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-ios/UniAudioPlayer.swift)
  • Duplicated block (7 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-ios/UniAudioPlayer.swift)
  • Duplicated block (8 lines × 2) (src/uni_modules/uni-createInnerAudioContext/utssdk/app-android/AudioPlayer.kt)
  • High CVE: [GHSA redacted] (src/code-review/package-lock.json)
  • …and 10 more

Changes since last survey

  • 65 commits — 65 feature/other, 0 fixes

By area

  • docs/api — 20 commits
  • docs/ai — 9 commits
  • docs/css — 7 commits
  • docs/component — 6 commits
  • docs/plugin — 5 commits
  • docs/_sidebar.md — 4 commits
  • docs/collocation — 3 commits
  • docs/mp — 3 commits
  • docs/tutorial — 3 commits
  • docs/vue — 2 commits
  • docs/native — 1 commit
  • docs/uniappvsuniappx.md — 1 commit
  • docs/uts — 1 commit

Notable commits

  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • change: chore: update docs
  • …and 45 more

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

dcloudio/uni-app was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 185737fb71c6203826da5fcc8110774d25667394 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.