Loading data in a Mobile App can be lenghty… if you work with SQLite directly. That’s why we built the fastest ORM on the market: greenDAO. With greenDAO its only 2 lines of code. With ObjectBox, our Mobile Database, its also 2 lines of code. Objectbox simply gives you additional speed out of the box. If you are already working with greenDAO, you can switch to using ObjectBox almost seamlessly. Check out our greenDAO CompatLayer to learn how you can easily switch and boost your app performance with minimal effort.

ObjectBox 0.9.10 - getting closer to 1.0

Do you know our new super fast mobile database ObjectBox yet? With versions 0.9.9 and the just released 0.9.10, ObjectBox made great progress to stabilize features for the 1.0 release. With an increasing number of apps using ObjectBox, we were able to spot and fix some less obvious issues. We believe that ObjectBox 0.9.10 is the most stable release ever. If you did not dare to check out the beta version yet: now is a good time to have a closer look.

ObjectBox – The new Mobile Database (Beta)

ObjectBox is a new mobile object database optimized for performance. With ObjectBox, we are bringing technology from NoSQL server databases to mobile. We are impressed by the resulting performance advantage and invite you to try it for yourself. Go make your apps run faster!(more…)

Mobile databases: SQLite and SQLite alternatives for Android and iOS

What is a mobile database?

While Wikipedia defines a mobile database as “either a stationary database that can be connected to by a mobile computing device […] over a mobile network, or a database which is actually stored by the mobile device,” we solely refer to databases that run on the mobile device itself (on-device).

What are the advantages and disadvantages of working with SQLite?

SQLite is easily the most established mobile database, probably the only “established” mobile database. SQLite has been around since the year 2000 and is embedded with iOS and Android since the beginning. SQLite is a relational database.

advantages

disadvantages

Toolchain, e.g. DB browser

No dependencies; included with Android and iOS

Developers can exactly define the data schema they want

Developers have full control, e.g. they can do handwritten SQL queries

SQL is a powerful and established query language, and SQLite supports most of it

Debuggable data: developers can grab the database file and analyze it

Rock-solid, widely used technology, established since the year 2000

Using SQLite means a lot of boilerplate code and thus inefficiencies (also in the long run with the app maintenance)

1 MB BLOB Limitation on Android

No compile time checks (e.g. SQL queries)

SQLite performance is unreliable

SQL is another language to master

SQL queries can get long and complicated

Testability (how to mock a database?)

Especially when database views are involved, maintainability may be poor with SQLite

What are SQLite alternatives?

There are plenty of alternatives to working with SQLite directly. If you simply want to avoid writing lots of SQL and boilerplate code, you can use an object abstraction on top of SQLite. This abstraction is usually an ORM (object/relational mapper).

However, if you rather seek to replace SQLite completely, there are also a few alternative databases: Couchbase Lite, Interbase, LevelDB, Oracle Berkeley DB (formerly Oracle’s mobile database was “Oracle Database Lite”), Realm, SnappyDB, SQL Anywhere, and UnQLite.

Obviously, if your also looking for alternatives that are no on-device mobile databases, there are a lot of cloud / server options out there too like e.g. Firebase. Generally speaking, with these your app will not be (fully) offline-capable, costs on the serverside will go up, and they may also be rather slow in execution.