Skip to content
SPECIFICTION
Get listed

Drift

drift.simonbinder.eu

WebWindowsmacOSLinuxiOSAndroid
Visit drift.simonbinder.eu
Spec score 7.6 #19 of 26 in Mobile Databases

What it is

Drift is a reactive persistence library for relational data in Dart and Flutter applications. It maps database rows to selected objects and offers type-safe queries; watched queries can emit updates as underlying data changes. Its SQL parser and analyzer can validate queries at compile time and generate Dart row code, using drift_dev and build_runner for code generation. Drift supports SQLite and has packages for PostgreSQL and libSQL connections, including local-copy synchronization with libSQL. Developers can use migration utilities, but need to write migrations when changing schemas used by existing apps. Encrypted databases are possible through SQLite3MultipleCiphers with a NativeDatabase executor, provided the app sets an encryption key. Documented implementations cover Android, iOS, Windows, Linux, macOS, and web. Some APIs, including date-time modification APIs, are SQLite-only with PostgreSQL. Full web support may require COOP/COEP security headers; Chrome on Android can have cross-tab persistence issues without them. Drift is free, and its documentation includes a DevTools extension page; questions and feedback can go to GitHub discussions.

Spec sheet

What it does
Drift is a reactive persistence library for relational data in Dart and Flutter applications.Read 30 Sep 2026 · drift.simonbinder.eu
Intended users
Drift is presented for developers building Dart and Flutter applications that need relational persistence.Read 29 Sep 2026 · drift.simonbinder.eu
Platforms
Drift supports Android, iOS, Windows, Linux, macOS, and web through platform-specific database implementations.Read 29 Sep 2026 · drift.simonbinder.eu
Support
The setup guide directs users with questions or feedback to start a discussion on GitHub.Read 30 Sep 2026 · drift.simonbinder.eu
Backends
The setup guide documents SQLite and PostgreSQL dependencies, and the documentation also covers remote libSQL and Turso.Read 29 Sep 2026 · drift.simonbinder.eu
Database integrations
Drift supports SQLite and has packages for PostgreSQL and libSQL connections, including local-copy synchronization with libSQL.Read 30 Sep 2026 · drift.simonbinder.eu
Dev tooling
The setup uses drift_dev and build_runner to generate code at compile time.Read 29 Sep 2026 · drift.simonbinder.eu
Developer tools
Drift provides a DevTools extension for inspecting databases and tables, modifying table contents, and validating schemas.Read 30 Sep 2026 · drift.simonbinder.eu
Encryption
Native databases can use SQLite3MultipleCiphers for encryption, and the documentation recommends this approach for new apps.Read 30 Sep 2026 · drift.simonbinder.eu
Migrations
Drift provides migration utilities, but developers need to write migrations when changing an existing database schema.Read 29 Sep 2026 · drift.simonbinder.eu
PostgreSQL limit
Some APIs, including date-time modification APIs, are only supported with SQLite; most queries work with PostgreSQL without modification.Read 30 Sep 2026 · drift.simonbinder.eu
Reactive queries
Queries can be watched as auto-updating streams that emit when the underlying data changes.Read 30 Sep 2026 · drift.simonbinder.eu
Schema changes
Drift provides migration tools, but developers need to write migrations when changing a database schema used by existing apps.Read 30 Sep 2026 · drift.simonbinder.eu
SQL support
Drift includes an SQL parser and analyzer that can validate queries at compile time and generate Dart row code.Read 29 Sep 2026 · drift.simonbinder.eu
Supported platforms
The documented implementations support Android, iOS, Windows, Linux, macOS, and web.Read 30 Sep 2026 · drift.simonbinder.eu
Type safety
Drift generates Dart objects for database rows and can analyze SQL at compile time to generate type-safe APIs.Read 30 Sep 2026 · drift.simonbinder.eu
Web browser requirements
Some browsers need COOP/COEP security headers for full web support, and Chrome on Android can have cross-tab persistence issues without the required headers.Read 30 Sep 2026 · drift.simonbinder.eu
What it is
Drift is a reactive persistence library for relational data in Dart and Flutter apps.Read 29 Sep 2026 · drift.simonbinder.eu

Strong points and limits

Strong points

  • Type-safe queries map rows to chosen objects.
  • Watched queries update as data changes.
  • SQL can be validated at compile time.
  • Documented implementations cover six operating system and web platforms.
  • Free plan is listed.

Limits

  • Developers must write migrations for existing schemas.
  • Some PostgreSQL APIs are SQLite-only.
  • Full web support may require COOP/COEP headers.
  • Chrome on Android can have cross-tab persistence issues without those headers.

Who it suits

Drift is for developers building Dart and Flutter applications that need relational data persistence. It suits projects that need reactive queries, compile-time SQL checks, or connections to its documented database options.

Verdict

Drift provides reactive relational persistence and compile-time query tooling across its documented Dart and Flutter platforms. Projects should account for migration work and the documented PostgreSQL and browser limitations.

Where Specifiction places it

Alternatives to DriftAll alternatives →