Category | Features | W3C Spec | Status | PWA.next | 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 | No | Yes |
YesCan be used within Alibaba's Native Apps including Alipay, Taobao, DingDing, 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` |
Yes`onShareAppMessage` |
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 |
Yes`manifest.json` |
Yes`app.json` |
Yes`app.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's `display.fullscreen` |
Yes | Yes |
User Interaction | Badging | Badging API | CGR | ? | No |
InternalInternal (in tabs) |
InternalInternal (in tabs) |
User Interaction | Dialogs | HTML dialog element |
Living Standard | Yes |
Yes`@system.prompt` |
Yes`popup` component |
Yes`popup` component |
User Interaction | Vibration | Vibration API | REC | Yes |
Yes`@system.vibrator` |
Yes`my.vibrate` |
Yes`swan.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 |
Partial`orientation` in Manifest |
No |
Yes`swan.onDeviceMotionChange |
User Interaction | User Idle Detection | User Idle Detection | DCGR | ? | No | No | No |
User Interaction | Wake Lock | Wake Lock API | WD | Yes |
Yes`brightness.setKeepScreenOn` |
Partialonly screen lock `my.setKeepScreenOn` |
Partialonly screen lock `swan.setKeepScreenOn` |
User Interaction | Clipboard | Clipboard API and events | WD | Yes |
Yes`@system.clipboard` |
Yes`my.getClipboard`, `my.setClipboard` |
Yes`swan.setClipboardData`, `swan.getClipboardData` |
User Interaction | execCommand() | execCommand | Discontinued | No | No | No | No |
User Interaction | History API | The `History` interface | Living Standard | Yes |
Yes`@system.router` |
Yes`navigator` component |
Yes`navigator` component |
User Interaction | Shape detection in Images | Accelerated Shape Detection in Images | CGR | Yes |
Yes`@system.barcode` |
YesBarcode |
Yes`swan.scanCode`, `swan.ai.faceDetect`, `swan.ai.advancedGeneralIdentify` |
User Interaction | Shake detection | No | No |
Yes`my.watchShake` |
No | ||
User Interaction | Detection of User Screenshots | No |
Yes`@system.screenshot` |
Yes`my.onUserCaptureScreen` |
Yes`swan.onUserCaptureScreen` |
||
User Interaction | Alarms | No |
Yes`@system.alarm` |
No | No | ||
Payment and Services | Payment | Payment Method: Basic Card | WG Note | Yes |
Yes`@service.pay` (WeChat + Alipay) |
Yes`my.tradePay` |
Yes`swan.requestPolymerPayment` |
Payment and Services | Payment | Payment Method Identifiers | PR | Yes |
Yes`@service.pay` (WeChat + Alipay) |
Yes`my.tradePay` |
Yes`swan.requestPolymerPayment` |
Payment and Services | Payment | Payment Handler API | WD | Yes |
Yes`@service.pay` (WeChat + Alipay) |
Yes`my.tradePay` |
Yes`swan.requestPolymerPayment` |
Payment and Services | Payment | Payment Request API | PR | Yes |
Yes`@service.pay` (WeChat + Alipay) |
Yes`my.tradePay` |
Yes`swan.requestPolymerPayment` |
Network and Communications | Push Messages | Push API | WD | Yes |
Yes`@service.push` |
Yes`alipay.open.app.mini.templatemessage.send` |
YesTemplate Message, Customer Service Message |
Network and Communications | Fetch | Fetch | Living Standard | Yes |
Yes`@system fetch` |
Yes`my.request` |
Yes`swan.request` |
Network and Communications | WebSocket | Web sockets | Living Standard | Yes |
YesWebSocket (`@system.websocketfactory`) |
Yes`my.connectSocket` |
Yes`WebSocket` |
Network and Communications | (BLE) iBeacon | No | No |
Yes`iBeacon` |
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` |
Yes`calendar` element |
Yes`swan.addEventOnCalendar` |
||
Forms | Date Picker | `input` date state | REC | Yes |
Yes`picker` element |
Yes`my.datePicker` |
Yes`picker` component (`mode=date`) |
Forms | City Picker | No | No |
Yes`my.chooseCity` |
Yes`picker` element (`mode=region`) |
||
Forms | Color Picker | `input` color state | REC | Yes |
Yes`picker` element |
No | No |
Sensors and Local Interactions | Ambient Light Sensor | Ambient Light Sensor | WD | Yes |
Yes`sensor.subscribeLight` |
No | No |
Sensors and Local Interactions | Proximity Sensor | Proximity Sensor | WD | Yes |
Yes`sensor.subscribeProximity` |
No | No |
Sensors and Local Interactions | Orientation Event | DeviceOrientation Event | WD | Yes |
Yes`sensor.subscribeCompass` |
Yes`my.onCompassChange`, `offCompassChange` |
Yes`swan.onCompassChange`, `swan.startCompass`, `swan.stopCompass` |
Sensors and Local Interactions | Orientation Sensor | Orientation Sensor | WD | Yes |
Yes`sensor.subscribeCompass` |
Yes`my.onCompassChange`, `my.offCompassChange` |
Yes`swan.onCompassChange`, `swan.startCompass`, `swan.stopCompass` |
Sensors and Local Interactions | Magnetometer | Magnetometer | WD | Yes |
Yes`sensor.subscribeCompass` |
Yes`my.onCompassChange`, `my.offCompassChange` |
Yes`swan.onCompassChange`, `swan.startCompass`, `swan.stopCompass` |
Sensors and Local Interactions | Gyroscope | Gyroscope | CR | Yes | No |
Yes`my.onGyroscopeChange`, `offGyroscopeChange` |
No |
Sensors and Local Interactions | Accelerometer | Accelerometer | CR | Yes |
Yes`sensor.subscribeAccelerometer` |
Yes`my.onAccelerometerChange`, `offAccelerometerChange` |
Yes`swan.onAccelerometerChange`, `swan.offAccelerometerChange` |
Sensors and Local Interactions | Geolocation | Geolocation Sensor | WD | Yes |
Yes`@system.geolocation` |
YesLocation |
Yes`swan.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` |
Yes`my.getSystemInfo` |
Yes`swan.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` |
Yes`my.getSystemInfo` |
Yes`swan.getSystemInfo` |
||
Sensors and Local Interactions | Network Information | Network Information API | CGR | ? |
Yes`@system.network` |
Yes`my.getNetworkType` |
Yes`swan.getNetworkType` |
Sensors and Local Interactions | Screen Brightness Control | No |
Yes`@system.brightness` |
Yes`my.setScreenBrightness`, `my.getScreenBrightness` |
Yes`swan.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 | ? |
Yes`@system.contact` (pick and list) |
Yes`my.addPhoneContact` |
Yes`swan.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 |
Yes`my.makePhoneCall` |
Yes`swan.makePhoneCall` |
Sensors and Local Interactions | Modifying System Settings | No |
YesYes (locale and themes) |
Partial`my.openSetting` |
Partial`swan.openSetting` |
||
Graphics and Layout | Animations | Web Animations | WD | Yes |
YesCSS-based |
Yes`my.createAnimation` |
Yes`swan.createAnimation` |
Graphics and Layout: | Canvas | HTML `canvas` element | REC | Yes |
Yes`canvas` element |
Yes`canvas` element |
Yes`canvas` element |
Graphics and Layout | Local Font Access | Local Font Access API | CGR | ? | No | No | No |
Media | Recording | MediaStream Recording | WD | Yes |
Yes`@system.record` |
Yes`my.getRecorderManager` (partially disabled) |
Yes`RecorderManager` |
Media | Media Capture and Streams | Media Capture and Streams | REC | Yes |
Yes`@system.media` |
Yes`my.chooseImage`... |
Yes`swan.chooseImage`... |
Media | Media Capture | HTML Media Capture | REC | Yes |
Yes`@system.media` |
Yes`my.chooseImage`... |
Yes`swan.chooseImage`... |
Media | Media Capture Image | MediaStream Image Capture | WD | Yes |
Yes`@system.media` |
Yes`my.chooseImage`... |
Yes`swan.chooseImage`... |
Media | Audio | HTML `audio` element | REC | Yes |
Yes`@system.audio` |
Yes`my.createInnerAudioContext` |
Yes`audio` element |
Media | Video | HTML `video` element | REC | Yes |
Yes`video` element |
Yes`video` element |
Yes`video` element |
Media | Image Manipulation | No |
Yes`@system.image` |
No | No | ||
Media | Map | No |
Yes`map` component |
Yes`map` component |
Yes`map` component |
||
Security and Privacy | Web Crypto API | Web Cryptography API | REC | Yes |
Yes`@system.cipher` |
Yes`my.rsa` |
No |
Security and Privacy | Authentication | Web Authentication | REC | Yes |
Yes`@service.account` |
Yes`my.getAuthCode` |
Yes`swan.authorize` |
Security and Privacy | Permissions | Permissions | WD | Yes |
YesManifest's `permissions` member |
Yesapp.json `permission` member |
Yesapp.json `permission` member |
Security and Privacy | SMS OTP Retriever | SMS OTP Retriever | Proposal | ? |
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 |
Yes`swan.getEnvInfoSync` |
||
Security and Privacy | User Information | No | No |
Yes`my.getAuthUserInfo` |
Yes`swan.getUserInfo` |
||
Security and Privacy | Third-party Accounts | No |
Yes`@service.qqaccount`, `@service.wxaccount`, `@service.wbaccount` |
No | No | ||
Security and Privacy | Data Analysis | No | No |
Yes`my.reportAnalytics` |
Yes`swan.reportAnalytics` |
||
Security and Privacy | Text Risk Identification | No | No |
Yes`my.textRiskIdentification` |
Yes`swan.ai.textReview` |
||
Security and Privacy | Image Risk Identification | No | No |
Yes`my.ap.imgRisk` |
Yes`swan.ai.imageAudit` |
||
Security and Privacy | Fingerprint Authentication | No | No | No | No | ||
Security and Privacy | Face Authentication | No | No |
YesFace Authentication |
Yes`swan.ai.faceMatch` |
||
Performance | Memory Warning | No | No |
Yes`my.onMemoryWarning` |
Yes`swan.onMemoryWarning` |