Splicer Blog

Data Model Automation

Android-SQLite Alternative

Instead of integrating Android with SQLite, use Splicer instead to get direct access to your server model. Splicer connects your relational database to mobile clients by generating both Android and IOS data objects from your existing schema. These client “DAO” objects become the app’s interface to your backend. During run-time, Splicer extracts data objects directly from your database or your server-side model layer and delivers them across the network to your mobile apps.

We contend this is a superior solution to SQLite because we want to make client coding as simple as possible — and embedding SQL statements in client code is not ideal. Instead, Splicer allows the client coder to manipulate data objects just like we do as server-side programmers using ORM technology. And you can use a mobile database or native containers as your object cache on your clients — much like you would use SQLite.

This approach allows you to develop the thinnest-possible clients and makes synchronization to your enterprise server trivial. This is a solution designed for enterprise development where developers need to have access to all source code. The best part is you can tie into either your existing server model, relational databases, or other structured data. This approach will save you a ton of mobile enterprise development headaches.

With Splicer, we create our model definition on the server. This allows us to map multiple client models to a single server model. That relationship is the fundamental issue we need to define first before we start coding. So conceptually, Splicer extends server data models to mobile. To do this, our product first derives a server model from existing server artifacts such as a relational database schema. Then you can pick elements to publish with our Map GUI. Once selected, Splicer generates associated DAOs for Android and IOS, and then serves data to them via our open source server.

Essentially, you can not only spin up custom, micro services for mobile apps, but also extend the server model in the form of native client DAOs. This is a generic “low code” solution that enables you to develop the clients in whatever manner you choose. And you can optionally cache your data locally using a client object database such as Realm.io.