Kotlin
A concise multiplatform language developed by JetBrains
Neuerungen in KMM seit dem Alpha-Meilenstein
Kotlin Multiplatform Mobile (KMM), ein SDK für die plattformübergreifende mobile Entwicklung, erreichte im August 2020 den Alpha-Status. In den vergangenen 9 Monaten hat sich das KMM-Ökosystem rasant weiterentwickelt:
- Jede neue Kotlin-Version bringt Funktionen und Optimierungen mit, die das Multiplattform-Entwicklungserlebnis weiter verbessern.
- KMM-Entwicklungstools wie das KMM-Plugin für Android Studio werden regelmäßig aktualisiert, um die Erstellung plattformübergreifender mobiler Anwendungen effizienter und angenehmer zu machen.
- Die Community leistet einen aktiven Beitrag zum Ökosystem, indem sie nützliche Bibliotheken entwickelt, lehrreiche Beispielprojekte erstellt und ihre Erfahrungen mit dem Produktiveinsatz von KMM für die Allgemeinheit bereitstellt.
Lesen Sie weiter, um einen Überblick über die wichtigsten Neuerungen im Ökosystem seit dem Übergang in den Alpha-Status zu erhalten, damit Sie keine wichtigen Updates verpassen. Wenn Sie ohne Umschweife praktische Erfahrungen sammeln möchten, besuchen Sie das KMM-Dokumentationsportal, um mehr zu erfahren und KMM auszuprobieren!
In diesem Blogbeitrag finden Sie einen Überblick über folgende Themen:
- Funktionen und Verbesserungen des KMM-Plugins, einschließlich Unterstützung für die Cocoapods-Integration.
- Updates für Kotlin Multiplatform, einschließlich Kotlin/Native-Leistungsverbesserungen.
- Highlights aus den Community-Inhalten, darunter neue Beispielprojekte und Multiplattform-Bibliotheken.
- Änderungen im Dokumentationsportal, einschließlich einer neuen FAQ-Seite.
Das ist neu im KMM-Plugin
Das KMM-Plugin für Android Studio unterstützt Sie bei der Entwicklung plattformübergreifender Anwendungen. Das Plugin ist eng in das iOS-Entwicklungsökosystem integriert und ermöglicht die Erstellung plattformübergreifender Mobil-Apps mit nur wenigen Klicks.
Stabile und anpassungsfähige iOS-Integration
Mit dem KMM-Plugin können Sie den iOS-Teil Ihrer Anwendung direkt in Android Studio auf iOS-Zielgeräten ausführen, testen und debuggen. Seit dem ersten Release des Plugins ist die iOS-Integration wesentlich stabiler und konfigurierbarer geworden und unterstützt jetzt die neuesten iOS-Tools. Die vollständige Liste der Verbesserungen im Bereich iOS-Integration finden Sie hier.
Flexible Projektassistenten
Das KMM-Plugin ist auch eine wichtige Hilfe für Ihre ersten Schritte mit KMM. Das Plugin bietet praktische Assistenten, mit denen Sie schnell und unkompliziert ein neues Multiplattform-Projekt erstellen oder ein vorhandenes Projekt um ein Multiplattform-Modul ergänzen können.
Die neueste Plugin-Version bietet die Möglichkeit, die Cocoapods-Integration für neue KMM-Projekte und -Module zu verwenden. Sie müssen lediglich eine KMM-Modulbeschreibung bereitstellen, und das Plugin generiert den gesamten benötigten Konfigurationscode.
Eine vollständige Liste der neuen Funktionen und Verbesserungen sowie Installationsanweisungen und Kompatibilitätsinformationen finden Sie auf der Release-Seite des KMM-Plugins.
Neuerungen in Kotlin für KMM
KMM nutzt die Multiplattform-Fähigkeiten von Kotlin und verwendet Kotlin/JVM sowie Kotlin/Native zur Erstellung der Plattformartefakte – .jar für Android und .framework für iOS. Jedes Kotlin-Update verbessert daher die Entwicklungserfahrung beim Erstellen plattformübergreifender Mobil-Apps mit KMM.
Bessere iOS-Integration dank Kotlin/Native-Verbesserungen
Das Kotlin/Native-Team konzentriert sich stark auf das Feature, das in der KMM-Community am sehnlichsten erwartet wird: die neue Speicherverwaltung für Kotlin Native. Wir wollen die Entwicklungsvorschau des neuen Speicherverwaltungsdesigns bis Ende Sommer 2021 vorstellen. Details zum Status dieses Projekts finden Sie im Blogartikel Update der Kotlin/Native-Speicherverwaltung.
Neben den erheblichen Fortschritten bei der Implementierung des neuen Speicherverwaltungsansatzes haben wir auch die anderen Features für die iOS-Entwicklung mit Kotlin/Native nicht vernachlässigt:
- Kotlin/Native wurde mit einem Prototyp des neuen Escape-Analysemechanismus ausgestattet, der die iOS-Laufzeitperformance um 10% verbessert.
- Kotlin/Native kann jetzt Ausnahmen abfangen, die zur Laufzeit im Objective-C-Code ausgelöst werden, um Programmabstürze zu vermeiden. Auf diese Weise erhalten Sie Informationen zur Ursache des Problems und können die Ausnahme entsprechend behandeln. Erfahren Sie mehr über das erforderliche Opt-in.
- Die Performance des Kotlin/Native-Compilers wurde durch verschiedene Updates verbessert. So wurde die Rebuild-Dauer des iOS-Frameworks im KMM-Beispielprojekt Netzwerk und Datenspeicherung von 9,5 Sekunden auf 4,5 Sekunden verringert. Erfahren Sie, wie auch Sie in Ihrem Projekt den Kotlin/Native-Kompilierungsprozess beschleunigen können.
- Die CocoaPods-Integration erhielt eine Reihe von Verbesserungen – ein Rebuild der Abhängigkeiten findet zum Beispiel nur noch bei Bedarf statt, und es können mehr Bibliothekstypen als Abhängigkeiten verwendet werden.
Stabile Tools für Ihre Multiplattform-Projekte
Damit die Arbeit an einem Projekt Spaß macht, sind stabile Tools unerlässlich. Nachdem KMM den Alpha-Status erreicht hat und eine Reihe neuer Multiplattform-Features eingeführt wurden, konzentrierte sich das Kotlin-Multiplatform-Team auf die Verbesserung der Stabilität im Frontend und beim IDE-Import. Wir haben zahlreiche Probleme behoben, die bei der Arbeit mit plattformübergreifenden Projekten zu „rotem Code“ in der IDE geführt haben. Wir wollen die Entwicklungserfahrung bei Multiplattform-Projekten weiter verbessern, und dazu benötigen wir Ihr Feedback. Wenn Sie ein paar Minuten Zeit haben, melden Sie bitte alle Probleme, die Ihnen auffallen, in unserem Issue-Tracker YouTrack.
Dies waren natürlich nur die wichtigsten Highlights. Eine umfassende Aufstellung aller neuen Features, die Kotlin für die Entwicklung plattformübergreifender Mobil-Apps bietet, finden Sie im KMM-Dokumentationsportal unter Das ist neu in Kotlin für KMM. Die Seite wird mit jeder neuen Kotlin-Version aktualisiert, damit Sie keine wichtigen Neuerungen verpassen!
Neuigkeiten in der Community
Die Community ist das Herz jedes Technologie-Ökosystems. Sie sind für uns eindeutig die wichtigste Quelle für Inspiration und Feedback! Seit dem ersten Release unterstützen Community-Mitwirkende weltweit die Weiterentwicklung des KMM-Ökosystems, indem sie ihre Erfahrungen bei der Verwendung von KMM in ihren Produktionsprojekten teilen und nützliche Bibliotheken und Beispielprojekte erstellen.
Wachsende Anzahl von KMM-Bibliotheken
Die Anzahl der KMM-Bibliotheken nimmt ständig zu, sodass Sie die Bibliotheken auswählen können, die Ihren Projektanforderungen am besten entsprechen:
- Die benutzerfreundliche, quelloffene lokale Datenbank Realm verfügt jetzt über ein neues SDK für Kotlin Multiplatform. Lesen Sie mehr über die zentralen Designprinzipien, die dem neuen SDK zugrunde liegen.
- Decompose hilft Ihnen, den Anteil des gemeinsamen Codes mit KMM zu erhöhen. Decompose bietet Lebenszyklus-fähige Geschäftslogik-Komponenten für Kotlin Multiplatform inklusive Routing-Funktionen und Plugging-fähiger UI. Da KMM flexibel ist und Ihnen die Entscheidung überlässt, welchen Anteil Ihrer Codebasis Sie als gemeinsamen Code konzipieren, muss sich Ihr gemeinsamer Code nicht auf die Kern- und Business-Schichten Ihres Projekts beschränken. Bibliotheken wie Decompose helfen Ihnen dabei, dieses Ziel zu erreichen.
Bei der KMM-Entwicklung sind noch viele Bedürfnisse offen, sodass sich Bibliotheksautor*innen zahlreiche Möglichkeiten bieten. Lernen Sie, eine Multiplattform-Bibliothek zu erstellen und zu veröffentlichen, und schließen Sie sich diesem schnell wachsenden Ökosystem an!
Neue Beispielprojekte
Für die ersten praktische Erfahrungen mit einer Technologie können Beispielprojekte sehr hilfreich sein. Dank der großartigen Community-Beiträge können Sie je nach Ihrem Code-Sharing-Szenario aus zahlreichen Beispielprojekten wählen:
- Das D-KMP-Beispiel zeigt, wie das ViewModel (einschließlich der Navigationsebene) mit KMM vollständig als gemeinsamer Code angelegt werden kann. Das Projekt implementiert das MVI- und CQRS-Pattern und verwendet die neuesten deklarativen UI-Toolkits: Compose für Android und SwiftUI für iOS.
- Das Multiplattform-Redux-Beispiel zeigt, wie Sie eine plattformübergreifende Anwendung mit KMM und ReduxKotlin aufbauen können.
- Das berühmte PeopleInSpace-Projekt ist eine großartige Demonstration der Leistungsfähigkeit der Kotlin-Multiplattform-Technologie. Eine Besonderheit neben der gemeinsamen Nutzung der gesamten Anwendungslogik und der Verwendung moderner Toolkits für die mobile Benutzeroberfläche ist der Einsatz von Compose Desktop, sodass Sie diese Beispielanwendung sogar auf Ihrem PC ausführen können!
Die neueste Benutzerumfrage zu Kotlin Multiplatform hat uns gezeigt, dass komplexere Beispiele der häufigste Wunsch der Community waren. Deshalb hat das KMM-Team ein offizielles KMM-Produktionsbeispiel vorgestellt. Es handelt sich um einen einfachen RSS-Reader, den Sie aus dem App Store und von Google Play herunterladen können. Das Projekt demonstriert den Einsatz von KMM in einem realen Produktionsszenario. Die verwendete Architektur wird in einer umfassenden Readme-Datei erklärt, damit Sie diese Ansätze in Ihren Projekten anwenden können.
Neue Berichte von Teams, die von KMM profitieren
Immer mehr Unternehmen und Einzelentwickler*innen nutzen KMM zur gemeinsamen Verwendung von Code auf verschiedenen Mobilplattformen:
- Netflix wechselte zu Kotlin Multiplatform Mobile, um die Zuverlässigkeit der Studio-App zu optimieren und die Bereitstellung zu beschleunigen.
- Philips verwendet KMM, um neue Features schneller implementieren zu können. Gleichzeitig hat auch die Interaktion zwischen der Android- und der iOS-Entwicklungsgruppe im Team des Unternehmens zugenommen.
- Down Dog nutzt KMM, um Features gleichzeitig auf allen Plattformen einzuführen, die Entwicklungsgeschwindigkeit zu steigern und die Fehlerhäufigkeit zu reduzieren. Das Team hat sogar den Großteil des Codes für die iOS-Plattform von Swift auf Kotlin umgestellt. Mit der Ausnahme von nur fünf Swift-Dateien ist jetzt das gesamte Projekt in Kotlin geschrieben.
Auf dem KMM-Portal finden Sie weitere Fallstudien mit inspirierenden Berichten von Unternehmen aller Größen sowie von einzelnen Entwickler*innen.
Neuigkeiten im KMM-Portal
Wir entwickeln das Dokumentationsportal kontinuierlich weiter, um Sie im Arbeitsalltag mit KMM zu unterstützen:
- Die neue FAQ-Seite ist ein guter Ausgangspunkt für den Einstieg in KMM. Dort finden Sie Antworten auf häufig gestellte Fragen – zum Beispiel wie Sie unter Windows mit KMM arbeiten können. Wenn Sie auf Ihre Frage keine Antwort finden, schreiben Sie uns bitte!
- Die neue Schritt-für-Schritt-Anleitung hilft Ihnen, eine vorhandene Android-Anwendung plattformübergreifend zu gestalten, um sie sowohl auf Android als auch auf iOS verwenden zu können. Sie müssen nicht Ihr nächstes neues Projekt abwarten, um die Vorteile der plattformübergreifenden Entwicklung zu nutzen!
Das Lesen der Dokumentation ist nicht die einzige Möglichkeit, sich mit KMM vertraut zu machen. Die neue Videoreihe „Kotlin Multiplatform Multiverse“ auf dem YouTube-Kanal von Kotlin behandelt Themen wie das Erstellen eines neuen Projekts und die Verwendung von Ktor für die Netzwerkkommunikation, sodass Sie bequem von Ihrer Couch aus in KMM einsteigen können.
Wie geht es weiter?
Das waren intensive neun Monate! Doch das Beste kommt erst noch, denn KMM bleibt weiterhin eine Hauptpriorität des Kotlin-Teams.
Der nächste mit Spannung erwartete Meilenstein ist die Beförderung von KMM in den Beta-Status. Wir arbeiten an einem detaillierten Plan dafür und werden Sie in einem separaten Blogartikel darüber informieren, welche KMM-bezogenen Aufgaben vor der Beta-Ankündigung abgeschlossen werden müssen. Die meisten von ihnen – darunter die Unterstützung von Apple-Silicon-Zielgeräten in den Kotlin-Multiplattform-Tools und der Prototyp eines neuen Garbage Collectors – sind bereits in Arbeit. In der Kotlin-Roadmap finden Sie weitere Informationen zu unseren aktuellen Prioritäten.
Wir freuen uns sehr, dass die Community größer wird und KMM von immer mehr Unternehmen auf der ganzen Welt eingesetzt wird. Profitieren auch Sie noch heute von der plattformübergreifenden Mobilentwicklung mit KMM!
Weitere Informationen zum Lesen und Ansehen
Kotlin-Videos auf YouTube:
- Videoreihe Kotlin Multiplatform Multiverse
- Talking Kotlin: Kotlin Multiplatform mit John O’Reilly
- Talking Kotlin: MVIKotlin und Decompose mit Arkadii Ivanov
Artikel im Kotlin-Blog:
Detaillierte Informationen in den Kotlin- und KMM-Docs:
- KMM-FAQ
- Erste Schritte mit KMM
- Plattformübergreifende Programmierung mit Kotlin
- Erstellen einer Multiplattform-Bibliothek