Mobilentwicklung: Die Android Kotlin Extensions landen auf dem Abstellgleis

Während die Synthetics in der Erweiterung verschwinden werden, bietet JetBrains künftig Parcelize in einem separaten Plug-in weiter an.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Gleis, Eisenbahn,

(Bild: Niek Verlaan, gemeinfrei (Creative Commons CC0)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

JetBrains hat die Android Kotlin Extensions für überholt (deprecated) erklärt und wird sie mittelfristig abschalten. Die 2017 gestartete Erweiterung zur Android-Entwicklung mit der Programmiersprache Kotlin enthält zwei Pakete: Synthetic Views und Parcelize. Ursprünglich wollte JetBrains die Sammlung erweitern, hat aber keine neuen Tools zugefügt.

Die Abschaltung der Erweiterung erfolgt zwar im Rahmen der Veröffentlichung von Kotlin 1.4.20, steht aber bereits seit längerer Zeit im Raum. Um Verwechslungen vorzubeugen: Das Abschalten betrifft das Paket org.jetbrains.kotlin.android.extensions und nicht die in Android Jetpack enthaltene Library Android KTX.

Die Synthetic Views in kotlinx.android.synthetics bieten Bindings von UI-Elementen, mit denen der Umweg über den Aufruf von findViewById entfällt. Inzwischen hat Google im Rahmen von Android Jetpack eine Library namens View Binding eingeführt, die dieselbe Aufgabe erledigt.

Daher hat JetBrains im Rahmen der Veröffentlichung von Kotlin 1.4.20 die Synthetic Views für überholt erklärt und wird sie mittelfristig entfernen. Bis dahin erscheint beim Einbinden eine Deprecation-Warnung. Ein Leitfaden soll beim Umstellen auf die View-Binding-Bibliothek in Android Jetpack helfen

Da für den zweiten Teil der Android Extension kein direkter Ersatz existiert, lagert JetBrains die Parcelize-Funktionen in die separate Erweiterung kotlinx.parcelize aus. Somit müssen Entwicklerinnen und Entwickler lediglich das Einbinden der Library anpassen und können die @Parcelize-Annotation weiterhin wie gewohnt verwenden.

Die Erweiterung vereinfacht den Umgang mit Implementierungen des Parcelable-Interface, das Android als Alternative zum Standard-Java-Interface Serializable anbietet und das ohne Reflexion auskommt. Durch die Annotation lässt sich Boilerplate-Code vermeiden, da die dafür sonst benötigte explizite Definition von Methoden wie writeToParcel entfällt.

Weitere Details lassen sich dem Android-Entwicklerblog entnehmen. Die Android Kotlin Extensions werden demnach frühestens im September 2021 endgültig verschwinden. Die Pflege des Plug-ins kotlin-parcelize soll auf lange Sicht weiter laufen.

(rme)