SmartNews reduziert mit Kotlin die Anzahl der Codezeilen um 20% und verbessert die Arbeitsmoral im Team

SmartNews hilft Millionen von Menschen, jeden Tag die Welt zu entdecken, indem aktuelle Nachrichten aus einer Vielzahl von Nachrichtenquellen geteilt werden. Das Unternehmen wurde 2012 in Japan gegründet und hat mittlerweile weltweit über 50 Millionen Downloads.

Im Juni 2019 stellte das Team fest, dass die Android-Entwicklung sich in Richtung Kotlin bewegte, und beschloss, Kotlin selbst zu testen. Sie wollten die Kotlin-first-Jetpack-Bibliotheken nutzen, die Menge des zu wartenden Codes reduzieren und von der ausdrucksstarken und leicht verständlichen Syntax von Kotlin profitieren.

Vorgehensweise

Das Team von SmartNews ist mit Java vertraut, sodass es relativ einfach war, mit dem Schreiben in Kotlin zu beginnen. Da Kotlin zu 100% mit Java kompatibel ist, konnten sie problemlos neue Funktionen wie Wetterradar und Nachrichten aus allen Perspektiven in Kotlin schreiben und gleichzeitig mit ihrem vorhandenen Code arbeiten. Sie verwendeten Coroutinen, um das Herunterladen und Cachen von Bildern in der patentierten Funktion „Wetterradar“ zu verwalten. Coroutine-Dispatcher bieten eine nützliche Abstraktion für die Verwaltung von Aufgaben. So konnten die SmartNews-Entwickler die Fallstricke vermeiden, die mit der Verwaltung von Roh-Threads einhergehen.

Das Team hat auch einen Teil des Java-Codes refaktoriert und war von den Null-Sicherheitsfunktionen von Kotlin beeindruckt. Die Kotlin-Syntax zur Identifizierung von Veränderbarkeit, Nullable-Typen und Initialisierung half dem Team, Fehler frühzeitig zu erkennen, und reduzierte die Zeit für die Überprüfung von Codeänderungen um 10%. Dank der prägnanten und effizienten Syntax von Kotlin konnten sie auch die Lesbarkeit ihres Codes verbessern, was die Wartung des Codes im Zuge des Unternehmenswachstums erleichtert hat.

Ergebnisse

Das Schreiben in Kotlin hat ihre Gesamtproduktivität von der Implementierung bis zur Einführung verbessert. Die größte Verbesserung war, dass die Anzahl der konvertierten Codezeilen um 20%reduziert wurde, als sie in Kotlin schrieben. Etwa die Hälfte der SmartNews-App ist derzeit in Kotlin geschrieben. Das Entwicklerteam plant, alle neuen Funktionen in Kotlin zu schreiben und einen Teil des vorhandenen Codes zu refaktorieren, um die Wartbarkeit des Codes weiter zu verbessern.

Als das Entwicklungsteam Kotlin implementierte und Boilerplate-Code reduzierte, bemerkte es eine Steigerung der Arbeitsmoral. Das Team freute sich, seine Ideen effizienter ausdrücken zu können und dass der Code in Zukunft besser lesbar sein würde. Hideo Ohashi, Engineering Manager bei SmartNews, hat festgestellt, dass Kotlin die Rekrutierung von Entwicklern erleichtert. „Die häufigsten Fragen von Bewerbern sind: ‚Verwenden Sie Kotlin? Wie oft verwenden Sie es?‘ Es scheint, dass viele Entwickler jetzt an einer Migration zu Kotlin interessiert sind und es unterstützen möchten.“ Diese Verbesserungen der Moral und der Rekrutierung waren zwar nicht die Hauptgründe für die Einführung von Kotlin durch das Team, aber sie werden dem Unternehmen helfen, in dieser wettbewerbsorientierten Branche weiter zu wachsen.

Erste Schritte

Weitere Informationen zum Entwickeln von Android-Apps mit Kotlin