Macoun 2014: Entwicklerkonferenz zu iOS 8, Yosemite und Swift

Seite 2: Healthkit

Inhaltsverzeichnis

Bei HealthKit geht es um viele verschiedene Daten – diskret und skalar, statisch und dynamisch –, die in der HealthKit-App zentral organisiert sind. Anhand einer Beispielanwendung zeigten Krauß und Becker am Quellcode, wie man Inhalte in die HealthKit-Datenbank schreibt und liest. Wenn ein Programm die Genehmigung vom Anwender erhält, sucht man über Bluetooth nach einem Gerät, im Beispiel einem Thermometer. Im Austausch fragt die App die zur Verfügung stehenden Services auf dem Gerät ab, sieht und registriert den Temperatur-Dienst. Sobald sich nun die Temperatur ändert, erhält die App eine Notification der neuen Werte und schreibt sie in die HealthKit-Datenbank. Dabei erfasst sie zusätzlich Metadaten wie den Zeitraum der Messung. Die grafische Darstellung entlang der Zeitachse schafft Überblick. Mit dem Gesundheits-Framework sind viele Kombinationen möglich. So kann etwa ein Programm im Hintergrund Messwerte aufzeichnen und ein anderes sie auswerten.

Mac & i-Autor Max Seelemann begann seinen Vortrag über die Anforderungen komplexer Software-Projekte mit der Folie "Nur unter Druck entstehen Diamanten". In den letzten drei Jahren haben er und seine Mitstreiter einen Texteditor mit über 280.000 Zeilen Code entwickelt. Dabei hat er viel gelernt, erzählte er – vor allem, wie man ein Team organisiert, Leute einstellt und Aufgaben verteilt. Ohne gute Organisation sei ein Projekt dieser Größenordnung nicht zu stemmen.

Ein Bugtracker erleichterte das Verfolgen von Bugs, ermöglichte Diskussionen und das Einhalten von Meilensteinen. Alle Fälle durchlaufen Stufen wie "offen", "zu erledigen" (Sprint), "in Arbeit" (In Progress), "fertig" (Completed), "Abnahme ("In Review"), "erledigt" (Resolved) und "geschlossen". Jede Änderung im Code wird von einem oder mehreren Entwicklern überprüft und kommentiert. Teilweise dauert das auch mal zwei Wochen. Wichtig für den Code seien die Kommentare, so Seelemann. Vor allem die Randbedingungen und Edge Cases müssen gut dokumentiert sein, damit man auch nach Jahren noch versteht, was eigentlich passiert. Der ganze Quelltext besteht aus etwa 20 Prozent Kommentaren. Größere Klassen organisiert sein Team über mehrere Header- und Implementations-Dateien, dabei kommt das Category-Konzept von Objective-C zum Einsatz, um eine Klasse möglichst klein zu beginnen.