[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"blog-post-blog_de-kotlin-multiplatform-stabil-fuer-alle-plattformen":3},{"id":4,"title":5,"body":6,"cover":323,"date":324,"description":325,"draft":326,"extension":327,"meta":328,"navigation":154,"path":329,"seo":330,"stem":331,"tags":332,"__hash__":337},"blog_de\u002Fde\u002Fblog\u002Fkotlin-multiplatform-stabil-fuer-alle-plattformen.md","Kotlin Multiplatform: Stabil für alle Plattformen",{"type":7,"value":8,"toc":318},"minimark",[9,13,18,25,62,65,69,85,285,292,307,311,314],[10,11,12],"p",{},"JetBrains hat Kotlin Multiplatform (KMP) Ende 2023 offiziell als stabil für den Produktiveinsatz deklariert. Seitdem hat sich das Ökosystem rasant weiterentwickelt: Google unterstützt KMP seit Mai 2024 offiziell, und die Nutzung unter Entwicklern hat sich laut Developer-Ecosystem-Umfragen von 7 % im Jahr 2024 auf 18 % im Jahr 2025 mehr als verdoppelt.",[14,15,17],"h2",{"id":16},"was-ist-kotlin-multiplatform","Was ist Kotlin Multiplatform?",[10,19,20,24],{},[21,22,23],"strong",{},"Kotlin Multiplatform"," ermöglicht die gemeinsame Nutzung von Geschäftslogik über mehrere Plattformen hinweg -- ohne auf plattformspezifische Funktionen verzichten zu müssen. Zentrale Merkmale:",[26,27,28,35,50,56],"ul",{},[29,30,31,34],"li",{},[21,32,33],{},"Geteilter Code"," für Android, iOS, Web und Server in einem einzigen Kotlin-Projekt",[29,36,37,40,41,45,46,49],{},[21,38,39],{},"Plattformspezifische Implementierungen"," über den ",[42,43,44],"code",{},"expect","\u002F",[42,47,48],{},"actual","-Mechanismus",[29,51,52,55],{},[21,53,54],{},"Volle Interoperabilität"," mit bestehenden nativen APIs und Frameworks",[29,57,58,61],{},[21,59,60],{},"Compose Multiplatform"," für plattformübergreifende UI, seit Version 1.8.0 offiziell stabil für iOS",[10,63,64],{},"Unternehmen wie Shopify, Forbes und die Zürcher Kantonalbank setzen KMP bereits produktiv ein. Über 50.000 Organisationen nutzen das Framework weltweit.",[14,66,68],{"id":67},"architektur-und-einsatzszenarien","Architektur und Einsatzszenarien",[10,70,71,72,75,76,79,80,45,82,84],{},"Die Architektur von KMP basiert auf einem ",[21,73,74],{},"Common-Modul",", das plattformunabhängigen Code enthält, und ",[21,77,78],{},"plattformspezifischen Modulen"," für Android, iOS oder weitere Zielplattformen. Das ",[42,81,44],{},[42,83,48],{},"-Pattern löst dabei Plattformunterschiede auf Sprachebene:",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-kotlin shiki shiki-themes github-light github-dark","\u002F\u002F commonMain\nexpect class PlatformInfo() {\n    val name: String\n    val version: String\n}\n\n\u002F\u002F androidMain\nactual class PlatformInfo actual constructor() {\n    actual val name: String = \"Android\"\n    actual val version: String = Build.VERSION.RELEASE\n}\n\n\u002F\u002F iosMain\nactual class PlatformInfo actual constructor() {\n    actual val name: String = \"iOS\"\n    actual val version: String = UIDevice.currentDevice.systemVersion\n}\n","kotlin","",[42,93,94,103,121,133,143,149,156,162,180,201,217,222,227,233,248,264,280],{"__ignoreMap":91},[95,96,99],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"sJ8bj","\u002F\u002F commonMain\n",[95,104,106,110,114,118],{"class":97,"line":105},2,[95,107,109],{"class":108},"sVt8B","expect ",[95,111,113],{"class":112},"szBVR","class",[95,115,117],{"class":116},"sScJk"," PlatformInfo",[95,119,120],{"class":108},"() {\n",[95,122,124,127,130],{"class":97,"line":123},3,[95,125,126],{"class":112},"    val",[95,128,129],{"class":108}," name: ",[95,131,132],{"class":116},"String\n",[95,134,136,138,141],{"class":97,"line":135},4,[95,137,126],{"class":112},[95,139,140],{"class":108}," version: ",[95,142,132],{"class":116},[95,144,146],{"class":97,"line":145},5,[95,147,148],{"class":108},"}\n",[95,150,152],{"class":97,"line":151},6,[95,153,155],{"emptyLinePlaceholder":154},true,"\n",[95,157,159],{"class":97,"line":158},7,[95,160,161],{"class":101},"\u002F\u002F androidMain\n",[95,163,165,168,170,172,175,178],{"class":97,"line":164},8,[95,166,167],{"class":108},"actual ",[95,169,113],{"class":112},[95,171,117],{"class":116},[95,173,174],{"class":108}," actual ",[95,176,177],{"class":116},"constructor",[95,179,120],{"class":108},[95,181,183,186,189,191,194,197],{"class":97,"line":182},9,[95,184,185],{"class":108},"    actual ",[95,187,188],{"class":112},"val",[95,190,129],{"class":108},[95,192,193],{"class":116},"String",[95,195,196],{"class":112}," =",[95,198,200],{"class":199},"sZZnC"," \"Android\"\n",[95,202,204,206,208,210,212,214],{"class":97,"line":203},10,[95,205,185],{"class":108},[95,207,188],{"class":112},[95,209,140],{"class":108},[95,211,193],{"class":116},[95,213,196],{"class":112},[95,215,216],{"class":108}," Build.VERSION.RELEASE\n",[95,218,220],{"class":97,"line":219},11,[95,221,148],{"class":108},[95,223,225],{"class":97,"line":224},12,[95,226,155],{"emptyLinePlaceholder":154},[95,228,230],{"class":97,"line":229},13,[95,231,232],{"class":101},"\u002F\u002F iosMain\n",[95,234,236,238,240,242,244,246],{"class":97,"line":235},14,[95,237,167],{"class":108},[95,239,113],{"class":112},[95,241,117],{"class":116},[95,243,174],{"class":108},[95,245,177],{"class":116},[95,247,120],{"class":108},[95,249,251,253,255,257,259,261],{"class":97,"line":250},15,[95,252,185],{"class":108},[95,254,188],{"class":112},[95,256,129],{"class":108},[95,258,193],{"class":116},[95,260,196],{"class":112},[95,262,263],{"class":199}," \"iOS\"\n",[95,265,267,269,271,273,275,277],{"class":97,"line":266},16,[95,268,185],{"class":108},[95,270,188],{"class":112},[95,272,140],{"class":108},[95,274,193],{"class":116},[95,276,196],{"class":112},[95,278,279],{"class":108}," UIDevice.currentDevice.systemVersion\n",[95,281,283],{"class":97,"line":282},17,[95,284,148],{"class":108},[10,286,287],{},[288,289],"img",{"alt":290,"src":291},"KMP-Zielplattform-Architektur","\u002Fimg\u002Fblog\u002Fkotlin-multiplatform-architektur.png",[10,293,294,295,298,299,302,303,306],{},"Typische Einsatzszenarien umfassen die gemeinsame Nutzung von ",[21,296,297],{},"Netzwerk-Schichten",", ",[21,300,301],{},"Datenmodellen"," und ",[21,304,305],{},"Geschäftslogik",". Google hat bereits Jetpack-Bibliotheken wie Room, DataStore und ViewModel für KMP freigegeben.",[14,308,310],{"id":309},"warum-das-wichtig-ist","Warum das wichtig ist",[10,312,313],{},"Mit der stabilen Unterstützung durch JetBrains und Google hat Kotlin Multiplatform eine kritische Reifestufe erreicht. Teams können nun plattformübergreifende Projekte mit einem einzigen Technologie-Stack umsetzen, ohne auf native Performance oder plattformspezifische Funktionen zu verzichten. Der Wegfall redundanter Codebases reduziert Wartungsaufwand und beschleunigt die Markteinführung neuer Funktionen erheblich.",[315,316,317],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":91,"searchDepth":105,"depth":105,"links":319},[320,321,322],{"id":16,"depth":105,"text":17},{"id":67,"depth":105,"text":68},{"id":309,"depth":105,"text":310},"\u002Fimg\u002Fblog\u002Fkotlin-multiplatform-cover.jpg","2026-02-27","Kotlin Multiplatform hat den stabilen Status erreicht und ermöglicht geteilte Geschäftslogik für Android, iOS, Web und Server.",false,"md",{},"\u002Fde\u002Fblog\u002Fkotlin-multiplatform-stabil-fuer-alle-plattformen",{"title":5,"description":325},"de\u002Fblog\u002Fkotlin-multiplatform-stabil-fuer-alle-plattformen",[333,334,335,336],"Kotlin","KMP","Cross-Platform","Mobile","SuXJy9iCvQdSzfjm6q3jGp_Cm1BaZZqBgdG2-4-3ADA",1775680578790]