Tag Archives: PouchDB

Synchronizing Offline App Data with PouchDB

Synchronizing Offline App Data with PouchDB
// SitePoint

Applications which can work online and offline are an advantage to mobile users. For example, someone traveling by air generally has no internet connection. With a well designed app they can still work in offline mode and synchronize the offline data with an application server.

How Does This Work?

When the application is offline, the data is stored using HTML 5 local storage and session storage objects to store data in the browser or WebView. When the application is online, its programming logic will synchronize changes to a central database.

Continue reading %Synchronizing Offline App Data with PouchDB%

100+ Ionic Framework Resources

via 100 Ionic Framework Resources.

There are many posts and articles on the Ionic Framework but sometimes it is difficult to locate exactly what you need. This list is a an attempt to create a comprehensive list of tutorials that cover as many topics as possible. I will update this list as I discover new posts and as new posts are suggested.

Don’t see what you’re looking for? Feel free to leave a comment and I’ll see if I can find something for you.

UPDATE: Want the newest updates to this list emailed to you? Use the “Subscribe to the Ionic Resources Mailing List” form in the sidebar of this site.

Ionic Basics

  1. Structure of an Ionic App
  2. Creating Views with Ionic
  3. Controllers in Ionic/Angular
  4. Make HTTP Requests In Android And iOS With Ionic Framework
  5. Ionic: Using Factories and Web Services for Dynamic Data
  6. SOAP Web Services in Angular and Ionic
  7. Modules in Ionic/Angular
  8. Promise-Based Architecture in an Ionic App
  9. Using The UI-Router To Navigate In Ionic Framework
  10. Saving Data With Ionic Framework
  11. Organising Code in an Ionic Application for Beginners
  12. Validation in Ionic Framework Apps with ngMessages
  13. NEWIonic – Setup on OSx
  14. NEWIonic – How to setup on Windows

Ionic Components

  1. Understanding Ionic’s Side Menu
  2. Understanding Tabs In Ionic Framework
  3. Understanding the Ionic Framework Action Sheet
  4. Understanding Ionic’s Infinite Scroll
  5. Understanding Pull to Refresh
  6. Make List Items Swipeable In Ionic Framework
  7. Using Slide Boxes and Tabs in Ionic Framework Apps

Ionic App Patterns

  1. Ionic: Master Detail Pattern
  2. Internationalization of an Ionic App: Multilanguage Support
  3. Internationalization and Localization with Ionic Framework and Angular Translate
  4. Add Pull to Refresh with Toast Message in Your Ionic App
  5. Creating a Feed in Ionic
  6. Make A Gallery-Like Image Grid Using Ionic Framework
  7. Making Tinder-Style Swipe Cards With Ionic Framework
  8. Swipeable Cards with the Ionic Framework


  1. Cookie-based Authentication in AngularJS
  2. Handle User Sign-In With Ionic Framework
  3. How To Handle User Authentication With AngularJS Inside Your Ionic App
  4. Simple login example with ionic and AngularJS
  5. NEWHow To Handle User Authentication With AngularJS Inside Your Ionic App


  1. Writing Your First Unit Test with the Ionic Framework
  2. Unit Testing Your Ionic Framework App
  3. Optimize your Ionic Testing with Wallaby.js, Bard.js, and WebStorm

Backend as a Service

  1. Use Parse Core In Your Ionic Framework Mobile Apps
  2. Sign Into Firebase With Facebook Using Ionic Framework
  3. Syncing Data With Firebase Using Ionic Framework
  4. Syncing Data With Dropbox Using Ionic Framework
  5. Create a Password Management App Using Ionic Framework and Firebase
  6. Build a Hybrid Application with the Ionic Framework and Azure Mobile Services, Part 1: Configuring the Project
  7. Build a Hybrid Application with the Ionic Framework and Azure Mobile Services, Part 2: Creating the User Interface
  8. Build a Hybrid Application with the Ionic Framework and Azure Mobile Services, Part 3: Wiring Up The Backend
  9. Sync Data Using PouchDB In Your Ionic Framework App
  10. Creating a Firebase Powered End to End Ionic Application
  11. NEWWorking with IBM MobileFirst and the Ionic Framework
  12. NEWUsing MobileFirst HTTP Adapters with an Ionic Application
  13. NEWUsing MobileFirst SQL Adapters with an Ionic Application
  14. NEWUsing Remote Logging with Ionic and IBM MobileFirst
  15. NEWWorking with IBM MobileFirst and Ionic – Bootstrapping

Ionic Tooling

  1. Using the Ionic Framework with Grunt and PhoneGap Build
  2. Minifying Your App’s Source Code
  3. Debugging AngularJS Apps from the Console
  4. Use The Ionic CLI To Integrate Crosswalk Into Your Project
  5. NEWIonic adds a new State feature
  6. NEWAutomatically Add JS/CSS Files to Your Ionic Projects
  7. NEWIonic – The Ionicbox and How To Use It
  8. NEWIonic – Using Android x86 Virtual Machine Instead of Emulator

Ionic Backend Services (ionic.io)

  1. NEWAn early look at Ionic Push

Ionic Ions

  1. Ionic showWhen directive
  2. showWhenState: Conditional Elements In Ionic by State
  3. Dividing a List Automatically in Ionic Framework
  4. Preload images in Ionic using $ImageCacheFactory
  5. Adding Frosted Glass Effect to your Ionic Framework App
  6. Shrinking Headers Like Facebook With the Ionic Framework

