Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 99 additions & 97 deletions resources/supported-platforms.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,130 +3,132 @@ title: "Supported Platforms"
description: "Supported platforms and feature availability for each PowerSync Client SDK across mobile, web, and desktop."
---

_Note: We are working on documenting the Minimum Platform for all SDKs._

## <Icon icon="flutter" iconType="solid" size={32}/> Dart/Flutter SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| Android | Yes (x86-64, aarch64, armv7) | Requires Flutter |
| iOS | Yes | Requires Flutter |
| macOS | Yes (x86-64, aarch64) | |
| Windows | Yes (x86-64, x86, aarch64) | |
| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | |
| Web | Yes | Only dart2js is tested, dart2wasm has issues |
| HTTP connection method | Yes | |
| WebSocket connection method | No | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| Android | Yes (x86-64, aarch64, armv7) | | Requires Flutter |
| iOS | Yes | | Requires Flutter |
| macOS | Yes (x86-64, aarch64) | | |
| Windows | Yes (x86-64, x86, aarch64) | | |
| Linux | Yes (x86-64, x86, aarch64, armv7, riscv64gc) | | |
| Web | Yes | | Only dart2js is tested, dart2wasm has issues |
| HTTP connection method | Yes | | |
| WebSocket connection method | No | | |

## <Icon icon="react" iconType="solid" size={32}/> React Native SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| React Native | Yes | |
| React Native w/ Expo | Yes | |
| React Native for Web | Yes | |
| React Strict DOM | YMMV - not tested | |
| React Native for Windows | No | |
| HTTP connection method | Yes | Legacy (supported) |
| WebSocket connection method | Yes | Default |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| React Native | Yes | | |
| React Native w/ Expo | Yes | | |
| React Native for Web | Yes | | |
| React Strict DOM | YMMV - not tested | | |
| React Native for Windows | No | | |
| HTTP connection method | Yes | | Legacy (supported) |
| WebSocket connection method | Yes | | Default |

## <Icon icon="js" iconType="solid" size={32}/> JS/Web SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| Chrome & Chrome-based | Yes | See VFS notes |
| Firefox | Yes | OPFS Not supported in private tabs |
| Safari | Yes | OPFS Not supported in private tabs |
| HTTP connection method | Yes | |
| WebSocket connection method | Yes | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| Chrome & Chrome-based | Yes | | See VFS notes |
| Firefox | Yes | | OPFS Not supported in private tabs |
| Safari | Yes | | OPFS Not supported in private tabs |
| HTTP connection method | Yes | | |
| WebSocket connection method | Yes | | |

## <Icon icon="c" iconType="solid" size={32}/> Capacitor SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| iOS | Yes | Uses native SQLite via Capacitor Community SQLite. |
| Android | Yes | Uses native SQLite via Capacitor Community SQLite. |
| Web | Yes | Uses WASQLite via the PowerSync Web SDK. |
| Electron | Yes | Uses WASQLite via the PowerSync Web SDK. |
| HTTP connection method | Yes | |
| WebSocket connection method | Yes | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| iOS | Yes | | Uses native SQLite via Capacitor Community SQLite. |
| Android | Yes | | Uses native SQLite via Capacitor Community SQLite. |
| Web | Yes | | Uses WASQLite via the PowerSync Web SDK. |
| Electron | Yes | | Uses WASQLite via the PowerSync Web SDK. |
| HTTP connection method | Yes | | |
| WebSocket connection method | Yes | | |

## <Icon icon="/logo/tauri.svg" iconType="solid" size={32}/> Tauri SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| Windows | Yes | Untested. |
| macOS | Yes | |
| Linux | Yes | |
| iOS | Yes | Untested. |
| Android | Yes | Untested. |
| HTTP connection method | Yes | Connections must currently be managed through Rust. |
| WebSocket connection method | No | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| Windows | Yes | | Untested. |
| macOS | Yes | | |
| Linux | Yes | | |
| iOS | Yes | | Untested. |
| Android | Yes | | Untested. |
| HTTP connection method | Yes | | Connections must currently be managed through Rust. |
| WebSocket connection method | No | | |


## <Icon icon="node-js" iconType="solid" size={32}/> Node.js SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| macOS | Yes | |
| Linux | Yes | |
| Windows | Yes | |
| HTTP connection method | Yes | |
| WebSocket connection method | Yes | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| macOS | Yes | | |
| Linux | Yes | | |
| Windows | Yes | Windows 10<br />Node.js v20.18.1 | |
| HTTP connection method | Yes | | |
| WebSocket connection method | Yes | | |

