Developers love ObjectBox
Join 500,000+ developers using ObjectBox already and enjoy the speed and intuitive APIs of ObjectBox’ data persistence.
It’s That Easy!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
class Person: Entity { var id: Id<person> = 0 var firstName: String var lastName: String ... } let store = Store(directoryPath: aPermanentPath) let box = store.box(for: Person.self) let newPerson = Person(firstName: "Joe", lastName: "Green") let id = try! box.put(newPerson) // Create let person = box.get(id) // Read person.lastName = "Black" try! box.put(person) // Update try! box.remove(person) // Delete let query = box.query { return Person.firstName == "Joe" && Person.lastName.startsWith("B") } let persons: [Person] = query.find() </person> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
@Entity public class Person { @Id long id; String firstName; ... } // MyObjectBox is generated by ObjectBox BoxStore boxStore = MyObjectBox.builder() .androidContext(YourApp.this).build(); Box<Person> box = boxStore.boxFor(Person.class); Person person = new Person("Joe", "Green"); long id = box.put(person); // Create Person person = box.get(id); // Read person.setLastName("Black"); box.put(person); // Update box.remove(person); // Delete |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//go:generate objectbox-bindings type Person struct { Id uint64 `id` FirstName string LastName string } ...box := BoxForPerson(ob) // Create id, _ := box.Put(&Person{ FirstName: "Joe", LastName: "Green", }) person, _ := box.Get(id) // Read person.LastName = "Black" box.Put(person) // Update box.Remove(person) // Delete |
1 2 3 4 5 6 7 8 |
@Entity data class Person( @Id var id: Long = 0, var firstName: String, var lastName: String ) val box = boxStore.boxFor<Person>() box.put(Person(0, "Joe", "Green")) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// person.fbs table Person { id: ulong; first_name: string; last_name: string; } ... OBX_txn* txn = obx_txn_begin(ob); OBX_cursor* cursor = obx_cursor_create(txn, person_entity_id); obx_id id = person_put(cursor, 0, "Joe", "Green"); // Create Person_table_t person = person_get(cursor, id); // Read person_put(cursor, Person_id(person), Person_first_name(person), "Black"); // Update obx_cursor_remove(cursor, id); // Delete |
CRUD Operations | Entities per second
All our performance benchmarks are Open Source. Check them out on GitHub and let us know what you think. We strive for fair and transparent benchmarks and update them regularly.
And blazingly fast!
ObjectBox features – more than swift
ObjectBox is an embedded, object-oriented database for Mobile Apps and IoT. It’s a great alternative to CoreData or SQLite. Our NoSQL, ACID-compliant DB is 10x faster than any alternative and super easy to implement. On top, ObjectBox solves data synchronization out-of -the-box, taking care of seamlessly syncing data between the phone and the cloud / a server. Get in touch to start Syncing today.

LUDICROUS SPEED
Increase your app performance with the ObjectBox iOS database. Check out our open source benchmarks, or give it a spin yourself. The ObjectBox iOS database is free to use

INTUITIVE APIS
ObjectBox provides really simple APIs designed to be fun and easy to implement. It is not an ORM. It is build for objects from the ground up, which means no more rows, columns, or SQL.

AUTOMATIC SCHEMA MIGRATIONS
ObjectBox takes care of any new object versions with added, removed and renamed properties for you. Automatic schema migration is designed to bring you piece of mind.

SWIFT QUERIES
With ObjectBox swift database, simply query for objects in swift with checks at compile times; no more typos causing crashes at runtime.

ACID COMPLIANT
ACID (Atomic, Consistent, Isolated, Durable) properties and Multiversion Concurrency Control (MVCC) provide you with safe transactions and parallelism

INSTANT UNIT TESTING
With our multi-platform approach, you can run plain unit tests on the desktop (no Robolectric, on instrumentation tests) with a real database in milliseconds.


Use ObjectBox Swift Database
It's incredibly fast and easy to use- enjoy incredible speed
- take delight in the ease of use
- take a break from tedious boilerplate code
- relax and be fast to market
ObjectBox out-of-the-box Sync
Enjoy the magic- Extra-fast out-of-the-box Data Sync
- Time Series extension
- Professional Support

