Platform Capabilities
Hybrid clients target Android, iOS, Windows and macOS through Mac Catalyst. The Wisej UI runs in the client's WebView; device operations use native handlers. A shared API or a successful build does not establish that every operation works on every target.
Start with Getting Started, then choose Local or Remote hosting. Both modes depend on the same native client for device access.
Check capabilities on the device
Check Device.Valid before using Hybrid integrations in an application that can also run in a browser. Use each module's availability properties, request its permissions, and handle failure and user cancellation. Hardware, OS version, entitlements and installed apps can change the result.
| Operation | Reference | Setup or example |
|---|---|---|
| Media capture | DeviceMedia | Camera permission and a device with a camera |
| Email composition | DeviceEmail | |
| External app launching | DeviceLauncher | Launch External Apps |
| Haptics and vibration | DeviceHapticFeedback, DeviceVibration | Haptic Feedback, Vibration |
| Local notifications | DeviceLocalNotification | Notifications |
| Device permissions | DevicePermissions | Configure the native client's manifest or Info.plist |
Extension source status
The following describes the 4.1 source audit of 30 September 2026, rather than a promise about all published package versions. Authentication, Bluetooth, CameraPreview, DocumentScanner, MLKit, Mesa, Notifications and USB were inspected. Full runtime coverage across all eight modules and all four platforms has not been established. See Release Notes for published packages and the separate work in progress.
| Module | Android | iOS | Windows | macOS / Mac Catalyst |
|---|---|---|---|---|
| Authentication | Implementation present | Implementation present | Implementation present | Implementation present |
| Bluetooth | Partial implementation; shared API defects remain | Partial implementation; shared API defects remain | Stub | Stub |
| USB | Scaffold | Scaffold | Scaffold | Scaffold |
| CameraPreview | Implementation present | Implementation present | No implementation | No implementation |
| DocumentScanner capture | Implementation present | Implementation present | No implementation | Unsupported |
| DocumentScanner OCR | Unsupported | Implementation present | No implementation | Implementation present |
| MLKit modal barcode scanner | Implementation present | Implementation present | Implementation present | Implementation present |
| Mesa | Vendor hardware integration | Unsupported | Unsupported | Unsupported |
| Notifications | Source present; event and payload gaps | Source present; event and payload gaps | Source present; event and payload gaps | Source present; event and payload gaps |
Implementation present means source exists for the operation; it does not mean it passed device tests or is included in a released package. Partial, Stub and Scaffold describe incomplete work. Bluetooth and USB are omitted from the root extension solution, so building that solution does not validate them. Desktop MLKit excludes the live OCR and embedded scanner controls; its modal barcode scanner is a separate capability. Mesa requires supported Android vendor hardware.
For biometric setup, package pairing and registration, see Hybrid Extensions. For document capture versus OCR, see Document Scanner. Remote Push Notifications remains work in progress.
Apple and Windows development
iOS and Mac Catalyst builds require a Mac, a compatible Xcode installation, the matching .NET SDK and MAUI workloads, and signing configuration for the intended device or distribution method. See macOS Desktop Development and the sample repository setup.
Windows uses WebView2. Validate the application on its intended Windows version, including native permissions, notification behavior and media hardware. Desktop support in the core runtime does not add a desktop handler to an extension that only implements mobile platforms.