Marcel Dierkes

iOS Developer

Read this first

The History of SQLite

I’m currently implementing a small Objective-C wrapper around SQLite, the greatest database library in the world. I became interested in the creator and history of this library too and stumbled upon an episode of The Changelog podcast:

The Changelog #201: Why SQLite Succeeded as a Database with Richard Hipp, creator of SQLite

I can definitely recommend the podcast and this episode in particular. It also clarifies once and for all how to pronounce SQLite correctly1.


  1. Hint: it doesn’t matter, pronounce it as you like it ↩

Continue reading →


A Great App Is the Sum of Its Frameworks

Over the years, all iOS apps I’ve been working on ended up – in one way or another – as monoliths. Until iOS 8 it was also impossible to have dynamicly-linked frameworks in your app. But the winds have changed, and Apple’s extension architecture embraces dynamic frameworks, even relies on them to share logic between an app and its extension(s).

Even then, you might just end up with an app target and a framework target, which contains most of your business logic (maybe it’s also called „core“, „foundation“, or „base“). In the end, this is also just another monolith.

This is bad on so many levels: As your app grows, your team might grow too and these monoliths will cause team-specific problems like merge conflicts from hell (Xcode project files and interface builder documents are not known for their easy mergability) and a search-based project structure, where files are nested so deep

Continue reading →