One Logo Pool Ball
wwwwwwwwwwwwwwwwwww

Platform Support

What every One native API does on iOS, Android, and web, at a glance

Every One native API is importable on all three platforms, so one component tree builds everywhere. What differs is what a call does when it runs. This page sums that up per API; each name links to its page, whose Platform differences section has the details.

Reading the table

During server rendering there is no device or browser, so services read as unavailable there.

Shared views

APIiOSAndroidWeb
Text inputSwiftUIMaterial 3input element
ImageYesYesimg element
IconsSF SymbolsMaterialYour element
EffectsYesAndroid 12 blurCSS
GradientsYesYesCSS strings
Safe areaYesYesCSS insets
Adaptive layoutYesYesAlways regular
PortalYesYesYes
PagerYesYesScroll snap
MapMapKitGoogle MapsNothing
Picture in pictureYesYesInline only
Camera previewYesYesThrows
GesturesNativeNativeJS fallback
FontsYesYesCSS fonts

Platform views

APIiOSAndroidWeb
SwiftUI viewsYesThrowsThrows
Compose viewsThrowsYesThrows
ToolbarYesNothingNothing
Zoom transitionsiOS 18 and laterNothingNothing
Split viewiPadOne columnOne column
iOS colorsYesNullNull
Android colorsNullYesNull

Device and sensors

APIiOSAndroidWeb
DeviceYesYesBrowser data
App infoYesYesVersion only
BatteryYesYesStatus API
BrightnessYesYesAlways 1
NetworkYesYesOnline flag
MotionYesYesNo magnet
BarometerYesYesNever fires
Light sensorNeverWith a sensorSome browsers
PedometerYesLive onlyNever fires
HapticsYesYesNo effect
Keep awakeYesYesWake lock
Screen orientationYesYesScreen API
Screen captureYesYesNo effect

Storage and files

APIiOSAndroidWeb
StorageYesYesLocal storage
Secure storeKeychainKeystoreRejects
Protected storeYesAndroid 11 and laterRejects
DatabaseYesYesKey-value only
File systemYesYesBrowser storage
Document pickerYesYesFile dialog
ClipboardYesYesWhere allowed
CryptoYesYesYes

Media

APIiOSAndroidWeb
Image pickerYesYesFile dialog
Photo libraryYesNo album editsEmpty
Image manipulatorYesYesCanvas
AudioYesYesAudio element
SpeechYesYesBrowser API
Speech synthesisYesYesBrowser API
Document cameraYesThrowsThrows
Data scannerYesThrowsThrows
WebGPUYesYesBrowser

Location

APIiOSAndroidWeb
LocationYesYesNo geocoding
GeofencingYesWhile runningEmpty
Map searchYesSearch onlyEmpty

People and sharing

APIiOSAndroidWeb
ContactsYesYesPicker only
Contact UIYesThrowsThrows
CalendarYesYesEmpty
NotificationsYesYesRejects
Message UIYesThrowsThrows
ShareYesYesWeb share
Opening URLsYesYesNew tab
BrowserYesYesNew tab
PrintYesYesRejects

App and system

APIiOSAndroidWeb
Sign in with AppleYesRejectsRejects
BiometricsYesYesRejects
Device attestationYesRejectsRejects
App trackingYesDeniedDenied
PurchasesYesRejectsRejects
Store reviewYesYesNo effect
UpdatesYesYesRejects
Background tasksYesYesNo effect
Background workYesYesWeb worker
App iconYesYesNo effect
Launch screenYesYesNo effect
Quick actionsYesYesNothing
App intentsYesNothingNothing
WidgetsYesRejectsStarts reject

Edit this page on GitHub.