IPDC 2013: reifere App-Entwicklung durch Continuous Integration und Unit-Tests
Die iPhone Developer Conferenz ist so alt wie das SDK. Das beherrschende Thema "iOS 7 und Typographie" wurde gekonnt von Entwickerthemen wie Continuous Integration, Testen von Apps und der Frage flankiert, wie eine App erfolgreich wird.
- Karsten Kisser
Die iPhone Developer Conferenz ist so alt wie das SDK. Das beherrschende Thema "iOS 7 und Typographie" wurde gekonnt von Entwickerthemen wie Continuous Integration, Testen von Apps und der Frage flankiert, wie eine App erfolgreich wird.
Unter der Fragestellung "Wie viel ist nicht zu viel?" in Hinblick auf Design und Typographie bei iOSÂ 7 ging der App-Entwickler der ersten Stunde, Ivo Wessel, auf Typographie, Design und den Richtlinien zu iOSÂ 7 ein. Die Designparadigmen des neuen iOSÂ 7 sind Clarity, Deference (Content first) und Depth (trotz Wegfall von Skeuomorphismus und "Schmalz" ist Tiefe dennoch in iOSÂ 7 vorhanden).
Typographie wird als beherrschendes Designelement eingesetzt. Neben einem Potpourri zu Fonts (speziell auch dem Einsatz der Neuen Helvetica) verdeutlichte Wessel, dass bei iOS 7 als Vertreter des neuen, schlichten Ansatzes ein deutliches Augenmerk auf das Design fällt, dass (zum Glück für den Entwickler) mehr mit Xcode programmatisch als mit Photoshop behandelt wird.
Professionelle Entwicklung
Wer erfolgreich Apps programmieren und verkaufen möchte, muss die IDE hierfür im Schlaf beherrschen. Auch wenn es zu Xcode Alternativen gibt, etwa AppCode von JetBrains, fährt der Apps-Entwickler in der Regel mit dem "Original" deutlich besser. Karl Bode zeigte in seinem Vortrag unter anderem exotisch anmutende akustische Breakpoints zum Erfassen von Methodendurchläufen und die Möglichkeit, hinter Breakpoints Skripte zu legen, um spezielle Tasks zu starten. Mit Behaviours (ähnlich den Eclipse-Perspektiven) lässt sich Xcode fast vollständig an eigene Belange anpassen.
Jenkins ist in der Enterprise-Entwicklung vor allem im Java-Umfeld kaum mehr wegzudenken und scheint nun auch in Apples Welt angekommen zu sein. Waren Bücher wie James Turners "Enterprise iOS Applications" letztes Jahr vielleicht noch ein wenig "exotisch" in der iOS-Entwicklung, hat Apple mit OS X Server und den Bots selbst ein CI-Produkt ins Spiel gebracht. In zwei Praxis-Sessions näherten sich Sven Günther und Andreas Oetjen dem Komplex und zeigten neben vielen Tools (TestFlight und HockeyApp, Shenzen zur Distribution von ipa-Files für beide Testplattformen) erläuternde Demonstrationen.
Die beinahe einhellige Meinung war: CI mit den Bots von Apple ist nett, wenn man den schmalen Apple-Pfad nicht verlässt. Schon das Anbinden externer Git-Repositories stellt anscheinend unüberwindbare Hürden dar. Ein nicht zu unterschätzender Nebeneffekt: Wenn Screenshots vollautomatisch via Build erzeugt werden, ist die App-Screen-Bereitstellung für den App Store ein Kinderspiel. Daraus folgt die Botschaft: Continuous Integration ist kein Tool (und auch kein Selbstzweck), sondern eine (gelebte) Praxis und neben den automatischen Unit Tests unverzichtbar.
RĂĽckblick in die Zukunft
Was wäre die sechste IPDC, wenn es nicht einen kleinen iOS-Rückblick gäbe? Tammo Freese (FlockOfBirds) stellte (s)eine "Best of List" der zehn schlechtesten Programmierbestandteile im SDK (und deren Wandel) über die Jahre vor. Erhellend im Auditorium waren seine bei jedem Punkt eingestreuten Abfragen, wer was wie noch einsetzt (etwa manuelles Reference Counting statt ARC). Die Liste reicht von großen Datenmengen (von SQLite zu Core Date), Speichern des Zustands, App-Lebenszyklus, Auflösung bis zu Layout (NIB/XIB, Storyboard, Auto Layout). Als Bonus-Track stellte Freese die "einzig wahre" Objective-C-Richtlinie vor, die allerdings kontrovers diskutiert wurde.
Bestes technisches Rüstzeug, vorbildliches Verständnis für die Prinzipien von iOS 7 reichen leider nicht mehr aus, um auch nur ansatzweise eine reelle Chance zu haben, mit der eigenen Apps im App Store auch nur hinreichend Geld zu verdienen. Wer von seiner Programmiertätigkeit leben möchte und dafür den geschlossenen, kaufstarken iOS-Kosmos gewählt hat, muss mehr tun als nur brillante Apps schreiben.
Stephan Gillmeier (Pylba) versuchte in seiner Keynote genau hierfür ein gangbares "Kochrezept" zu liefern. Die in diesem Kontext gängigen Buzzwords seien Rentention (die Rückkehr in die App), Engagement (was hier für aktive Benutzung steht) und Viralität (invite user/word to mouth). Nur wer in der Lage sei, diese drei Marketingparameter richtig zu setzen, werde langfristig mit seiner App Erfolg haben. Die präsentierten Zahlen zu App-Downloads und der tatsächlichen späteren Nutzung zeigten, dass die Rentention teilweise extrem schnell sinkt. Auch wenn Freelancer sicherlich nicht ein Feuerwerk an neuen Nachrichten und Notifications starten können, sind viele der angesprochenen Themen durchaus (bis zu einem gewissen Grad) machbar. Ob es dann der ganz große Wurf wird, wisse man nicht. Die Tipps von Gillmeier sollten aber ausprobiert werden.
Fazit
iOS 7 stellt einen tiefen Einschnitt dar, durch den es für engagierte App-Entwickler notwendig wird, Apps wegen des Look & Feel nachzuportieren, außerdem müssen dafür die neuen Prinzipien verstanden sein. Die nun in Apples iOS-Entwicklerwelt angekommenen Unit Tests und speziell Continuous Integration unterstützen gekonnt, nach wie vor mit den eigenen Apps im Store Geld zu verdienen, so man die Anregungen aus der diesjährigen Keynote entsprechend umzusetzen vermag.
Karsten Kisser
ist Software-Koordinator bei Swiss Life Operations in Hannover.
(ane)