## <Icon icon="android" iconType="solid" size={32}/> Kotlin SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| Android | Yes (x86-64, x86, aarch64, armv7) | |
| Android native | No | |
| iOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | |
| macOS (native) | Yes (x86-64, aarch64) | |
| macOS catalyst (native) | No | Blocked on [KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)](https://youtrack.jetbrains.com/issue/KT-40442/Support-building-Kotlin-Native-for-Mac-Catalyst-x86-64-and-arm64) |
| watchOS | Yes (aarch64 device, armv8 32-bit pointers ABI, x86-64 and aarch64 simulators) | |
| tvOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | |
| visionOS | No | Blocked on [KT-59571: Add support for visionOS SDK](https://youtrack.jetbrains.com/issue/KT-59571/Add-support-for-visionOS-SDK) |
| Windows (JVM) | Yes (x86-64 only) | |
| Linux (JVM) | Yes (x86-64, aarch64) | |
| macOS (JVM) | Yes (x86-64, aarch64) | |
| Linux (native) | No | Maybe soon |
| Windows (native) | No | Maybe soon |
| JS | No | |
| WebAssembly | No | |
| HTTP connection method | Yes | |
| WebSocket connection method | Yes | Note: Only as an automated fallback for clients without backpressure support. |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| Android | Yes (x86-64, x86, aarch64, armv7) | Android SDK 24 | |
| Android native | No | | |
| iOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | |
| macOS (native) | Yes (x86-64, aarch64) | | |
| macOS catalyst (native) | No | | Blocked on [KT-40442: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)](https://youtrack.jetbrains.com/issue/KT-40442/Support-building-Kotlin-Native-for-Mac-Catalyst-x86-64-and-arm64) |
| watchOS | Yes (aarch64 device, armv8 32-bit pointers ABI, x86-64 and aarch64 simulators) | | |
| tvOS | Yes (aarch64 device, x86-64 and aarch64 simulators) | | |
| visionOS | No | | Blocked on [KT-59571: Add support for visionOS SDK](https://youtrack.jetbrains.com/issue/KT-59571/Add-support-for-visionOS-SDK) |
| Windows (JVM) | Yes (x86-64 only) | | |
| Linux (JVM) | Yes (x86-64, aarch64) | | |
| macOS (JVM) | Yes (x86-64, aarch64) | | |
| Linux (native) | No | | Maybe soon |
| Windows (native) | No | | Maybe soon |
| JS | No | | |
| WebAssembly | No | | |
| HTTP connection method | Yes | | |
| WebSocket connection method | Yes | | Note: Only as an automated fallback for clients without backpressure support. |

## <Icon icon="swift" iconType="solid" size={32}/> Swift SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| macOS | Yes | |
| iOS | Yes | |
| watchOS | Yes | watchOS 26 not supported yet |
| iPadOS | Yes | |
| tvOS | Yes | Added in v1.11.0 |
| macOS Catalyst | No | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) |
| visionOS | No | KT-59571 Add support for visionOS SDK |
| Non-apple targets (Linux, Windows) | No | No good way to link PowerSync |
| HTTP connection method | Yes | |
| WebSocket connection method | No | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| macOS | Yes | | |
| iOS | Yes | | |
| watchOS | Yes | | watchOS 26 not supported yet |
| iPadOS | Yes | | |
| tvOS | Yes | | Added in v1.11.0 |
| macOS Catalyst | No | | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) |
| visionOS | No | | KT-59571 Add support for visionOS SDK |
| Non-apple targets (Linux, Windows) | No | | No good way to link PowerSync |
| HTTP connection method | Yes | | |
| WebSocket connection method | No | | |

## <Icon icon="microsoft" iconType="solid" size={32}/> .NET SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| WPF | Yes | |
| MAUI | Android, iOS, Mac Catalyst, Windows | Mac Catalyst added in `PowerSync.Maui` 0.1.2. |
| Winforms | YMMV - not tested | |
| CLI Windows | Yes (x64, ARM) | |
| CLI Mac | Yes (x64, ARM) | |
| CLI Linux | Yes (x64, ARM) | |
| Avalonia UI | YMMV - not tested | |
| HTTP connection method | Yes | |
| WebSocket connection method | No | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| WPF | Yes | | |
| MAUI | Android, iOS, Mac Catalyst, Windows | | Mac Catalyst added in `PowerSync.Maui` 0.1.2. |
| Winforms | YMMV - not tested | | |
| CLI Windows | Yes (x64, ARM) | | |
| CLI Mac | Yes (x64, ARM) | | |
| CLI Linux | Yes (x64, ARM) | | |
| Avalonia UI | YMMV - not tested | | |
| HTTP connection method | Yes | | |
| WebSocket connection method | No | | |

## <Icon icon="rust" iconType="solid" size={32}/> Rust SDK

| Platform / Feature | Supported? | Notes |
| --- | --- | --- |
| All | Yes | The SDK supports all `std` Rust targets, but is currently only tested on Linux. |
| HTTP connection method | Yes | |
| WebSocket connection method | No | |
| Platform / Feature | Supported? | Minimum Platform | Notes |
| --- | --- | --- | --- |
| All | Yes | | The SDK supports all `std` Rust targets, but is currently only tested on Linux. |
| HTTP connection method | Yes | | |
| WebSocket connection method | No | | |