Mac & i 4/2016
S. 144
Developer's Corner
CloudKit
Aufmacherbild

Daten überall

CloudKit in eigenen Apps nutzen

Die grundlegenden iCloud-Fähigkeiten, Dokumente über verschiedene Geräte hinweg zu synchronisieren, sind eine feine Sache. Sobald es etwas mehr sein darf, Datenbanken oder Push-Funktionen hinzukommen und die Anforderungen in Richtung Benutzerverwaltung gehen, muss das CloudKit-Framework her – Apples Version des App-Backends.

Bei der Planung für eine neue App kommt man sehr schnell an den Punkt, an dem die lokale Datenhaltung auf dem Endgerät nicht mehr reicht. Spätestens, wenn man Benutzereinstellungen oder Benutzerdaten so intelligent speichern möchte, dass man von verschiedenen Endgeräten darauf zugreifen und obendrein auch noch Operationen auf diesen Daten ausführen kann, muss ein Backend her. Dabei handelt es sich um einen Dienst im Internet, bei dem Apps über genau definierte Schnittstellen Daten ablegen und abholen können. Zum guten Ton gehört es überdies, dass ein Backend auch zum Versand von Push-Nachrichten fähig ist, um damit etwa aktiv Daten an Endgeräte zu versenden, auch wenn die App nicht aktiv ist. iMessage ohne Push-Funktionalität? Nicht möglich.

Sicher, eine App kann Benutzereinstellungen auch ganz simpel über NSUserDefaults lokal auf dem iPhone abspeichern. Aber wie kommt das iPad desselben Users dann an diese Daten? Und wie kommt die zentrale Datenbank an diese Daten, um sie beispielsweise zum Versand von Push-Nachrichten zu verwenden? Basierend auf den Einstellungen des Users möchte man diesen ja vielleicht proaktiv mit Informationen versorgen (Nachrichten, Chats etc.). An dieser Stelle kommt das CloudKit ins Spiel. Seit Facebook angekündigt hat, sein beliebtes Backend Parse zum Januar 2017 abzuschalten, müssen App-Entwickler sich ohnehin umorientieren. Alternativen gibt es einige; keine davon ist aber so einfach aus iOS und OS X verwendbar wie das CloudKit von Apple.