CD257 Developing Couchbase Mobile NoSQL Applications
CD257 Developing Couchbase Mobile NoSQL Applications
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
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.
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.
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.
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.
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:
- Find and Download Sync Gateway Enterprise Edition version 1.5.x for your Operating System from Downloads page
- Have Android Studio 2.3.x or later installed and configured
- 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 26.
- Create a working Android Emulator that uses at least version 9, but the class and all example code will target SDK version 26.
- Download Couchbase Mobile Enterprise Edition for Android version 1.5.1 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:
- Download Sync Gateway Enterprise Edition version 1.5.x for OS X for your Operating System from Downloads page
- Have XCode 5.1+ installed and configured. You will need to use iOS version 7.0+.
- Have a working iOS Simulator that uses iOS 9.0+.
- Download Couchbase Mobile Enterprise Edition for iOS version 2.0 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.
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.
Partial list of concepts, topics and labs. Subject to change and update without prior notice. Course includes:
- What Is NoSQL?
- Overview of Couchbase: Apps and Couchbase Server
Couchbase Mobile Introduction
- Couchbase Mobile Overview
- Use Cases
- API Objects
- Working With the API
- API Best Practices
- 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
- Using Views
- Understanding MapReduce
- Using MapReduce In The API
- Full Text Search Using Views
- Querying Views
- Live Updating With Views
- 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