Macoun 2012

Thomas Einwaller
5. November 2012

Am letzten Oktoberwochenende war unser iOS Team auf der Macoun in Frankfurt.

Hier eine kurze Zusammenfassung der Sessions in denen wir waren:

Keynote
Zum Aufwärmen ganz passend und auch wenn man die meisten UI Regeln schon kennt die präsentiert wurden, tut es ganz gut sie sich nochmals vor Augen zu halten
Auto Layout
Trotz kleiner technischer Problemen ein guter Vortrag. Dank live coding waren die kleinen und großen Reinfaller und Stolpersteine von Auto- Layout gleich zu sehen.
Woher / Wohin
Kleine Zeitreise von den Anfängen der Programmiersprachen und IDE’s bis heute und was den noch kommen wird. Fazit: Die nächsten IDE’s gehen stark in die Richtung die von Bret Victor in diesem Video gezeigt wurde – die IDE visualisiert die Ergebnisse des codes sofort.
Grundlagen der Spieleentwicklung
Guter Vortrag aber auch sehr allgemein und vom Niveau einsteigerfreundlich. Ideal für alle die mit dem Gedanken spielen sich mit Spieleprogrammierung anzufreunden.
Core Data
War ein sehr guter Vortrag. Da gabs auch mal echten Code zu sehen und der Bezug zu iOS war auch gegeben.
Scene Kit
Gute Einführung für alle die Scene Kit nicht kennen und sich fragen was man damit machen kann und was besser nicht.
Animation ist schwierig
Es ging weniger um CoreAnimation (iOS / OSX Framework) sondern mehr darum sich das ganze selber zu „bauen“. Der Aufwand dafür scheint extrem hoch zu sein (auch die Meinung des Vortragenden). Das Ergebnis ist anschliessend zwar zufriedenstellend, der Aufwand belauert sich allerdings auf einige Monate Arbeit. Das Problem an CoreAnimation ist, das bei mehreren verschiedenen, parallel ablaufenden Animationen, genauso viele Layer benutzt werden müssen, und das Ganze schnell unübersichtlich werden kann. Es gab leider keinen Code sondern nur grobe Konzepte zu sehen.
Nebenher erledigt
Vortrag ueber Threading. Sehr guter Vortrag im Bezug auf den Vortragenden. Leider etwas oberflächlich über threading. Ein etwas tieferer Einblick wäre ganz gut gewesen. Es sollte erst zu einem Thread gegriffen werden wenn es nicht mehr anders geht. Sehr vieles lässt sich im Mainthread erledigen.  Leider sehr allgemein und ganz ohne Code- Beispiele und HowTo’s für iOS.
Blick in den Werkzeugkasten
Einige Tipps zum Umgang mit Kunden / Problemen bei Projekten. Man sollte sich eine eigene Library mit aufbauen. Verwendung von Categories empfohlen. Methode switching ist eine Möglichkeit sich trotz Ueberschreiben einer Methode, die original Methode zu behalten.
Weniger
Der Vortragende hat gezeigt wie sich das Prinzip „weniger“ quer durch den Entwicklungsprozess ziehen lässt. Weniger Zeit für Meetings vergeuden indem man eine Fixe Länge vorher schon definiert. Ein „Business Model Canvas“ verwenden anstatt langer, komplexer Businesspläne. Versucht man „Everybodies Darling“ zu sein oder macht man „Opinionated Software“. Viele kleine praktische Tips.
Willkommen in der Hölle
Der Vortrag hat einige Fallen und Problem beim Code Signing und dem Arbeiten mit Provisioning Profiles gezeigt. Eher was für Leute die zum ersten Mal damit zutun haben. Mittlerweile funktioniert für den Start und einfache Projekt aber auch der Wizard in XCode schon recht gut.
iCloud
Es wurden ein paar ganz praktische Tips zum Entwickeln mit iCloud weitergegeben. So kann man zB under developer.icloud.com die Daten sehen die synchronisiert wurde. Auch am Mac selbst liegen die Daten wenn der iCloud Account konfiguriert wurde. Außerdem kann es verwirren wenn man beim Testen durch das automatische Throttling gebremst wird. Einschränkung beim Entwickeln: man benötigt zwei iOS Geräte, im Simulator kann man iCloud Synchronisierung nicht testen.
App Marketing
Hier wurden die vielen Möglichkeiten für App Marketing aufgezeigt und über die Erfahrungen damit gesprochen (Paid Reviews, Anzeigen, …). Der Vortragende hat bei den Apps an denen er gearbeitet hat ein Verhältnis von 4 Monaten Coding zu 2 Monaten Marketing.
NoSQL auf Apple Geräten
Nachdem zu erst die Prinzipien von NoSQL Datenbanken erläutert wurde demonstrierte der Vortragende vie man verschieden NoSQL Datenbanken in Mac Apps verwenden kann (MongoDB, Riak, Redis). Leider wurde keine passenden NoSQL Varianten für iOS vorgestellt.
Core Data synchronisieren
Anhand eines Tik Tak Toe Spieles wurde demonstriert wie man via GameKit Core Data Objekte zwischen zwei iOS Geräte synchronisieren kann. Sehr gut aufbereiteter Vortrag mit Code Beispielen. GameKit sieht recht gut aus und die Tips für die Erweiterung der Core Data Objekte könnten auch verwendet werden, um via eines anderen Transportmediums eine Synchronisation durchzuführen.
Continuous Integration für iOS
Zuerst wurden verschiedene Testframeworks für Unit Tests (SenTesting, GH-Unit, OCMock, …), Coverage Tools (gcov, lcov) und Integration Tests (Keep It Functional) vorgestellt und die Erfahrungen damit weitergegeben. Der Vortragende hat ein Maven Plugin für XCode entwickelt und benutzt es um damit seine Projekt in Jenkins zu bauen.