Droidcon 2021 in Berlin

Auf der 12. droidcon Berlin fanden sich die führenden Android-Experten der Branche vom 20. bis 22. Oktober 2021 zusammen. Die Konferenz fand im Keller des CityCube Berlin statt und war somit bestens mit der Bahn oder zu Fuß vom Hotel erreichbar. Die drei Konferenztage waren mit 30- bis 60-minütigen Vorträgen gefüllt. Dazwischen gab es Kaffeepausen mit Snacks, für Mittagessen war auch gesorgt. In den Pausen konnten wir uns an den Ständen der Sponsoren aufhalten und mit Gleichgesinnten austauschen. Besondere Aufmerksamkeit zogen ein Stand mit Live-Coding und ein Programmier-Quiz auf sich. Im Folgenden beschreiben wir unsere Erfahrungen zu den Talks und abschließend ein Fazit, welche Erkenntnisse und Inspirationen wir von der Konferenz mitnehmen konnten.

Tag 1: Geschichtsstunde über Android

Nach der Begrüßung gab es eine spannende Keynote von Chet Haase, eine bekannte Größe in der Android Welt. Er ist seit 2010 Teil des Teams rund um das Android Betriebssystem und hat das Projekt von den Kinderschuhen auf begleitet. Genau darüber handelte auch seine Keynote: “Why Projects Succeed: Lessons Learned from the Anroid OS”. In einem einstündigen aber kurzweiligen Vortrag erzählte uns Chet, wie aus der Idee, eine Software für Digitalkameras zu entwickeln schließlich das am meisten genutzte Betriebssystem für Smartphones wurde. Passend dazu hatte er erst wenige Monate zuvor sein neues Buch veröffentlicht, das die Erfolgsgeschichte von Android im Detail erzählt.

Chet Haase - Keynote - Droidcon 2021
Chet Haase - Keynote - Droidcon 2021

Im Anschluss konnten wir in die erste Vortrags-Session starten. In insgesamt 5 Vortragsräumen, die alle nach bedeutenden Programmiererinnen der Geschichte benannt waren, gab es parallel Talks zu Themen rund um die neusten Entwicklungen in Kotlin, dem Frontend Framework Jetpack Compose, aber auch praktische Fallstudien und allgemeinere Themen wie z.B. CI/CD.

Der Vortrag von Lena Stepanova stand ganz im Sinne der neuen Technologie Kotlin Multiplatform Mobile, kurz KMM. Das Framework stellt eine vielversprechende Möglichkeit bereit, Apps für iOS und Android mit einer gemeinsamen Codebasis zu entwickeln. In dem Vortrag ging es um die Erfahrungen und Fallstricke, KMM für Produktivcode einzusetzen. Wir haben mitgenommen, dass das Framework sich aktuell eher für kleinere Projekte eignet, da es bisher nur eine eingeschränkte Auswahl an Bibliotheken für KMM gibt.

Ein weiteres Highlight war der Vortrag “A Hitchhikers Guide to Compose Compiler” von Jossi Wolf und Amanda Hinchman-Domiguez, einer von vielen Talks zum Thema Jetpack Compose. Die zwei tauchten tief in das neue UI Framework ein und erklärten, wie Jetpack Compose eigentlich im Hintergrund funktioniert. Dabei lernten wir interessante Dinge über den Kotlin Compiler und über Compiler Plugins. Man hätte sicher noch viel tiefer einsteigen können, aber die Zeit war leider nur begrenzt.

Am Abend konnten wir den ersten Konferenztag in geselliger Runde mit Bier und Brezeln ausklingen lassen. Auf der offiziellen “Party” lernten wir beim Mario Kart spielen andere Teilnehmer und Speaker kennen und konnten uns austauschen. Der Abend endete nicht all zu spät, denn für den nächsten Tag waren wieder viele Vorträge geplant.

Tag 2: Von Autos bis Microcontroller – alles mit Android

Der zweite Tag begann für uns mit einem Talk über Android Automotive OS, ein Betriebssystem für Fahrzeuge, basierend auf Android. Interessant war es, die Unterschiede zwischen der App-Entwicklung für Handys oder Tablets und der Entwicklung für Fahrzeuge kennen zu lernen. Auch wenn das darunter liegende System gleich ist, müssen vor allem im Bereich UI viele Dinge anders gedacht werden.

