Getting Started • Documentation • Example Apps • Issues
Flutter database to store & sync objects across devices with a sustainable offline-first approach
🏁 High performance on mobile and restricted devices, like IoT gateways, microcontrollers, ECUs etc.
🪂 Resourceful with minimal CPU, power and memory usage for maximum flexibility and sustainability
🔗 Relations: object links / relationships are built-in
💻 Multiplatform: Linux, Windows, Android, iOS, macOS
🌱 Scalable: handling millions of objects resource-efficiently with ease
💐 Queries: filter data as needed, even across relations
🦮 Statically typed: compile time checks & optimizations
📃 Automatic schema migrations: no update scripts needed
And much more than just data persistence
👥 ObjectBox Sync: keeps data in sync between devices and servers
🕒 ObjectBox TS: time series extension for time based data
To start using ObjectBox in your Flutter/Dart app, head over to
- the ObjectBox pub.dev page or
- check out our Getting Started Guide.
Do you want to check out the ObjectBox code itself? E.g. see 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.
Your opinion matters to us! Please fill in this 2-minute Anonymous Feedback Form.
We strive to bring joy to Flutter developers and appreciate all kind of feedback, both positive and negative. What do you love? What's amiss? Where do you struggle in everyday app development?
We're looking forward to receiving your comments and requests:
- Add GitHub issues
- Upvote issues you find important by hitting the 👍/+1 reaction button
- Drop us a line on Twitter via @ObjectBox_io
- ⭐ us, if you like what you see
Thank you! 🙏
Keep in touch: For general news on ObjectBox, check our blog!
This repository holds all ObjectBox Dart/Flutter packages as separate directories:
- objectbox - main library code
- objectbox_generator - code generator
- objectbox_flutter_libs - core binary library dependency for Flutter (Android/iOS) - no dart/flutter code
- objectbox_sync_flutter_libs - core binary library dependency with ObjectBox Sync enabled
- benchmark - used internally to microbenchmark and compare various implementations during development of objectbox-dart
There's also a separate repository benchmarking objectbox (and other databases) in Flutter: objectbox-dart-performance. And another one testing and comparing the performance of our FlatBuffers fork vs the upstream version: flatbuffers-benchmark.
ObjectBox supports multiple platforms and languages:
- ObjectBox Java / Kotlin: runs on Android, desktop, and servers.
- ObjectBox Swift: build fast mobile apps for iOS and macOS
- ObjectBox Go: great for data-driven tools and embedded server applications
- ObjectBox C and C++: native speed with zero copy access to FlatBuffer objects
Copyright 2019-2022 ObjectBox Ltd. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.