ngCordova/Cordova Plugins

  1. Using Custom URL Schemes In Your Ionic Framework App
  2. OAuth with Ionic and ngCordova
  3. Print Data To Paper Or PDF Using Ionic Framework
  4. Create A Todo List Mobile App Using Ionic Framework
  5. Get Available Free Disk Space Using Apache Cordova
  6. Using The Native Device Calendar In Ionic Framework
  7. Make Your Own Facebook Mobile App With Ionic Framework
  8. Prompt User To Rate Ionic Framework Mobile App
  9. Add ‘Rate my App’ in your ionic app to increase the number of ratings in the app store
  10. Use Native Device Dialogs In Ionic Framework Mobile Apps
  11. Deploy Ionic Framework App With Pre-Filled SQLite DB
  12. Access The Native Device Clipboard In Ionic Framework
  13. Upload Files To A Remote Server Using Ionic Framework
  14. Open Dynamic Links Using The Cordova InAppBrowser
  15. Create, Delete, And Search Contacts In Ionic Framework
  16. Playing Audio In Your Android And iOS Ionic Framework App
  17. Use SQLite Instead of Local Storage In Ionic Framework
  18. Find The Application Version In Your Ionic Framework App
  19. Implement Social Media Sharing With Ionic Framework
  20. Implement Google Maps Using Ionic Framework
  21. Displaying the Twitter Feed within Your Ionic App
  22. Use The Android And iOS Camera With Ionic Framework
  23. Show Native Toast Notifications Using Ionic Framework
  24. Implement A Barcode Scanner Using Ionic Framework
  25. Manage Files In Android And iOS Using Ionic Framework
  26. Handling Apache Cordova Events With Ionic Framework
  27. Making iOS In-App Purchases With Ionic Framework
  28. Making Android In-App Purchases With Ionic Framework
  29. Create an RSS Reader Using AngularJS and Ionic Framework
  30. Add A Splash Screen To An Ionic Framework Project
  31. Polish Your App Launch with Cordova Splashscreen Plugin
  32. Send Email from Android and iOS with Ionic Framework
  33. Using An Oauth 2.0 Service With Ionic Framework
  34. Launch External URLs with Ionic Framework
  35. Using Google Analytics With IonicFramework
  36. Using Admob With IonicFramework
  37. Check Network Connection With Ionic Framework
  38. Placing Phone Calls In Hybrid Apps
  39. How To Make A HealthKit App With Ionic and ngCordoa
  40. Using Local Notifications In Your Ionic Framework App
  41. Adding Gamecenter Support to your Ionic App
  42. Making a Signature Drawpad with Ionic
  43. Making a Lock Pattern Login with Ionic and AngularJS
  44. Support iOS touchID in your ionic app
  45. Creating a Realtime Image Sharing App With Ionic and Socket.io
  46. Store Camera Photos Permanently Using PhoneGap, Ionic & ngCordova
  47. NEWChaining multiple Cordova File Transfers with ngCordova
  48. NEWSelecting multiple images in a PhoneGap/Cordova app


  1. Adding Background Images To Ionic Framework Apps
  2. Create A Complex Calculator App Using Ionic Framework
  3. Embed Video In Your iOS And Android Ionic Framework App
  4. Add Pin Code Unlock To Your IonicFramework App
  5. Trigger Pull To Refresh In Ionic Framework Apps
  6. Learning the Ionic Framework as a Sencha Touch Developer
  7. Animations For Your Ionic App with Move.js

Ember Pouch: PouchDB/CouchDB adapter for Ember Data

via nolanlawson/ember-pouch · GitHub.

Ember Pouch is a PouchDB/CouchDB adapter for Ember Data.

With Ember Pouch, all of your app’s data is automatically saved on the client-side using IndexedDB or WebSQL, and you just keep using the regular Ember Data store API. This data may be automatically synced to a remote CouchDB (or compatible servers) using PouchDB replication.

What’s the point?

  1. You don’t need to write any server-side logic. Just use CouchDB.
  2. Data syncs automatically.
  3. Your app works offline, and requests are super fast, because they don’t need the network.

For more on PouchDB, check out pouchdb.com.

PouchDB: We have a problem with promises

via We have a problem with promises.

Fellow JavaScripters, it’s time to admit it: we have a problem with promises.

No, not with promises themselves. Promises, as defined by the A+ spec, are awesome.

The big problem, which has revealed itself to me over the course of the past year, as I’ve watched numerous programmers struggle with the PouchDB API and other promise-heavy APIs, is this:

Many of us are using promises without really understanding them.

Connecting PouchDB to Cloudant on IBM Bluemix

via Connecting PouchDB to Cloudant on IBM Bluemix – BlueMix Dev.

So, as always, I tend to feel I’m a bit late to things. Earlier today my coworker Andy Trice was talking to me about PouchDB. PouchDB is a client-side database solution that works in all the major browsers (and Node.js) and intelligently picks the best storage system available. It is even smart enough to recognize that while Safari supports IDB, it doesn’t make sense to use it and switches to WebSQL. It has a relatively simply API and best of all – it hasincredibly simple sync built in.

I tend to work with client-side databases with just the vanilla JavaScript APIs available to them, but honestly, after an hour or so of using PouchDB I can’t see going back. (And yes, I know other solutions exist too – and I’m going to explore this area more.) Probably the slickest aspect is the sync. If you have a CouchDB server setup, you can set up automatic sync between all the database instances in seconds. For my testing, I decided to use IBM Bluemix. This blog post assumes you’re following the PouchDB Getting Started guide.

Taming the asynchronous beast with ES7

via Taming the asynchronous beast with ES7.

One of the trickiest aspects of PouchDB is that its API is asynchronous. I see no shortage of confused questions on Stack Overflow, Github, and IRC, and most often they stem from a misunderstanding of callbacks and promises.

We can’t really help it. PouchDB is an abstraction over IndexedDB, WebSQL, LevelDB (in Node), and CouchDB (via Ajax). All of those APIs are asynchronous; hence PouchDB must be asynchronous.