I’m currently writing the materials for my presentation on Core Data & Synchronization of data for RWDevCon 2016. One of the requirements for the demonstration app is a web service that provides a REST API to sync with. One of the requirements of the talk is that I cannot rely upon an Internet connection. Every person going through the tutorial needs to be able to bring up a local web service to following along with while coding the iOS app on their machine.

I started looking into a lot of wrappers for web apps, including Electron. The issue is I have a limited amount of time to come up with a solution that is super simple for conference attendees to install and bring up. I haven’t developed a web app for a couple years – and I feel so rusty. I do not have a trusty fallback programming language outside of Swift and Objective-C. I really feel stupid sometimes not knowing Ruby, Python or any other language as well as I feel like I should.

I ended up digging for two full nights and got super frustrated. There is just so much to learn about a new language, their web frameworks, persistence layers, and on and on. I still need to find time to write the iOS demo application – so I ended up time-boxing the search. Suddenly I had a moment of clarity. I remembered CouchDB – a document store/database that has a JSON REST API built in!

I first learned about the Apache CouchDB project from a presentation given by Jens Alfke at SecondConf in Chicago, 2011.

https://player.vimeo.com/video/37867869

Attendees will get a single ZIP file with the CouchDB binary. I’ll then have a small script they can execute to seed the data into the store. Super super simple. So far I’m in love with CouchDB again. 🙂