Category | Features | W3C Spec | Status | PWA.next (Chrome, Edge) | QuickApp (Xiaomi, Huawei) | Alipay Mini Program | Baidu Smart Mini Program |
---|---|---|---|---|---|---|---|
OS | Android | Yes | Yes | Yes | Yes | ||
OS | iOS | Partial | No | Yes | Yes | ||
OS | Chrome OS | Yes (Chrome 67+) | No | No | No | ||
OS | Windows | Yes (Chrome 70+) | No | No | No | ||
OS | Linux | Yes (Chrome 70+) | No | No | No | ||
Engine | Engine | Browser Engines |
Native, WebView, V8No Chromium layout engine but with V8 engine, more lightweight.Providing pure WebAPIs to app developers, Web JS APIs are mapped from Android native APIs and part of standard WebAPIs. Template part (with HTML tags) in .ux file mapping to single android native views and combined view components, provided native performance
experiences. CSS subset: Mapping to attributes of Android View (e.g. position , color )
|
Native, WebView, V8Native (rendering) + WebView (rendering) + Worker (Data storage and business logic) + V8 (use UC browser engine) |
Native, WebView, V8Rendering: Native+WebViewLogic: V8/JavaScript Core |
||
File format | Page | .html , .js , .css |
.ux , .js , .css |
.axml , .js , .acss |
.swan , .js , .css |
||
ES6 | ES6 | Yes | Yes | Yes | Yes | ||
Release | Audit | No | Yes | Yes | Yes | ||
Release | App store integration |
Partial
|
Yes |
YesCan be used within Alibaba's native apps including Alipay, Taobao, DingTalk, Gaode, ELE.me |
YesCan be used within Baidu App and Open Source Union apps, such as iQiyi, Bilibili, Wifi and so on |
||
Modular | Customized Component |
Web Components
|
REC | Yes | Yes | Yes | Yes |
Installation | Add to home screen | Web Application Manifest | WD | Yes | Yes |
YesVia A2HS feature on Safari |
Yes |
Discoverable | Discoverable | Yes |
YesSearch within system search bar, management apps, app store, browsers, home page etc. |
YesSearch within Alipay. |
YesSearch with Baidu search engine. |
||
Application Lifecycle | Web Share | Web Share API | WD | Yes |
Yes@system.share , @service.share
|
YesonShareAppMessage
|
Yes |
Application Lifecycle | Splash screen | Splash Screen in Manifest | On Hold | Yes | Yes | No | No |
Application Lifecycle | Service Workers | Service Workers Nightly | WD | Yes | No | Yes | NoNo necessary |
Application Lifecycle | Manifest | Web App Manifest | WD | Yes |
Yesmanifest.json |
Yesapp.json |
Yesapp.json |
Application Lifecycle | App Info | Web App Manifest + Application Information | WD |
YesManifest metadata |
Yes@system.app
|
No | No |
User Interaction | Fullscreen | Media Queries - Display Mode | WD | Yes |
Yesmanifest'sdisplay.fullscreen
|
Yes | Yes |
User Interaction | Badging | Badging API | CGR |
Yesnavigator.setAppBadge() Badge implementation on host platforms: Android 8.0 (Oreo) or higher, Windows 7 or higher, iOS has support for badging APIs, not currently supported on Chrome OS. |
No |
InternalInternal (in tabs) |
InternalInternal (in tabs) |
User Interaction | Dialogs | HTML dialog element |
Living Standard | Yes |
Yes@system.prompt |
Yespopup component |
Yespopup component |
User Interaction | Vibration | Vibration API | REC | Yes |
Yes@system.vibrator |
Yesmy.vibrate |
Yesswan.vibrateLong , swan.vibrateShort |
User Interaction | Notification | Notifications API | Living Standard | Yes |
Yes@system.notification |
YesNotice |
YesTemplate MessageCustomer Service Message |
User Interaction | Screen Orientation | The Screen Orientation API | WD | Yes |
Partialorientation in Manifest |
No |
Yesswan.onDeviceMotionChange |
User Interaction | User Idle Detection | User Idle Detection | DCGR |
YesIdleDetector() Chrome 94 or higher on Android and desktop. |
No | No | No |
User Interaction | Wake Lock | Wake Lock API | WD | Yes |
Yesbrightness.setKeepScreenOn |
Partialonly screen lockmy.setKeepScreenOn |
Partialonly screen lockswan.setKeepScreenOn |
User Interaction | Clipboard | Clipboard API and events | WD | Yes |
Yes@system.clipboard |
Yesmy.getClipboard , my.setClipboard |
Yesswan.setClipboardData , swan.getClipboardData |
User Interaction | execCommand() | execCommand | Discontinued | No | No | No | No |
User Interaction | Navigation (History) API Shared Element Transitions |
Navigation API Shared Element Transitions |
DCGR |
Yesnavigation.navigate() The Navigation APIs is the MUCH improved version of History API. Supported on Chrome/Webview 102 or higher on Android and desktop. The Shared Element Transitions API is available in Chrome Canary as of version 101 behind a flag at chrome://flags/#document-transition |
Yes@system.router |
Yesnavigator component |
Yesnavigator component |
User Interaction | Shape detection in Images | Accelerated Shape Detection in Images | CGR | Yes |
Yes@system.barcode |
YesBarcode |
Yesswan.scanCode , swan.ai.faceDetect , swan.ai.advancedGeneralIdentify |
User Interaction | Shake detection | No |
Yesmy.watchShake |
No | |||
User Interaction | Detection of User Screenshots | No |
Yes@system.screenshot |
Yesmy.onUserCaptureScreen |
Yesswan.onUserCaptureScreen |
||
User Interaction | Alarms |
PartialgetNotifications() showNotification() The Notification Triggers API allows you to schedule local notifications that don't require a network connection. It is no longer pursued but the requirements of recurring notification triggers still exist. |
Yes@system.alarm |
No | No | ||
Payment and Services | Payment | Payment Method: Basic Card | WG Note | Yes |
Yes@service.pay (WeChat + Alipay) |
Yesmy.tradePay |
Yesswan.requestPolymerPayment |
Payment and Services | Payment | Payment Method Identifiers | PR | Yes |
Yes@service.pay (WeChat + Alipay) |
Yesmy.tradePay |
Yesswan.requestPolymerPayment |
Payment and Services | Payment | Payment Handler API | WD | Yes |
Yes@service.pay (WeChat + Alipay) |
Yesmy.tradePay |
Yesswan.requestPolymerPayment |
Payment and Services | Payment | Payment Request API | PR | Yes |
Yes@service.pay (WeChat + Alipay) |
Yesmy.tradePay |
Yesswan.requestPolymerPayment |
Network and Communications | Push Messages | Push API | WD | Yes |
Yes@service.push |
Yesalipay.open.app.mini.templatemessage.send |
YesTemplate Message, Customer Service Message |
Network and Communications | Fetch | Fetch | Living Standard | Yes |
Yes@system fetch |
Yesmy.request |
Yesswan.request |
Network and Communications | WebSocket | Web sockets | Living Standard | Yes |
YesWebSocket (@system.websocketfactory ) |
Yesmy.connectSocket |
YesWebSocket |
Network and Communications | (BLE) iBeacon | Web Bluetooth Scanning | DCGR |
Partialnavigator.bluetooth.requestLEScan() Partial development on Android and Mac with flag required for Scanning API. |
No |
YesiBeacon |
No |
DataStorage | Storage | Web Storage | REC | Yes |
Yes@system.storage |
YesCache |
YesCache |
DataStorage | File API | File API | WD | Yes |
Yes@system.file |
YesFile API |
YesFile API |
DataStorage | File System Access API | File System Access API | CGR | ? |
Yes@system.file , @system.request |
YesFile API |
YesFile API |
DataStorage | File Handling | File Handling | Proposal | Yes | No | No | Partial |
DataStorage | IndexedDB | Indexed Database API 3.0 | WD | Yes | No | No | No |
Forms | Calendar | No |
Yes@system.calendar |
Yescalendar element |
Yesswan.addEventOnCalendar |
||
Forms | Date Picker | input date state
|
REC | Yes |
Yespicker element |
Yesmy.datePicker |
Yespicker component (mode=date ) |
Forms | City Picker | No | No |
Yesmy.chooseCity |
Yespicker element (mode=region ) |
||
Forms | Color Picker | input color state |
REC | Yes |
Yespicker element |
No | No |
Sensors and Local Interactions | Ambient Light Sensor | Ambient Light Sensor | WD | Yes |
Yessensor.subscribeLight |
No | No |
Sensors and Local Interactions | Proximity Sensor | Proximity Sensor | WD | Yes |
Yessensor.subscribeProximity |
No | No |
Sensors and Local Interactions | Orientation Event | DeviceOrientation Event | WD | Yes |
Yessensor.subscribeCompass |
Yesmy.onCompassChange , offCompassChange |
Yesswan.onCompassChange , swan.startCompass , swan.stopCompass |
Sensors and Local Interactions | Orientation Sensor | Orientation Sensor | WD | Yes |
Yessensor.subscribeCompass |
Yesmy.onCompassChange , my.offCompassChange |
Yesswan.onCompassChange , swan.startCompass , swan.stopCompass |
Sensors and Local Interactions | Magnetometer | Magnetometer | WD | Yes |
Yessensor.subscribeCompass |
Yesmy.onCompassChange , my.offCompassChange |
Yesswan.onCompassChange , swan.startCompass , swan.stopCompass |
Sensors and Local Interactions | Gyroscope | Gyroscope | CR | Yes | No |
Yesmy.onGyroscopeChange , offGyroscopeChange |
No |
Sensors and Local Interactions | Accelerometer | Accelerometer | CR | Yes |
Yessensor.subscribeAccelerometer |
Yesmy.onAccelerometerChange , offAccelerometerChange |
Yesswan.onAccelerometerChange , swan.offAccelerometerChange |
Sensors and Local Interactions | Geolocation | Geolocation Sensor | WD | Yes |
Yes@system.geolocation |
YesLocation |
Yesswan.getLocation , swan.chooseLocation , swan.openLocation |
Sensors and Local Interactions | Generic Sensor | Generic Sensor API | CR | Yes |
Yes@system.sensor |
Yes |
NoNon generic |
Sensors and Local Interactions | WebHID | WebHID API | CGR | Yes | No | No | No |
Sensors and Local Interactions | Web Serial | Serial API | CGR | Yes | No | No | No |
Sensors and Local Interactions | Battery Status | Battery Status API | WD | Yes |
Yes@system.battery |
Yesmy.getSystemInfo |
Yesswan.getBatteryInfo , swan.getBatteryInfoSync |
Sensors and Local Interactions | NFC | Web NFC API | CGR | Yes |
Yes@system.nfc |
No | No |
Sensors and Local Interactions | Bluetooth | Web Bluetooth | CGR | Yes |
Yes@system.bluetooth |
No | |
Sensors and Local Interactions | Device Info | No |
Yes@system.device |
Yesmy.getSystemInfo |
Yesswan.getSystemInfo |
||
Sensors and Local Interactions | Network Information | Network Information API | CGR | ? |
Yes@system.network |
Yesmy.getNetworkType |
Yesswan.getNetworkType |
Sensors and Local Interactions | Screen Brightness Control | Screen Wake Lock API | WD |
No (WIP)The need to control screen brightness is still in progress. |
Yes@system.brightness |
Yesmy.setScreenBrightness , my.getScreenBrightness |
Yesswan.setScreenBrightness , swan.getScreenBrightness |
Sensors and Local Interactions | System Volume Control | No |
Yes@system.volume |
No | No | ||
Sensors and Local Interactions | Third-party App Management | No |
Yes@system.package |
No(only managed by Alipay) |
No(only managed by Baidu App) |
||
Sensors and Local Interactions | Contacts Management | Contact Picker API | Proposal |
Yesnavigator.contacts Available on Android (Chrome 80+) |
Yes@system.contact (pick and list) |
Yesmy.addPhoneContact |
Yesswan.addPhoneContact |
Sensors and Local Interactions | SMS Management | No |
Yes@system.sms |
No | No | ||
Sensors and Local Interactions | Wi-Fi Management | No |
Yes@system.wifi |
YesWi-Fi API |
YesWi-Fi API |
||
Sensors and Local Interactions | Card | No | Yes | No | No | ||
Sensors and Local Interactions | Phone Call | Web Telephony API | Discontinued | No | No |
Yesmy.makePhoneCall |
Yesswan.makePhoneCall |
Sensors and Local Interactions | Modifying System Settings | No |
YesYes (locale and themes) |
Partialmy.openSetting |
Partialswan.openSetting |
||
Graphics and Layout | Animations | Web Animations | WD | Yes |
YesCSS-based |
Yesmy.createAnimation |
Yesswan.createAnimation |
Graphics and Layout: | Canvas | HTML canvas element |
REC | Yes |
Yescanvas element |
Yescanvas element |
Yescanvas element |
Graphics and Layout | Local Font Access | Local Font Access API | CGR |
YesqueryLocalFonts() Chrome 103 or higher |
No | No | No |
Media | Recording | MediaStream Recording | WD | Yes |
Yes@system.record |
Yesmy.getRecorderManager (partially disabled) |
YesRecorderManager |
Media | Media Capture and Streams | Media Capture and Streams | REC | Yes |
Yes@system.media |
Yesmy.chooseImage ... |
Yesswan.chooseImage ... |
Media | Media Capture | HTML Media Capture | REC | Yes |
Yes@system.media |
Yesmy.chooseImage ... |
Yesswan.chooseImage ... |
Media | Media Capture Image | MediaStream Image Capture | WD | Yes |
Yes@system.media |
Yesmy.chooseImage ... |
Yesswan.chooseImage ... |
Media | Audio | HTML audio element
|
REC | Yes |
Yes@system.audio |
Yesmy.createInnerAudioContext |
Yesaudio element |
Media | Video | HTML video element
|
REC | Yes |
Yesvideo element |
Yesvideo element |
Yesvideo element |
Media | Image Manipulation | No |
Yes@system.image |
No | No | ||
Media | Map | No |
Yesmap component |
Yesmap component |
Yesmap component |
||
Security and Privacy | Web Crypto API | Web Cryptography API | REC | Yes |
Yes@system.cipher |
Yesmy.rsa |
No |
Security and Privacy | Authentication | Web Authentication | REC | Yes |
Yes@service.account |
Yesmy.getAuthCode |
Yesswan.authorize |
Security and Privacy | Permissions | Permissions | WD | Yes |
YesManifest'spermissions member |
Yesapp.jsonpermission member |
Yesapp.jsonpermission member |
Security and Privacy | One-time Password (OTP) | WebOTP | DCGR |
YesOTPCredential Chrome 93 or higher |
Yes@system.sms |
No | No |
Security and Privacy | Sign up API | Sign up with phone number API | Proposal | ? | No | No | No |
Security and Privacy | Statistics | No |
Yes@service.stats |
No |
YesProvide statistics plan |
||
Security and Privacy | Account Information | No |
Yes@service.account |
No |
Yesswan.getEnvInfoSync |
||
Security and Privacy | User Information | No | No |
Yesmy.getAuthUserInfo |
Yesswan.getUserInfo |
||
Security and Privacy | Third-party Accounts | No |
Yes@service.qqaccount , @service.wxaccount , @service.wbaccount |
No | No | ||
Security and Privacy | Data Analysis | No | No |
Yesmy.reportAnalytics |
Yesswan.reportAnalytics |
||
Security and Privacy | Text Risk Identification | No | No |
Yesmy.textRiskIdentification |
Yesswan.ai.textReview |
||
Security and Privacy | Image Risk Identification | No | No |
Yesmy.ap.imgRisk |
Yesswan.ai.imageAudit |
||
Security and Privacy | Fingerprint Authentication | WebAuthn | CR | No | No | No | |
Security and Privacy | Face Authentication | WebAuthn | CR |
YesSupported via WebAuthn |
No |
YesFace Authentication |
Yesswan.ai.faceMatch |
Performance | Memory Warning | No | No |
Yesmy.onMemoryWarning |
Yesswan.onMemoryWarning |