Gut gefallen hat uns auch der Vortrag zu Bluetooth LE. Dabei haben wir gelernt, dass es viel zu viele Standards gibt und diese teils schlecht dokumentiert sind. Um mit diesen Herausforderungen bei der Entwicklung besser umzugehen, haben wir Fallbeispiele an die Hand bekommen und die größten Fallstricke kennengelernt.

Der Vortrag “Printed Circuit Boards and Android” ließ die Bastlerherzen höher schlagen. Mario Bodeman hat uns gezeigt, wie man einen Microcontroller mit einem Android Handy über die serielle USB Schnittstelle ansteuert. Außerdem hat er uns auch praktische Tipps und weiterführende Ressourcen an die Hand gegeben, um in die Hardware-Entwicklung einzusteigen. Da hat man sofort Lust bekommen, einen Arduino in die Hand zu nehmen und Lämpchen blinken zu lassen 🙂

Für das Abendprogramm war am zweiten Tag ein Filmabend geplant. Es wurde der Film “Hackers” gezeigt, die Auswahl war natürlich passend zugeschnitten auf eine IT Konferenz. Wir haben im Anschluss an den zweiten Konferenztag Berlin noch ein bisschen erkundet und den Abend in einem Irish Pub ausklingen lassen.

Tag 3: A complete Waste of Time & Community-Talks

Der dritte Tag startete sehr unterhaltsam mit einer weiteren Keynote des Comedian Chet Haase: “A complete Waste of Time”. Er war kurzfristig eingesprungen, da die eigentlich geplante Keynote ausfiel. Aus seiner langjährigen Erfahrung erzählte er von der effektivsten Methode, Bugs im Code zu verhindern – nämlich indem man möglichst wenig programmiert. Von “practicing best practices in practice” bis hin zum Einstellen von Managern statt Entwicklern im Projekt waren allerlei praktische Tipps zum Verhindern von Bugs (und Code).

Anschließend begannen die Community-Talks, über die im Vorfeld von allen Teilnehmern abgestimmt wurde, d.h. spontane Talks von Teilnehmern der Konferenz. Besonders spannend war ein Talk zur Migration auf Jetpack Compose in einer Banking-App eines großen norwegischen Finanzdienstleisters. Wir hatten auf der Konferenz zwar schon viele Talks zu dem Thema gehört, dieser war jedoch besonders interessant, da viele Erfahrungen aus einer großen, modular aufgebauten Anwendung gezeigt und mit praktischen Beispielen belegt wurden. Zum Migrationsplan gehört u.a. die Bottom-Up-Strategie. Zuerst werden die Komponenten am unteren Ende der UI-Hierarchie, wie bspw. Buttons, ausgetauscht. Die Tatsache, dass in diesem Projekt die UI-Komponenten in eine eigene Bibliothek ausgelagert sind, vereinfachte die Migration zusätzlich. Anschließend arbeitet man sich in der Hierarchie nach oben und migriert ganze Layouts, und abschließend wird auch die Navigation zwischen den Ansichten von Jetpack-Compose abgelöst.

Letztendlich haben uns die Community-Talks überraschend gut gefallen. Sowohl inhaltlich als auch rhetorisch haben sie so manchen “offiziellen” Talk übertroffen. Wir freuen uns, dass es so viele begeisterte Teilnehmer gab, die spontan einen Vortrag gehalten haben.

Was haben wir also mitgenommen?

  • Das UI-Toolkit Jetpack-Compose kommt schon in vielen, teils auch großen Projekten zum Einsatz, obwohl es noch eine junge Technologie ist. Da die Umstellung von keinem der Teams bereut wurde, sollten wir uns das Thema mal genauer anschauen.
  • Kotlin Multiplatform Mobile (KMM) wird auch schon häufiger eingesetzt, ist aber noch experimentell. Es gibt noch viele Fallstricke bei der Platformunabhängigkeit zwischen Android und iOS, vor allem bei der Nebenläufigkeit.
  • Java scheint gar kein Thema mehr zu sein im Bereich der Android-Entwicklung.
  • Kotlin Flows in Kombination mit Coroutines ist ein sehr attraktives Pattern zur Umsetzung von Nebenläufigkeit.
  • Rothaus ist ein sehr beliebtes Bier in Berlin 🙂
synyx auf der droidcon