- Flutter (mobile and web)
- React Native (mobile and web)
- JavaScript Web (including integrations for React & Vue)
- Kotlin Multiplatform
- Swift
- Node.js (beta)
- .NET (alpha)
Support for additional platforms is on our Roadmap. If one isn’t supported today, please add your vote or submit a new idea on our roadmap, and check back soon.
Postgres Developers: Using Supabase? If you are using Supabase as your backend, we provide a PowerSync<>Supabase integration guide which includes a tutorial and demo app to quickly learn how to use PowerSync with Supabase.
Implementation Outline
The following outlines our recommended steps to implement PowerSync in your project:1
[Optional] Create a PowerSync Cloud account
Sign up for a free PowerSync Cloud account here if you want to use our cloud-hosted service. PowerSync can also be self-hosted — see instructions in step 3.
2
Configure your Source Database
Configure your source database for PowerSync — see Source Database Setup.
3
Connect PowerSync to your Database
Connect your database to your instance of the PowerSync Service:
- Using PowerSync Cloud: See Database Connection
- Using self-hosted PowerSync: Refer to this section.
4
Define Basic Sync Rules
Define Sync Rules in PowerSync — this enables dynamic partial replication: syncing just a relevant subset of data to each user/client instead of your entire database.
- Learn about Sync Rules in our introductory blog post.
- We recommend starting with one or two simple Global Data queries.
5
[Optional] Generate a Development Token
Generate a Development Token so you can get up and running quickly, without implementing full authentication integration yet.
6
[Optional] Test Sync with our Diagnostics App
Use our hosted Diagnostics App to validate that your backend source database is syncing into SQLite as expected based on your Sync Rules.
7
Implement PowerSync on the Client-Side
Implement PowerSync in your app using one of our Client SDKs:
- At this point, we recommend continuing to use your Development Token from step 5 for simplicity.
- To get a quick feel for PowerSync, you may want to implement a “Hello World” app as a start. Or you can jump straight into installing the client SDK in your existing app. See Client-Side Setup or follow end-to-end getting started instructions in the full SDK reference.
- Verify that downloads from your source database are working. Data should reflect in your UI and you can also inspect the SQLite database.
8
Implement Authentication
Implement authentication for clients (JWT-based) — see our docs here.
9
Configure your Backend Application
Implement your backend application to accept and process writes from clients.
- We have backend examples available here for environments like Node.js, Django and Rails.