--- title: "Moor - Reactive, typesafe persistence library for Dart" description: Moor is a reactive and typesafe persistence library for Dart and Flutter apps. It generates code to let you write complex queries easily. linkTitle: "Moor" --- {{< blocks/cover title="Moor: Persistence library for Dart" image_anchor="top" height="med" color="indigo" >}}
}}"> Learn More Get fom pub
{{< /blocks/cover >}} {{% blocks/lead color="dark" %}} Moor is an easy to use, reactive persistence library for Flutter apps. Define your database tables in pure Dart and enjoy a fluent query API, auto-updating streams and more! {{% /blocks/lead %}} {{< blocks/section color="primary" >}} {{% blocks/feature icon="fa-lightbulb" title="Declarative tables, fluent queries!" %}} With moor, you can write your database tables in pure Dart without having to miss out on advanced sqlite features. Moor will take care of creating the tables and generate code that allows you run fluent queries on your data. [Get started now]({{< ref "/docs/Getting started/_index.md" >}}) {{% /blocks/feature %}} {{% blocks/feature icon="fas fa-database" title="Prefer SQL? Moor got you covered!" url="https://moor.simonbinder.eu/queries/custom" %}} Moor contains a powerful sql parser and analyzer, allowing it to create typesafe APIs for all your sql queries. All queries are validated and analyzed during build-time, so moor can provide hints about potential errors quickly and generate efficient mapping code. {{% /blocks/feature %}} {{% blocks/feature icon="fas fa-star" title="And much more!" %}} Moor can also provide auto-updating streams emitting new results when the underlying data changes. Moor makes dealing with transactions easy (no special parameter to pass around everywhere), lets your write modular database code with DAOs and much more. {{% /blocks/feature %}} {{< /blocks/section >}}