Building an Offline First App that Syncs
Everyone hates apps that lag when the network connection is poor. Offline first goes beyond that, addressing unnecessary data transfers, responsiveness, cross-device sync, security, backend integration, scalability, and more.
In this workshop, I’ll show you how to implement an app that deals with all these concepts. We’ll use a robust, real-world proven stack, Couchbase Mobile. You’ll leave with a working project based on a core use case.
Couchbase Mobile brings the power of NoSQL to mobile. It is comprised of three different components: Couchbase Lite, an embedded NoSQL database, Sync Gateway, a secure gateway that enables synchronization and data access over the web, and Couchbase Server, an enterprise-class, highly scalable NoSQL database.
Couchbase Mobile simplifies “offline first” development. Start by getting the benefits of a NoSQL database for use as your local data store. Move on to add synchronization, security, and back-end integration.
Data Modeling - How to choose the data structure for entities and relationships between those entities.
Documents types Relationships between Documents
Design - How to convert a set of application requirements and business rules into security rules for Couchbase Mobile.
Access to Channels User privileges
Using the Database - How to use the persistence APIs and query language for simple queries and data aggregation to perform query operations across different model types.
Querying Data Writing Data Aggregating Data Adding Synchronization - How to install Sync Gateway on your development environment, start the synchronization from the application and manage conflicts.
Installation Synchronizing Detecting and resolving Conflicts Adding Security - How to add access control rules based on each authenticated user and how to add security locally with database encryption and offline login.
User Authentication Read/Write Access Controls Database Encryption Offline Login
The workshop will have attendees coding a complete Android application. Attendees who want to follow along must come prepared to code (Android SDK and an appropriate IDE installed, emulator or phone available for testing). Preferably they will have some background familiarity. (Suggested reading for preparation: Blog series - https://blog.couchbase.com/2016/november/getting-comfortable-with-couchbase-mobile-installing-couchbase-server)