DroidCon Berlin 2022

Die DroidCon Berlin fand dieses Jahr vom 06. Juli bis zum 08. Juli statt. Unser Kollege war dabei und hat uns berichtet!

Die DroidCon Berlin ist das Top-Event für Android-Experten. Drei Tage lang dreht sich alles rund um das Betriebssystem Android – zahlreiche Workshops, Codelabs und Tech-Talks laden ein zum mitdenken, mitdiskutieren und zum netzwerken.

Alex bringt in knackigen Stichpunkten die wesentlichen Eindrücke und die interessantesten Tipps mit! Steigen wir direkt ein!

Ein schneller Überblick über die Kernthemen der DroidCon Berlin

Einige Talks, speziell von Google, verwiesen auf die Open Source App “Now in Android, welche als Beispiel für moderne Android-Entwicklung dienen soll.

Jetpack Compose, das Toolkit zum Erstellen nativer Benutzeroberflächen, war vermutlich DAS Top-Thema der Konferenz. Es wurde an vielen Stellen darauf hingewiesen, dass Compose unbedingt verwendet werden sollte. Sind bisher klassische Android Views im Einsatz, sollten neue Screens in Compose geschrieben werden. Und wenn etwas nicht in Compose ohne weiteres umsetzbar ist, sollte zumindest die View in Compose eingebunden werden.

Modularisierung war ebenso ein häufiges Thema. Ein Tipp dazu war, kein striktes Pattern für Module anzuwenden, sondern sie je nach Anwendungsfall zu gestalten. Diese sollten immer aussagekräftige Namen haben, also auf “common” und “base” verzichten. Außerdem können Gradle Convention Plugins die Modul-Organisation vereinfachen.

Gradle, bzw. langsame Builds, war ebenfalls ein vielgehörtes Thema. Langsame Builds zählen demnach auch zu technischen Schulden und sollten analysiert werden. Auch Gradle Enterprise wurde beworben. Wie schon in vorherigen Talks wurde das Caching Problem von Room angesprochen.

Quick Take-Aways – diese Tipps hat Alex mitgebracht

Tipps zum Thema „Testen“

  • Screenshot Testing
  • Robolectric nur, wenn es gebraucht wird
  • Fakes und Functional Interfaces statt Mocks verwenden
  • Dispatcher für Coroutines injecten
  • Firebase Test Lab verwenden mit Fladle

Tipps, um die Build-Zeit mit Gradle zu verringern

  • Module nutzen
  • Dev Flavor mit nur einem Resource Type z.B. nur xxhdpi
  • Jetifier disablen, wenn Support Libraries nicht mehr genutzt werden
  • Java und Kotlin Code nicht in Modulen mixen, notfalls extra Modul für Java Code.
  • BuildConfig-Generierung in allen Modulen deaktivieren, in denen es nicht gebraucht wird

Tipps zum Thema Security

  • android:expoted Flag in Manifest zu false setzen
  • Encrypted Shared Preferences verwenden
  • JavaScript Interfaces in WebViews vorgeben
  • OAuth 2.0 mit PKCE verwenden

Weitere Tipps

  • Eigene IntelliJ Plugins können beim Entwicklungsprozess helfen, allerdings ist das wegen dem Wartungsaufwand erst für größere Teams interessant. 
  • vielfältige Funktionen von Firebase nutzen, z.B. App Distribution
  • Voyager zur Navigation für Jetpack Compose verwenden
  • prüfen, ob die Cache Control Headers vom Backend richtig gesendet werden.

Green Tech Development & Social Responsibility

Am letzten Tag gab es noch eine Podiumsdiskussion darüber, was wir als Software-Entwickler:innen gegen den Klimawandel tun können. Ich wurde als Teilnehmer eingeladen und konnte damit aus meiner Sicht als Menschen- und Tierrechtsaktivist mitdiskutieren. Ich war auf der Bühne mit Markus Gilles, dem CEO und Gründer von Klima (einer App, um den CO2-Fußabdruck zu berechnen und zu kompensieren) und Chris Ward von NordVPN, der die Diskussion organisierte und auch moderierte. 

Wir sprachen darüber, was wir neben energieeffizienter Software-Entwicklung als Einzelne machen können.“, so Alex.

Hier kann die Podiumsdiskussion „Green Tech Development & Social Responsibility“ angesehen werden!