CD257 Developing Couchbase Mobile NoSQL Applications

CD257 Developing Couchbase Mobile NoSQL Applications

Summary

This path-breaking course provides 3 days of progressive hands-on programming building a working NoSQL mobile app that takes advantage of Couchbase Mobile's unique synch capability: to enable mobile apps to operate at all times, bars or no bars, connected or disconnected. Participants learn by designing and coding critical segments of a real-world functioning mobile app, for iOS or Android, using Couchbase Lite, Couchbase Sync Gateway, and Couchbase Server, to synch NoSQL data across the cloud. 
What customers say about Couchbase training: Testimonials

Description

With a mix of instruction, demos and intensive programming labs, participants use a real-world data model and codebase to learn mobile NoSQL application development on their chosen platform - either Android or iOS. The course leverages the Couchbase Lite Android and iOS SDKs, Jackson/JSON, and the CrudRepository<T> pattern. We start with a high level perspective on NoSQL and Couchbase Mobile (a suite of NoSQL solutions that include Couchbase Lite, Sync Gateway, Walrus, and Couchbase Server), and common use cases for NoSQL mobile apps. From there, each lab exercise builds progressive skills and "flight time" developing NoSQL apps that take advantage of Couchbase Mobile’s powerful capabilities and unmatched benefits. 

Duration

3 Days

Objectives

Each student will practice and be able to perform all the basic NoSQL mobile application development tasks that are required of a modern mobile synch-capable apps, in most common synch modes. Creating Databases using document-oriented data, and usage of Map/Reduce-type data querying, will be gained through more than a dozen hands-on lab exercises which challenge the student to build real solutions with this NoSQL technology. 

The Couchbase Lite Android and iOS SDKs will be used extensively, including but not limited to: adding and removing data, the Sync Gateway, data modeling with a document database, replication and authentication from a mobile client to a Sync Gateway, live queries, conflict resolution, CrudRespositories and Services, and View API with index creation and use. Students will learn the best practices for writing and deploying their Couchbase Mobile solutions.

Audience

This is hands-on developer training for people who want to get real work done with mobile NoSQL database applications, working with Couchbase Mobile. While the labs will be based on the Couchbase Lite Android and iOS SDKs, the concepts, techniques and methods are applicable to any of the available SDKs (Objective-C, Java, .NET, REST). Expect to spend more time writing solutions and less time watching a presentation. If you have a background in programming, want to write software and are technically savvy this is the right course for you.

Prerequisites

The course is designed for participants with experience writing software in Java using the Android SDK or in Cocoa Touch using the iOS SDK. Familiarity with basic programming, mobile platform programming fundamentals and database essentials is assumed. Some participants find it helpful to take our free Couchbase online training courses. We strongly suggest Participants complete the following free Couchbase online courses prior to class: CB030 and CB040. Additionally, CB140i or CB140a provide introductory technical online courses on Couchbase Mobile that may be useful to persons planning to attend CD257. 

Setup Requirements

Students should plan to bring their own laptop on which to perform the labs, for Android or for iOS. See pre-arrival setup requriements below for your desired platform. If bringing your own laptop is not possible, please let us know at least a week prior to class by contacting us at: enroll [at] couchbase [dot] com

Android Requirements:  You will need a laptop with: Windows or Linux operating systems with at least 4GB of RAM, or Mac operating system with at least 4GB of RAM. Before class, you will need to:

  1. Find and Download Sync Gateway Enterprise Edition version 1.2 for your Operating System from Downloads page 
  2. Have Eclipse 4.4.x installed and configured
  3. Have Android and its utility programs installed. Minimum SDK version supported in class is version 9, but class and all example code will target SDK version 19.
  4. Create a working Android Emulator that uses at least version 9, but the class and all example code will target SDK version 19.
  5. Download Couchbase Mobile Enterprise Edition for Android version 1.2  from Downloads page

 

iOS Requirements: You will need a Mac with OSX 10.8 or higher, and at least 4GB of RAM. Before class, you will need to:

  1. Download Sync Gateway Enterprise Edition version 1.2 for OS X for your Operating System from Downloads page
  2. Have XCode 5.1+ installed and configured. You will need to use iOS version 7.0+.
  3. Have a working iOS Simulator that uses iOS 7.0+.
  4. Download Couchbase Mobile Enterprise Edition for iOS version 1.2 for your Operating System from Downloads page

 

Pre-arrival logistics: The week prior to class start, students with a confirmed paid enrollment will be asked via email what is their preferred platform for development, and verified that they intend to bring their own laptop and IDE platform for development during labs.

Additional Notes

Participation: since the class covers concepts at a rapid pace and because lab assignments are additive and progressive, it is important for students to devote their full attention to the training. If students miss one of the earlier labs or fail to complete it this may prevent or reduce ability to complete subsequent labs.

Outline

Partial list of concepts, topics and labs. Subject to change and update without prior notice. Course includes:

Couchbase Introduction

  • What Is NoSQL?
  • Overview of Couchbase: Apps and Couchbase Server

Couchbase Mobile Introduction

  • Couchbase Mobile Overview
  • Use Cases

Couchbase Lite

  • API Objects
  • Working With the API
  • API Best Practices

Replication

  • Replicating Data
  • Couchbase Lite Read/Write Paths
  • Replicating Data With the API

Synching and Gateways and Authentication

  • Syncing Data With The API
  • How the Sync Gateway Works
  • Authorization for the Sync Gateway

Views

  • Using Views
  • Understanding MapReduce
  • Using MapReduce In The API
  • Full Text Search Using Views

Queries

  • Querying Views
  • Live Updating With Views

Advanced Development

  • Concurrence and Eventual Consistency
  • Revisions and Conflict Resolution

Mobile and Web Clients

  • Scaling Sync Gateway
  • Deployment Best Practices
  • How to Get Developer Support

Partial List of Labs:

Lab 1. Couchbase Mobile Project Setup in IDE

Lab 2. Hello World Mobile

Lab 3. Refactoring to Best Practices

Lab 4. Unit Testing

Lab 5. Sync Gateway Install

Lab 6. Replicating Data to Server

Lab 7. Restoring Data from Sync Gateway

Lab 8. Continuous Replication

Lab 9. Showing Client Sync Status

Lab 10. Adding Sync Gateway Authorization

Lab 11. Using Views with API

Lab 12. Updating UI with Live Queries

Lab 13. Showing Revisions and Resolving Conflicts

Lab 14. Familiarizing With Online Resources

Upcoming Classes

No classes have been scheduled, but you can always Request a Class.