Macoun 2012: Mac- und iOS-Entwickler-Treffen mit Live Coding

Seite 2: Live Coding

Inhaltsverzeichnis

Auf der Macoun gab es insgesamt 22 Vorträge, drei davon jeweils parallel. Das waren zwar weniger als bei der WWDC, wo stets sechs bis sieben gleichzeitig stattfanden. Die Wahl fiel trotzdem schwer, konnte sich doch jeder Teilnehmer höchstens acht anhören.

Den Beginn machte Thomas Tempelmann, Programmierer seit C64-Tagen und in Entwicklerkreisen bekannt durch den CD-Brenner Toast oder "Find Any File". Er hat live in Xcode gezeigt, wie man mit Auto Layout iOS-Oberflächen baut, die sich automatisch anpassen, wenn das Fenster die Größe ändert, weil etwa das OS einen Balken einblendet oder ein neues iPhone größer ausfällt als sein Vorgänger. Auch den Wechsel vom Hoch- ins Querformat könne Auto Layout oft automatisieren. Besonders wertvoll ist Auto Layout beim Lokalisieren: Thomas zeigte, wie sich das Layout an geänderte Textlängen dynamisch anpasst, und verriet einige Tricks, um mit unterschiedlichen Sprachen in Xcode zu jonglieren. Wer selbst schon in einem Vortrag live gecodet hat, weiß, wie schwierig das ist und wie schnell die Zeit dabei verrinnt, und so konnte auch Thomas am Ende der Stunde einen guten Teil seiner Beispiele nur noch anreißen.

"Animation ist schwierig", vor allem in Produktivitätssoftware, mahnte Macoun-Veteran Frank Illenberger.

Auch die Vorträge von Frank Illenberger, ebenfalls ein Macoun-Veteran, sind immer sehr gefragt. Unter dem Motto "Animation ist schwierig" beschäftigte er sich mit dem Sinn und Zweck impliziter Animationen in Produktivitätssoftware. Anhand kleiner Videos unterschied er gute von weniger guten Beispielen. Die "goldene Regel" laute: Ein Übergang muss entweder ganz oder gar nicht animiert sein. Sobald Teile springen, bringe die Animation keinen Gewinn. Im zweiten Teil des Vortrags ging es um die praktische Umsetzung mit Apples Core Animation und wann diese an ihre Grenzen stößt. Er beschrieb die recht aufwendige Architektur rund um MVC und einen "Render Tree", die er mit seinem Team für Animationen "ohne Core" entwickelt hat – leider gibt es die nicht als Open Source Code.

Nach der Mittagspause kam nochmals Uli Kusterer zu Wort. Er gab einen Überblick, woher aktuelle Programmiersprachen und Entwicklungsumgebungen kommen und wohin die Reise in Zukunft gehen mag. Es ist immer wieder überraschend, wie alt die Wurzeln aktueller Sprachen sind. So könne man Objective-C als "C plus Smalltalk" beschreiben, und Smalltalk gibt es schon seit 1980. Ähnlich sei C++ ursprünglich als "C plus Simula" gedacht worden, wobei Simula bereits in den 1960ern entwickelt wurde. Auch eine integrierte Entwicklungsumgebung (IDE) hatte Smalltalk bereits, ja sogar die Refactoring-Unterstützung sei für Smalltalk erfunden worden. Es sei also Quatsch, wenn behauptet würde, dass automatisches Refactoring für eine dynamische Sprache wie Objective-C nicht so gut möglich sei. Für die Zukunft erwartet Uli entsprechende Verbesserungen in den IDEs und eine Konvergenz von textuellen mit grafischen Programmiersprachen. Ein Weg dahin könne der weitere Ausbau der Code-Vervollständigung mit Kartuschen sein: sobald diese Popups mit möglichen Parameterwerten präsentieren, sei man bereits unterwegs zu mehr grafischer Programmierung.