Kürzlich habe ich eine Leserzuschrift zu meinem Kotlin-Buch erhalten: »Wie realisiert man eine Mehrfachauswahl in einer Liste innerhalb einer Android-App?«. Konkret bezog sich die Frage auf die RecyclerView
, die ich im Abschnitt 23.7 »Listen und Tabellen« recht ausführlich behandle.
Alle Beiträge von Michael Kofler
Kotlin-Updates: Jetpack Compose 1.0
In Teil 7 der Kotlin-Updates-Serie werfe ich einen Blick auf Jetpack Compose. Als ich mein Kotlin-Buch im Herbst 2020 fertiggestellt habe, gab es erst eine Alpha-Version dieses neuen UI-Frameworks. Mittlerweile ist Jetpack Compose fast fertig. Weil die mittlerweile stattgefundenen Änderungen umfassend waren, habe ich das betroffene Kapitel 26 vollständig aktualisiert. Sie finden die PDF-Datei am Ende dieses Blog-Beitrags zum Download. Das Kapitel bietet einen guten Einstieg in die Zukunft der Android-Programmierung!
Gnome 40 mit einem vertikalen Dock
Vor ein paar Wochen habe ich hier im Blog kritisiert, dass mich Gnome 40 zu einem horizontalen Dock zwingen will, dass noch dazu zumeist ausgeblendet wird. Mag sein, dass manche dies auf einem kleinen Notebook-Monitor zweckmäßig finden, für mich ist es keine Option. Ich will ein ständig sichtbares Dock, und ich will es am linken Bildschirmrand. Und mittlerweile ist mein Wunsch auch erfüllbar, wie ich in diesem Beitrag anhand von drei Distributionen (Fedora 34, Manjaro, Ubuntu 21.10) zeige.
Das Gnome Entwickerteam vertritt zwar die Ansicht, Shell extensions are always going to be a niche thing, aber da Ubuntu und einige andere Distributionen solche Extensions per Default installieren, wird die Nische womöglich größer als das Original …
Anmerkung: Die Gnome-Nomenklatur nennt das Dock übrigens »Dash«, aber ich bleibe in diesem Artikel bei dem etablierteren Begriff »Dock«.
Kotlin-Updates: Android Studio 4.2
Weiter geht’s mit Teil 6 der Kotlin-Updates-Serie. Diesmal gehe ich auf die Neuerungen ein, die sich mit Android Studio 4.2 ergeben. Den größten Änderungsbedarf verursacht das Gradle-Plugin kotlin-android-extensions
, das jetzt deprecated ist.
Docker-Container automatisch starten
Beim Arbeiten mit Docker besteht oft der Wunsch, einen Container automatisch bei jedem Rechnerstart auszuführen, z.B. um einen Netzwerkdienst anzubieten. In diesem Text stelle ich Ihnen drei Wege vor, wie Sie diesen Wunsch realisieren können. Die ersten beiden Varianten setzen voraus, dass es einen systemweiten Docker-Dienst gibt (dockerd
), dass Sie also mit einer »normalen« Docker-Installation arbeiten (nicht rootless oder mit mit Podman).
Kotlin-Updates: ktor 1.5
Teil 5 der Kotlin-Updates-Serie behandelt die Backend-Bibliothek ktor. Als ich mein Kotlin-Buch im Herbst 2020 fertiggestellt habe, war noch Version 1.3 aktuell, mittlerweile ist es 1.5.
ktor entwickelt sich rasch weiter, aber nicht alle Entwicklungen sind erfreulich: Ärgerlicherweise gilt das ktor-Plugin nun als obsolet. Zwar gibt es ein neues Plugin, dieses ist aber nur in IntelliJ Ultimate enthalten. So wird Jetbrains ktor nicht zum Erfolg verhelfen …
Davon abgesehen ist ktor zwar im Funktionsumfang gewachsen, aber — zumindest was die Beispielprogramme im Buch betrifft — nahezu kompatibel geblieben. (Die einzige Ausnahme betrifft den Umgang des Zeichens / am Ende von URLs, siehe unten.)
Kotlin-Updates: kotlinx.coroutines 1.5
Im vierten Teil der Kotlin-Updates-Serie geht es um die Bibliothek kotlinx.coroutines
, die bei der Programmierung asynchronen Codes zum Einsatz kommt. In meinem Kotlin-Buch habe ich mich auf Version 1.3.9 bezogen, inzwischen gibt es Version 1.5. Soviel vorweg: Es gibt zwar viele Änderungen, diese betreffen die Einführungsbeispiele aus Kapitel 17 aber nicht und sind nur für Entwickler relevant, die fortgeschrittene Funktionen der Bibliothek nutzen.
Arch Linux und »archinstall«
Vorige Woche habe ich die Installation von Arch Linux beschrieben. Ein Leser hat mich nun darauf hingewiesen, dass es zur rein manuellen Installation eine Alternative gibt: Das Script archinstall, das im Live-System von Arch Linux mittlerweile standardmäßig enthalten ist.
Beachten Sie, dass das ArchWiki archinstall
als noch »experimentell« bezeichnet und darum bittet, bei Fehlerberichten auf die Verwendung von archinstall
hinzuweisen.
AlmaLinux oder Oracle Linux oder Rocky Linux?
Mein Linux-Freund Niki Kovacs hat mich heute kontaktiert: Soll man als CentOS-Ersatz Rocky Linux oder doch eher Oracle Linux empfehlen? Ich habe per Mail schon geantwortet, aber ich will die Frage hier ein wenig ausführlicher diskutieren und lade Sie ein, in den Kommentaren Ihre eigene Sichtweise zu präsentieren.
Prinzipiell geht es um die Frage: Welcher RHEL-Klon ist der beste, wenn kein Geld für eine RHEL-Lizenz da ist? CentOS 8 scheidet aus, der RHEL-Klon schlechthin hat ja für Ende 2021 die Einstellung von Updates angekündigt (siehe auch meinen Nachruf auf CentOS). Es gibt aber mittlerweile eine Menge Alternativen (hier in alphabetischer Reihenfolge):
- AlmaLinux
- CentOS Stream
- Oracle Linux
- Red Hat Enterprise Linux (RHEL) mit einem Developer Account kostenlos nutzen
- Rocky Linux
Update 7.7.2021: Gerade habe ich noch einen RHEL-Klon entdeckt: Virtuozzo VzLinux
13.8.2021: Anscheinend noch ein Klon, Euro Linux.
Kotlin-Updates: kotlinx.serialization 1.2
In Teil 3 meiner Kotlin-Updates-Serie fasse ich ganz kurz die Neuerungen in der Bibliothek kotlinx.serialization
zusammen, die seit dem Erscheinen meines Kotlin-Buchs erfolgt sind.