Why use Realm Flutter?

check

Fast, lightweight, and scalable

Realm’s live objects are integrated with StatefulWidgets and Streams, so you can build data rich apps without creating lag or draining device resources. The rich, expressive, and powerful query engine makes creating production-grade apps a breeze.
check

Intuitive objects that save time

No need for SQL, nor an ORM – working with your data is just like working with Flutter’s declarative UI components to get you up and running, fast. Realm’s Flutter integration automatically updates your views so you don’t have to.
check

Built-in mobile to cloud sync and across devices

Real-time mobile to cloud data sync makes it easy to build interactive features that keep data up-to-date across multiple devices, users, and the backend. Platform independence for a simplified, single data layer that can be shared across all your apps.

What does storing and querying data in Realm look like?

Work with intuitive APIs

Idiomatic APIs and powerful queries help you get to market faster with less code.
@RealmModel() // Create your model `_Car` like a regular Dart class
class _Car {
  late String make;
  late String model;
  int? kilometers = 500;
}

Build reactive apps with live objects

Realm’s live objects mean data updated anywhere is automatically updated everywhere.
@RealmModel() // Create your model `_Car` like a regular Dart class
class _Car {
  late String make;
  late String model;
  int? kilometers = 500;
}

Enjoy automatic data updates through Flutter Streams

Realm’s direct integration with Flutter StatefulWidgets and Streams automatically handles updates.
//Open Realm and add a car to the Realm
var config = Configuration([Car.schema]);
var realm = Realm(config);

var car = Car("Tesla", "Model Y", kilometers: 5);
realm.write(() {
  realm.add(car);
});

//Query objects in Realm
var cars = realm.all<Car>();
Car myCar = cars[0];
print("My car is ${myCar.make} model ${myCar.model}");

cars = realm.all<Car>().query("make == 'Tesla'");    

Featured resources

Realm Quick Start

The fastest way to get started with the Realm local database. It includes copyable code examples and all the essential information you need.

Sample Realm Dart Applications

Get started by checking out sample application code, such as a shopping or time tracker application.

Deploy Realm in minutes

Deploy an iOS, Android, or cross-platform “To Do” app with real-time sync in minutes.