Schnelle Flutter-Datenbank zum Speichern von Dart-Objekten. Dieses Paket enthält Flutter-Laufzeitbibliotheken für ObjectBox, einschließlich ObjectBox Sync.
Aus öffentlichen Paketdaten erstellte Orientierung.
Die ObjectBox Sync Flutter-Bibliotheken bieten eine leistungsstarke, Echtzeit-Datenbanklösung für Flutter-Anwendungen und ermöglichen die nahtlose Synchronisierung von Dart-Objekten über Geräte und Plattformen hinweg. Auf dem ObjectBox-Kern aufgebaut, unterstützt sie datengesteuerte Offline-First-Verwaltung mit automatischer Konfliktlösung und effizienter Synchronisierung über Netzwerke. Ideal für Anwendungen, die schnellen lokalen Speicher und synchronisierte Daten über mehrere Clients benötigen, integriert sich dieses Paket direkt in Flutter-Projekte mit minimalem Setup. Es funktioniert auf Android, iOS, macOS, Windows und Linux und ist somit ideal für plattformübergreifende Anwendungen, die zuverlässige, geringe Latenz-Datenpersistenz und Synchronisation erfordern.
Anwendungsfälle
Echtzeit-Kollaborations-Apps
Offline-first-Mobile-Anwendungen
Datensynchronisierung über Geräte hinweg
Leistungsstarker lokaler Daten-Speicher
Plattformübergreifende Datenkonsistenz
Hauptmerkmale
Schnelle lokale Objektdauerhaftigkeit
Echtzeit-Daten-Synchronisierung
Konfliktlösung während der Synchronisierung
Unterstützung für mehrere Plattformen
Minimale Boilerplate-Einrichtung
Geeignet für
Entwickler, die plattformübergreifende Anwendungen erstellen
Teams, die Echtzeit-Daten-Synchronisation benötigen
Apps, die Offline-Funktionen erfordern
Projekte, die Leistung und Skalierbarkeit priorisieren
Mobile Apps mit verteilten Nutzerdaten
Hinweise
Benötigt Backend-Infrastruktur für die Synchronisierung
Beschränkt auf Dart-Objekte mit definiertem Schema
Netzwerkabhängigkeit für Synchronisierungsoperationen
Lernkurve für die Handhabung von Synchronisationskonflikten
Erforderliche richtige Schema-Versionierung
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
Flutter database with vector support - easy to use & fast Dart object persistence, plus on-device vector search 💙
Very first on-device vector database for Flutter / Dart AI apps. Intuitive APIs, simply fast.
Persist local Dart objects with ease & speed, efficiently manage vectors.
ObjectBox provides a store with boxes to put objects into:
// Annotate a Dart class to create a Box@Entity()
classPerson{
@Id()
int id;
String firstName;
String lastName;
Person({this.id = 0, requiredthis.firstName, requiredthis.lastName});
}
finalStore store = awaitopenStore(directory: 'person-db');
final box = store.box<Person>();
var person = Person(firstName: 'Joe', lastName: 'Green');
final id = box.put(person); // Create
person = box.get(id)!; // Read
person.lastName = 'Black';
box.put(person); // Update
box.remove(person.id); // Deletefinal query = box // Query
.query(Person_.firstName.equals('Joe') & Person_.lastName.startsWith('B'))
.build();
finalList<Person> people = query.find();
query.close();
ObjectBox Flutter database is an excellent choice for storing Dart objects in cross-platform
applications and the only on-device database that offers you vector support for your on-device AI apps.
Designed for high performance, the ObjectBox Flutter database is excellent for mobile
and IoT devices. ObjectBox consumes minimal CPU, memory, and battery, ensuring that your software is
not only efficient but also sustainable. By storing data locally on the device, ObjectBox allows you
to cut cloud costs and create an app that does not require a connection. Get started with our
intuitive native Dart API in minutes, without the hassle of SQL.
Plus: We built a data synchronization solution that allows you to keep data in sync across devices
and servers, both online and offline.
🏁 High performance - superfast response rates enabling real-time applications.
🪂 ACID compliant - Atomic, Consistent, Isolated, Durable.
💻 Multiplatform - Android, iOS, macOS, Linux, Windows, any POSIX-system.
🌱 Scalable - grows with your app, handling millions of objects with ease.
💚 Sustainable - frugal on CPU, Memory and battery / power use, reducing CO2 emissions.
🔗 Relations - object links / relationships are built-in.
💐 Queries - filter data as needed, even across relations.
🦮 Statically typed - compile time checks & optimizations.
📃 Schema migration - change your model with confidence.
Oh, and there is one more thing...
😮 Data Sync - keeps data in sync offline or online, between devices and servers.
Getting Started
Continue with our ➡️ Getting Started guide. It has resources and video tutorials on how to use ObjectBox in your Flutter or Dart app.
How does ObjectBox compare to other solutions?
ObjectBox is fast. Have a look at our benchmarks below, or test it for yourself
It's a full NoSQL SQLite alternative with intuitive Dart APIs you'll love 💙
It comes with an out-of-the-box Data Sync, making it an effective self-hosted Firebase alternative
Flutter Database Performance Benchmarks
We tested across the four main database operations, CRUD (create, read, update, delete).
Each test was run multiple times and executed manually.
Data preparation and evaluation were done outside the measured time.
Here are the benchmarks for ObjectBox vs sqflite vs Hive (last updated 2021-09-11) 👇
Do you want to check out the ObjectBox code itself? E.g. see it in action, run tests, or even contribute code?
Great! Clone/check out this repository and run this to generate code and get you started quickly:
./tool/init.sh
Also, make sure to have a look at the contribution guidelines - we are looking forward to your contribution.
Packages
This repository holds all ObjectBox Dart/Flutter packages as separate directories: