{"id":81463,"date":"2020-09-14T09:32:05","date_gmt":"2020-09-14T09:32:05","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=81463"},"modified":"2020-10-01T09:37:44","modified_gmt":"2020-10-01T09:37:44","slug":"kotlin-multiplatform-mobile-alpha","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/de\/kotlin\/2020\/09\/kotlin-multiplatform-mobile-alpha\/","title":{"rendered":"Kotlin Multiplatform Mobile erreicht Alpha-Status"},"content":{"rendered":"<p>Kotlin Multiplatform Mobile (KMM) ist ein SDK, mit dem Sie in iOS- und Android-Anwendungen denselben Code f\u00fcr die Gesch\u00e4ftslogik verwenden k\u00f6nnen. Seit heute befindet sich KMM im Alpha-Stadium \u2013 ab sofort k\u00f6nnen Sie in Ihren Mobil-Apps eine gemeinsame Gesch\u00e4ftslogik verwenden. Im Lieferumfang befindet sich das neue KMM-Plugin f\u00fcr Android Studio, mit dem Sie gemeinsamen Code schreiben, ausf\u00fchren, testen und debuggen k\u00f6nnen \u2013 alles in nur einer IDE. Tun Sie es anderen gro\u00dfartigen Teams wie VMware, Autodesk und Yandex gleich, die mithilfe von Kotlin in ihren Mobil-Apps gemeinsamen Code verwenden. Es war noch nie so einfach, Code \u00fcber Mobilplattformen hinweg wiederzuverwenden!<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/KMM_release_banners_blogpost.png\" alt=\"Datei\"><\/p>\n<h2>Was ist Kotlin Multiplatform Mobile?<\/h2>\n<p><strong>Kotlin Multiplatform Mobile<\/strong> (<strong>KMM<\/strong>) ist ein SDK von JetBrains f\u00fcr die plattform\u00fcbergreifende mobile Entwicklung. Es verwendet die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/multiplatform.html\" target=\"_blank\" rel=\"noopener\">Multiplattform-F\u00e4higkeiten von Kotlin<\/a> und b\u00fcndelt verschiedene Tools und Features, welche die gesamte Entwicklungskette f\u00fcr plattform\u00fcbergreifende mobile Anwendungen reibungsloser und effizienter gestalten. <\/p>\n<p>Oft haben die Android- und iOS-Versionen einer Anwendung viele Gemeinsamkeiten \u2013 sie k\u00f6nnen sich aber auch erheblich unterscheiden. Dies gilt insbesondere bei der Benutzeroberfl\u00e4che, wo die Unterschiede von geringf\u00fcgigen Abweichungen beim Bildlauf bis hin zu v\u00f6llig unterschiedlichen Navigationskonzepten reichen k\u00f6nnen. Gleichzeitig ist die Gesch\u00e4ftslogik der Anwendung \u2013 mit Funktionsbereichen wie Datenverwaltung, Analyse und Authentifizierung \u2013 h\u00e4ufig identisch. Aus diesem Grund liegt es nahe, einige Teile einer Anwendung plattform\u00fcbergreifend anzulegen, w\u00e4hrend andere Bereiche vollst\u00e4ndig separat gehalten werden.<\/p>\n<p>Mit KMM k\u00f6nnen Sie diese Flexibilit\u00e4t nutzen, ohne auf die Vorteile eines nativen Programmcodes zu verzichten. Verwenden Sie eine gemeinsame Codebasis f\u00fcr die Gesch\u00e4ftslogik Ihrer iOS- und Android-Apps und schreiben Sie plattformspezifischen Code nur dort, wo dies erforderlich ist, um eine native Benutzeroberfl\u00e4che zu implementieren oder plattformspezifische APIs zu nutzen.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/08\/KMM-release-scheme_Blogpost.jpg\" alt=\"Datei\"><\/p>\n<p>KMM integriert sich nahtlos in Ihr mobiles Projekt. In Kotlin geschriebener gemeinsamer Code wird mit Kotlin\/JVM zu JVM-Bytecode und mit Kotlin\/Native zu nativen Bin\u00e4rdateien kompiliert. Dadurch k\u00f6nnen Sie Ihre KMM-Gesch\u00e4ftslogikmodule wie jede andere gew\u00f6hnliche mobile Bibliothek verwenden.<\/p>\n<p>Viele Unternehmen haben sich durch das Teilen von Kotlin-Code zwischen mobilen Plattformen bereits viel Zeit und Arbeit erspart. Einige inspirierende Berichte aus der Praxis:<\/p>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/quizlet\" target=\"_blank\" rel=\"noopener\">Quizlet<\/a> migrierte die Gesch\u00e4ftslogik von gemeinsam genutztem JavaScript-Code zu KMM und erzielte dadurch sowohl auf Android als auch auf iOS einen drastischen Performance-Schub.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/fastwork\" target=\"_blank\" rel=\"noopener\">Fastwork<\/a> f\u00fchrte KMM auf der Domain- und Datenebene seiner Anwendung ein, um Gesch\u00e4ftslogik und API-Services zwischen mobilen Plattformen zu teilen. Die Produktivit\u00e4t des Teams wurde dadurch erheblich gesteigert.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/yandex\" target=\"_blank\" rel=\"noopener\">Yandex.Disk<\/a> experimentierte zun\u00e4chst mit der Integration eines kleinen Features. Nachdem das Experiment erfolgreich verlief, wurde die gesamte Datensynchronisationslogik in KMM implementiert.<\/li>\n<\/ul>\n<p>Die bemerkenswerten Ergebnisse dieser und <a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\/\" target=\"_blank\" rel=\"noopener\">vieler anderen Teams<\/a> haben wesentlich zu unserer Inspiration beigetragen und wir hoffen, dass Sie durch diese Erfahrungen dazu ermutigt werden, das Teilen von Code zwischen mobilen Plattformen mit KMM auszuprobieren.<\/p>\n<h2>KMM vereinfacht die Mobilentwicklung<\/h2>\n<p>KMM ist zwar noch eine relative neue Option auf dem Gebiet der mobilen Entwicklung, aber wir sind \u00fcberzeugt, dass es ein echter Game-Changer ist. Daher haben wir innerhalb von Kotlin ein separates Team gebildet, um KMM voranzutreiben und bei der Erstellung plattform\u00fcbergreifender mobiler Anwendungen mit Kotlin die beste Entwicklererfahrung zu bieten.<\/p>\n<p>Als ersten Schritt in diese Richtung zeigen wir Ihnen heute eine erste Preview des <strong><a href=\"https:\/\/plugins.jetbrains.com\/plugin\/14936-kotlin-multiplatform-mobile\" target=\"_blank\" rel=\"noopener\">KMM-Plugins f\u00fcr Android Studio<\/a><\/strong> sowie das neue <strong><a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/\" target=\"_blank\" rel=\"noopener\">KMM-Entwicklerportal<\/a><\/strong>. <\/p>\n<p>Die Reise mit KMM kann beginnen!<\/p>\n<h3>Arbeiten Sie in einer vertrauten Umgebung<\/h3>\n<p>Mit dem neuen KMM-Plugin k\u00f6nnen Sie gemeinsamen Code in Android Studio schreiben, ausf\u00fchren, testen und debuggen, ohne auf andere IDEs ausweichen zu m\u00fcssen. Zum Installieren w\u00e4hlen Sie <strong>Preferences<\/strong> | <strong>Plugins<\/strong>, suchen Sie nach dem Plugin <em>Kotlin Multiplatform Mobile<\/em> auf dem <strong>Marketplace<\/strong> und klicken Sie auf <strong>Installieren<\/strong>.<\/p>\n<h4>Konfigurieren Sie neue Anwendungen mit wenigen Klicks<\/h4>\n<p>Mit dem Assistenten <strong>New Kotlin Multiplatform Mobile Project<\/strong> k\u00f6nnen Sie mit wenigen Klicks ein einsatzfertiges Projekt f\u00fcr Mobil-Apps mit einer gemeinsam genutzten Codebasis erstellen. Um die Funktion auf beiden Plattformen zu testen, w\u00e4hlen Sie einfach die gew\u00fcnschte Run-Konfiguration aus und klicken Sie auf <strong>Run<\/strong>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/08\/kmm-wizard.png\" alt=\"Datei\"><\/p>\n<p>Das generierte Projekt enth\u00e4lt Beispiele f\u00fcr die Anbindung der plattformspezifischen API sowie eine grundlegende Testabdeckung. Dieser Assistent macht es Ihnen leicht, die Grundfunktionen von KMM zu erkunden oder ein Ger\u00fcst f\u00fcr Ihre neue KMM-Produktionsanwendung zu erstellen. <\/p>\n<p>Folgen Sie <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/create-first-app.html\" target=\"_blank\" rel=\"noopener\">diesem Tutorial<\/a>, um das Plugin zu installieren und mit dem Assistenten Ihre erste Multiplattform-Anwendung zu erstellen.<\/p>\n<h4>KMM l\u00e4sst sich in einem Schritt in bestehende Projekte integrieren<\/h4>\n<p>Sie k\u00f6nnen KMM auch direkt in Ihrem aktuellen Projekt ausprobieren: Der gemeinsame Kotlin-Code l\u00e4sst sich wie jede andere Abh\u00e4ngigkeit problemlos in Ihren vorhandenen Code integrieren. Mit dem Assistenten <strong>New Kotlin Multiplatform Mobile Module<em> <\/em><\/strong>k\u00f6nnen Sie Ihrem Projekt ein neues KMM-Modul hinzuf\u00fcgen, um den bereits in Kotlin geschriebenen Code durch Refaktorierung mit iOS kompatibel zu machen und wiederzuverwenden. <\/p>\n<p>In diesem <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/integrate-in-existing-app.html\" target=\"_blank\" rel=\"noopener\">Leitfaden zur Integration von KMM in bestehende Projekte<\/a> erfahren Sie, wie Sie die Architektur von Multiplattform-Projekten konzipieren und die Migration organisieren k\u00f6nnen.<\/p>\n<h4>Entwickeln Sie f\u00fcr beide Plattformen in einer IDE<\/h4>\n<p>Sie m\u00fcssen nicht mehr zwischen verschiedenen IDEs wechseln und Xcode ausf\u00fchren, um sicherzustellen, dass Ihr Code auf beiden Mobilplattformen korrekt funktioniert. Das neue Plugin integriert Ihr iOS-Ger\u00e4t und Ihren Simulator direkt in Android Studio. Dadurch erhalten Sie die folgenden M\u00f6glichkeiten:<\/p>\n<ul>\n<li><strong>Ausf\u00fchren und Debuggen der iOS-Anwendung<\/strong> mit der vordefinierten Run-Konfiguration auf dem Simulator oder auf einem Ger\u00e4t.<\/li>\n<li><strong>Ausf\u00fchren und Debuggen allgemeiner und iOS-spezifischer Tests<\/strong> im iOS-Simulator durch einfachen Klick auf das Randleistensymbol einer Testklasse oder -methode.<\/li>\n<\/ul>\n<p>Sowohl f\u00fcr die Anwendung als auch f\u00fcr die Tests k\u00f6nnen Sie Haltepunkte festlegen und Ihren Code unter iOS debuggen.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/08\/kmm-ios-static-min.png\" data-gif-src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Kotlin\/kmm-ios-demo.gif\"><\/p>\n<h3>Integration in das iOS-\u00d6kosystem ohne jeden Overhead<\/h3>\n<p>Wie erw\u00e4hnt integriert sich KMM nahtlos in Ihr mobiles Projekt. Bei Android k\u00f6nnen Sie Kotlin f\u00fcr Ihren gesamten Projekt verwenden. Gleichzeitig bietet KMM mit Kotlin\/Native eine enge Integration in den iOS-Entwicklungsprozess, etwa durch die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/objc_interop.html\" target=\"_blank\" rel=\"noopener\">Interoperabilit\u00e4t von Kotlin\/Native mit Objective-C\/Swift<\/a>, die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/cocoapods.html\" target=\"_blank\" rel=\"noopener\">Integration mit dem CocoaPods-Abh\u00e4ngigkeitsmanager<\/a> und die M\u00f6glichkeit, <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/connect-to-platform-specific-apis.html\" target=\"_blank\" rel=\"noopener\">plattformspezifische APIs<\/a> mit dem expect\/actual-Pattern zu nutzen.<\/p>\n<h4>Einfache Kotlin-Nutzung in Swift-Code mit Kotlin\/Native<\/h4>\n<p>Kotlin\/Native bietet eine bidirektionale Interoperabilit\u00e4t mit Objective-C\/Swift. Kotlin-Module k\u00f6nnen uneingeschr\u00e4nkt in Swift\/Objective-C verwendet werden. Sie k\u00f6nnen in Ihrem Kotlin-Code Objective-C-Frameworks und -Bibliotheken verwenden. Die Nutzung von Swift-Bibliotheken ist ebenfalls m\u00f6glich, wenn deren API mit <code>@objc<\/code> in Objective-C exportiert wird.<\/p>\n<p>Erfahren Sie mehr \u00fcber die <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/objc_interop.html\" target=\"_blank\" rel=\"noopener\">Interoperabilit\u00e4t von Kotlin\/Native mit Swift\/Objective-C<\/a>.<\/p>\n<h4>Unkomplizierte Verwaltung von iOS-Abh\u00e4ngigkeiten<\/h4>\n<p>Kotlin\/Native erm\u00f6glicht eine Integration mit dem CocoaPods-Abh\u00e4ngigkeitsmanager. Sie k\u00f6nnen Abh\u00e4ngigkeiten zu Pod-Bibliotheken hinzuf\u00fcgen, die im CocoaPods-Repository oder lokal gespeichert sind, und auch Ihre Multiplattform-Projekte mit nativen Targets k\u00f6nnen als CocoaPods-Abh\u00e4ngigkeiten (Kotlin-Pods) verwendet werden. Sie k\u00f6nnen Pod-Abh\u00e4ngigkeiten direkt in Android Studio verwalten, inklusive vollst\u00e4ndiger Programmierunterst\u00fctzung mit Hervorhebung und Completion.<\/p>\n<p>So sieht die typische Konfiguration einer KMM-Bibliothek aus:<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nkotlin {\r\n    android()\r\n    ios()\r\n    \r\n    cocoapods {\r\n        summary = &quot;CocoaPods test library&quot;\r\n        homepage = &quot;https:\/\/github.com\/JetBrains\/kotlin&quot;\r\n        pod(&quot;AFNetworking&quot;, &quot;~&gt; 4.0.0&quot;)\r\n        podfile = project.file(&quot;..\/ios-app\/Podfile&quot;)\r\n     }\r\n }\r\n<\/pre>\n<p>Verbinden Sie die Bibliothek als Kotlin-Pod mit Ihrem iOS-Projekt, indem Sie den Namen und den Pfad zur <code>Podfile<\/code> eintragen:<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nuse_frameworks!\r\n\r\ntarget &#039;ios-app&#039; do\r\n    pod &#039;kotlin_library&#039;, :path =&gt; &#039;..\/kotlin-library&#039;\r\nend\r\n<\/pre>\n<p>Weitere Informationen zur <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/native\/cocoapods.html\" target=\"_blank\" rel=\"noopener\">CocoaPods-Integration<\/a>.<\/p>\n<h3>Holen Sie sich im neuen Entwicklerportal Impulse f\u00fcr bessere plattform\u00fcbergreifende Mobil-Apps<\/h3>\n<p>Das neue KMM-Entwicklerportal wurde entwickelt, um Ihren Weg von den ersten Erfahrungen mit KMM bis hin zum Produktionseinsatz komfortabler und produktiver zu machen.<\/p>\n<p>Beim Arbeiten mit KMM ist der <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/\" target=\"_blank\" rel=\"noopener\">Dokumentationsbereich<\/a> eine unerl\u00e4ssliche Ressource. Sie finden dort Inhalte f\u00fcr alle Kenntnisstufen, von <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/getting-started.html\" target=\"_blank\" rel=\"noopener\">Einstiegstutorials<\/a> bis hin zu Entwicklungsthemen f\u00fcr Fortgeschrittene. Die n\u00fctzlichen Informationen umfassen h\u00e4ufige Aufgaben wie das Organisieren der <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/use-ktor-for-networking.html\" target=\"_blank\" rel=\"noopener\">Vernetzung<\/a> und der <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/configure-sqldelight-for-data-storage.html\" target=\"_blank\" rel=\"noopener\">Datenspeicher<\/a>-Schichten und sogar die <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/organize-process-around-kmm.html\" target=\"_blank\" rel=\"noopener\">Strukturierung des Entwicklungsprozesses rund um KMM<\/a>.<\/p>\n<p>Haben Sie Interesse an neuen Ideen f\u00fcr den sinnvollen Einsatz von KMM in Ihrer Anwendung? In unseren <a href=\"https:\/\/kotlinlang.org\/lp\/mobile\/case-studies\" target=\"_blank\" rel=\"noopener\">Fallstudien<\/a> finden Sie Berichte aus erster Hand von Teams, die KMM bereits in ihren Produkten einsetzen.<\/p>\n<h2>Die Power der Community<\/h2>\n<p>Wir sind den folgenden Unternehmen und unabh\u00e4ngigen Entwicklern dankbar, da sie Zeit, Wissen und Know-how investiert und dadurch ma\u00dfgeblich zu dieser Version beigetragen haben: <a href=\"https:\/\/github.com\/kpgalligan\" target=\"_blank\" rel=\"noopener\">Kevin Galligan<\/a>, <a href=\"https:\/\/github.com\/AlecStrong\" target=\"_blank\" rel=\"noopener\">Alec Strong<\/a>, <a href=\"https:\/\/github.com\/arkivanov\" target=\"_blank\" rel=\"noopener\">Arkadii Ivanov<\/a>, <a href=\"https:\/\/github.com\/benasher44\" target=\"_blank\" rel=\"noopener\">Ben Asher<\/a>, <a href=\"https:\/\/github.com\/joreilly\" target=\"_blank\" rel=\"noopener\">John O\u2019Reilly<\/a>, <a href=\"https:\/\/github.com\/LouisCAD\" target=\"_blank\" rel=\"noopener\">Louis CAD<\/a>, <a href=\"https:\/\/github.com\/wongk\" target=\"_blank\" rel=\"noopener\">Kris Wong<\/a>, <a href=\"https:\/\/github.com\/Alex009\" target=\"_blank\" rel=\"noopener\">Aleksey Mikhailov<\/a> und viele andere gro\u00dfartige Entwickler. Vielen Dank, dass Sie Probleme auf YouTrack gemeldet, an Produktforschung und Interviews teilgenommen, \u00fcber Ihre Erfahrungen mit KMM berichtet und unglaubliche Multiplattform-Bibliotheken erstellt haben!<\/p>\n<p>Wir danken auch den Teams, die uns bei der Erstellung von Inhalten f\u00fcr das neue Entwicklerportal unterst\u00fctzt haben: <a href=\"https:\/\/touchlab.co\/\" target=\"_blank\" rel=\"noopener\">Touchlab<\/a>, <a href=\"http:\/\/icerockdev.com\/\" target=\"_blank\" rel=\"noopener\">IceRock<\/a> und <a href=\"https:\/\/kodein.net\/\" target=\"_blank\" rel=\"noopener\">Kodein Koders<\/a>. Ihre Arbeit wird Tausenden Entwicklern helfen, sich tiefer in Kotlin Multiplatform Mobile einzuarbeiten und das volle Potenzial von KMM zu nutzen.<\/p>\n<p>Sie sind die Besten!<\/p>\n<h2>Probieren Sie es jetzt aus<\/h2>\n<p>Angesichts all dieser coolen Features freuen wir uns sehr, dass <strong><a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/kmm-evolution.html\" target=\"_blank\" rel=\"noopener\">KMM jetzt den Alpha-Status erreicht hat<\/a><\/strong>. Dies bedeutet, dass sich das Kotlin-Team mit aller Kraft daf\u00fcr einsetzt, die Technologie zu verbessern und weiterzuentwickeln. Es ist auch ein Signal, dass sich das Produkt schnell weiterentwickeln wird. Wir werden auf Ihr Feedback h\u00f6ren und Korrekturen und Verbesserungen so schnell wie m\u00f6glich umsetzen. Bitte leisten auch Sie Ihren Beitrag zur Stabilit\u00e4t von KMM, indem Sie alle gefundenen Probleme in unserem <a href=\"http:\/\/kotl.in\/issue\" target=\"_blank\" rel=\"noopener\">Tracker<\/a> melden.<\/p>\n<p>Das Erreichen des Alpha-Stadiums bedeutet, dass jetzt alles f\u00fcr Sie bereitsteht, um mit KMM den Code Ihrer Gesch\u00e4ftslogik auf mehreren Mobilplattformen nutzen zu k\u00f6nnen. Sie k\u00f6nnen ein neues Projekt erstellen oder ein bestehendes Projekt problemlos um ein KMM-Modul erg\u00e4nzen. Beide Szenarien erfordern nur minimalen Aufwand, und Sie haben jederzeit die M\u00f6glichkeit, zur vollst\u00e4ndig nativen Entwicklung zur\u00fcckzukehren. Die Community w\u00e4chst schnell und durch Ihre Teilnahme k\u00f6nnen Sie auf die Entwicklung des gesamten \u00d6kosystems Einfluss nehmen.<\/p>\n<p>Sie haben jetzt also eine gro\u00dfartige Gelegenheit, in die <a href=\"https:\/\/kotlinlang.org\/docs\/mobile\/getting-started.html\" target=\"_blank\" rel=\"noopener\">Nutzung von KMM einzusteigen!<\/a><\/p>\n<p>Um beim gr\u00fcndlichen Ausprobieren von KMM optimale Erfahrungen zu machen und sich \u00fcber interessante Funktionen auszutauschen, schlie\u00dfen Sie sich der Community der Multiplattform-Enthusiasten auf <a href=\"https:\/\/kotlinlang.slack.com\/archives\/C3PQML5NU\" target=\"_blank\" rel=\"noopener\">Slack<\/a> an (Einladung <a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-slack-sign-up\" target=\"_blank\" rel=\"noopener\">hier<\/a>). Abonnieren Sie au\u00dferdem das Tag \u201ekotlin-multiplatform\u201c auf <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/kotlin-multiplatform\" target=\"_blank\" rel=\"noopener\">Stack Overflow<\/a>.<\/p>\n<p>Wir geben zwar unser Bestes, aber wir k\u00f6nnen aktuell noch keine reibungslose Migration garantieren. Allerdings versuchen wir, Kompatibilit\u00e4tsprobleme so weit wie m\u00f6glich zu vermeiden, indem wir Feature-Flags verwenden und f\u00fcr neue Versionen <a href=\"https:\/\/kotlinlang.org\/docs\/reference\/migrating-multiplatform-project-to-14.html\" target=\"_blank\" rel=\"noopener\">Migrationsanleitungen<\/a> bereitstellen.<\/p>\n<h3>Geben Sie uns Feedback<\/h3>\n<p>Dieses Release ist nur der Anfang, und wir brauchen Ihre Hilfe f\u00fcr den Rest des Weges. Wir z\u00e4hlen auf <a href=\"mailto:kmm.feedback@kotlinlang.org\">Ihr Feedback<\/a> \u2013 egal ob positiv oder negativ. Inspirieren Sie andere, indem Sie Ihre Erfahrungen bei der Verwendung von Kotlin Multiplatform Mobile teilen. Und wenn Sie eine Idee haben, wie wir KMM verbessern k\u00f6nnen \u2013 immer her damit!<\/p>\n<p>Kotlin ahoi!<\/p>\n","protected":false},"author":1132,"featured_media":71617,"comment_status":"closed","ping_status":"closed","template":"","categories":[956,907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/81463"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/users\/1132"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/comments?post=81463"}],"version-history":[{"count":2,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/81463\/revisions"}],"predecessor-version":[{"id":81467,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/kotlin\/81463\/revisions\/81467"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media\/71617"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media?parent=81463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/categories?post=81463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/tags?post=81463"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/cross-post-tag?post=81463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}