Wie man die Anwendungsschicht einer Android-Unternehmensanwendung sauber auf Kotlin Multiplatform migriert

  • Implementierung eines gemeinsamen Moduls mithilfe automatisierter Vorlagen in Android Studio für Android und iOS.
  • Verknüpfung von Abhängigkeiten in Gradle für Android und Konfiguration von Binärframeworks mithilfe von Skripten in Xcode für iOS.
  • Um die Schnittstellenentwicklung zu optimieren, sollten Sie auf den Kotlin 2.0-Compiler aktualisieren und auf Compose Multiplatform umsteigen.

Wie man die Anwendungsschicht einer Android-Unternehmensanwendung sauber auf Kotlin Multiplatform migriert

Wenn Sie jahrelang an der Optimierung einer Geschäftsanwendung für Android gearbeitet haben und nun gebeten wurden, das Projekt auch für Apple-Nutzer zu entwickeln, fragen Sie sich wahrscheinlich, ob Sie Ihre gesamte Arbeit über Bord werfen müssen. Die gute Nachricht ist: Kotlin Multiplatform (KMP) Es ist gekommen, um uns aus der Patsche zu helfen, indem es uns ermöglicht, Geschäftslogik wiederzuverwenden, ohne denselben Code zweimal in verschiedenen Sprachen schreiben zu müssen.

Es ist kein Zauberwerkzeug, das die ganze Arbeit von selbst erledigt, sondern eine kluge Strategie für Daten- und Domänenschicht teilenIm Prinzip verlagern wir die Gemeinsamkeiten beider Plattformen an einen zentralen Ort und lassen jedes System seine eigene Benutzeroberfläche verwalten. Dadurch können wir die Qualität einer nativen App beibehalten, aber gleichzeitig die Effizienz einer einheitlichen Entwicklung nutzen.

Wie man das gemeinsame Modul von Grund auf einrichtet

Für einen guten Start empfiehlt es sich, die offiziellen Tools zu nutzen. Wenn Sie verwenden Android Studio Meerkat Und wenn Sie das Gradle-Plugin in Version 8.8.0 oder höher verwenden, sind Sie dank dieser Vorlage für alle Fälle gerüstet. Kotlin Multiplatform Shared ModuleDiese Option automatisiert die gesamte Basiskonfiguration, sodass Sie sich nicht mit den Konfigurationsdateien herumschlagen müssen.

Der Vorgang ist recht intuitiv: Sie werden Datei > Neu > Neues Modul und wählen Sie die entsprechende KMP-Vorlage aus. Hier müssen Sie die Modulname (das auch als Framework-Name unter iOS dient) und das Dateipaket. Sobald Sie auf „Fertigstellen“ klicken, synchronisiert Gradle das Projekt. Sie werden sehen, dass plattformspezifische Ordner sowie ein gemeinsamer Bereich namens „“ erstellt werden. commonMainDort findet das eigentliche Geschehen statt.

Integration gemeinsamer Logik in Android

Wie man die Anwendungsschicht einer Android-Unternehmensanwendung sauber auf Kotlin Multiplatform migriert

Die Erstellung des Moduls ist nur die halbe Miete; jetzt müssen wir es mitteilen Ihre Android-App Das verwendet diesen Code. Der Assistent erledigt das nicht automatisch, daher müssen Sie die Abhängigkeit manuell zu Ihrer Gradle-Datei hinzufügen. Üblicherweise fügt man dazu Folgendes hinzu: implementation(project(«:shared»)) innerhalb des Abhängigkeitsblocks.

Wenn Sie zu denjenigen gehören, die die Typsicheres Projektzubehör Mit Gradle lässt sich das vereinfachen projects.sharedSobald die Verbindung hergestellt ist, kann Ihre Android-App nahtlos alles nutzen, was Sie programmiert haben. androidMain oder commonMainund fügt sich völlig natürlich in den Arbeitsablauf ein.

Konfiguration und Bereitstellung im iOS-Ökosystem

Hier wird es interessant, da Swift Kotlin nicht nativ unterstützt. Um die beiden Formate zusammenarbeiten zu lassen, müssen wir ein kompiliertes Binär-FrameworkDie Android Studio-Vorlage bereitet die Datei bereits vor. build.gradle.kts mit Konfigurationen für die verschiedenen Apple-Architekturen, wie zum Beispiel iosX64, iosArm64 und iosSimulatorArm64.

Standardmäßig heißt das Framework so: sharedKitSie können diese Variable jedoch ändern. xcfName Wenn Sie einen Namen bevorzugen, der besser zu Ihrer Marke passt. Um Xcode mitzuteilen, was zu tun ist, müssen Sie eine Skriptausführungsphase hinzufügen, die heißt Kotlin-Framework kompilierenEs ist unerlässlich, dass dieses Skript ausgeführt wird. vor dem Kompilieren der Swift-Quellen sodass der Kotlin-Code bereits verfügbar ist, wenn Swift danach sucht.

Um zu überprüfen, ob alles funktioniert, öffnen Sie einfach die Datei. ContentView.swift Importieren Sie die Bibliothek in Xcode. sharedKit und rufen Sie eine Funktion des gemeinsam genutzten Moduls auf, wie zum Beispiel die klassische platform()um zu bestätigen, dass die App erkennt, dass sie auf dem System ausgeführt wird. iOS.

Umstieg auf Kotlin 2.0 und Compose Multiplatform

Wenn Sie auf Kotlin Version 2.0 aktualisieren möchten, sind einige Anpassungen erforderlich. Aktualisieren Sie zunächst die Version in Ihrer Datei. libs.versions.toml Und vergessen Sie nicht, den Ordner hinzuzufügen. .kotlin einordnen .gitignore um zu vermeiden, dass unnötiger Datenmüll in das Repository hochgeladen wird.

Eine grundlegende Veränderung ist die Compose-CompilerDas ist jetzt ein integriertes Kotlin-Plugin. Sie müssen es hinzufügen. org.jetbrains.kotlin.plugin.compose im Versionskatalog und wenden Sie es auf die entsprechenden build.gradle-Dateien an. Dadurch können Sie Entfernen Sie den composeOptions-Block und nutzen Sie eine deutlich stabilere DSL-Verbindung, um Dinge wie die folgenden zu konfigurieren: starker Überspringmodus.

Auch wenn Sie verwenden KSP (Kotlin Symbol Processing)Aktualisieren Sie es unbedingt auf eine mit Kotlin 2.0 kompatible Version, um lästige Kompilierungsfehler zu vermeiden. Falls Sie bereits Erfahrung mit Jetpack Compose haben, können Sie den vorhandenen Code anpassen. Compose MultiplattformDadurch können Sie nicht nur die Logik, sondern auch einen Teil der Benutzeroberfläche teilen, wobei jedoch einige spezifische Details immer angepasst werden müssen, um eine reibungslose Benutzererfahrung auf iOS zu gewährleisten.

Die Migration einer Unternehmensinfrastruktur zu KMP erfordert die Organisation des Codes in einem gemeinsamen Modul, die korrekte Verknüpfung mit Android über Gradle und die Konfiguration von Xcode mithilfe von iOS-Build-Skripten. Das Upgrade auf Kotlin 2.0 vereinfacht die Compose-Compilerverwaltung und optimiert die Projektstruktur, wodurch konsistente Domänenlogik und eine plattformspezifische Schnittstelle gewährleistet werden.


Surfshark Antivirus für Android
Das könnte Sie auch interessieren:
So entfernen Sie Viren auf Android: Eine vollständige und aktualisierte Anleitung zur Bereinigung Ihres Smartphones
Als bevorzugte Quelle hinzufügen