{"id":405540,"date":"2023-11-15T10:18:45","date_gmt":"2023-11-15T09:18:45","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=405540"},"modified":"2023-11-15T13:11:33","modified_gmt":"2023-11-15T12:11:33","slug":"compose-multiplatform-1-5-10-idealni-cas-zacit","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/cs\/kotlin\/2023\/11\/compose-multiplatform-1-5-10-idealni-cas-zacit\/","title":{"rendered":"Compose Multiplatform 1.5.10 \u2013 ide\u00e1ln\u00ed \u010das za\u010d\u00edt"},"content":{"rendered":"<p>Compose Multiplatform je deklarativn\u00ed UI framework od spole\u010dnosti JetBrains, kter\u00fd v\u00fdvoj\u00e1\u0159\u016fm umo\u017e\u0148uje sd\u00edlet u\u017eivatelsk\u00e1 rozhran\u00ed aplikac\u00ed na r\u016fzn\u00fdch platform\u00e1ch. Umo\u017e\u0148uje opakovan\u00e9 pou\u017eit\u00ed a\u017e 100 % \u201ecodebase\u201c nap\u0159\u00ed\u010d syst\u00e9my Android, iOS, desktopy a webem. Framework t\u011b\u017e\u00ed z funkc\u00ed technologie Kotlin Multiplatform pro sd\u00edlen\u00ed k\u00f3du, kter\u00e1 je odte\u010f v <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/11\/kotlin-multiplatform-stable\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlinu 1.9.20 stabiln\u00ed<\/a>.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Za\u010dn\u011bte s Compose Multiplatform\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html?utm_source=kotlinblog&amp;utm_medium=cta&amp;utm_campaign=compose1.5.10\" target=\"_blank\" rel=\"noopener\">Za\u010dn\u011bte s Compose Multiplatform<\/a><\/p>\n<p>Compose Multiplatform ve verzi 1.5.10 poskytuje podporu jazyka Kotlin 1.9.20, nab\u00edz\u00ed zjednodu\u0161en\u00fd onboarding, zav\u00e1d\u00ed nov\u00fd port\u00e1l pro dokumentaci a poskytuje n\u00ed\u017ee uveden\u00e9 funkce:<\/p>\n<div id=\"rank-math-toc\" class=\"wp-block-rank-math-toc-block\">\n<h2>Obsah<\/h2>\n<nav>\n<ul>\n<li><a href=\"#easier-to-get-started\">Za\u010dn\u011bte snadno a rychle<\/a><\/li>\n<li><a href=\"#new-material-3-components-in-common-code\">Nov\u00e9 komponenty z Material 3 ve spole\u010dn\u00e9m k\u00f3du<\/a><\/li>\n<li><a href=\"#enhanced-text-fields-on-i-os\">Vylep\u0161en\u00e9 funkce pro textov\u00e1 pole v iOS<\/a><\/li>\n<li><a href=\"#crossfade-animation-for-ui-kit-interoperability\">Animace prol\u00edn\u00e1n\u00ed umo\u017e\u0148uj\u00edc\u00ed interoperabilitu s UIKit<\/a><\/li>\n<li><a href=\"#increased-compilation-speed\">Rychlej\u0161\u00ed kompilace<\/a><\/li>\n<li><a href=\"#basic-support-for-the-k-2-compiler\">Z\u00e1kladn\u00ed podpora pro kompil\u00e1tor K2<\/a><\/li>\n<li><a href=\"#enhanced-rendering-performance-on-i-os\">Vylep\u0161en\u00fd v\u00fdkon renderov\u00e1n\u00ed v iOS<\/a><\/li>\n<li><a href=\"#new-documentation-portal\">Nov\u00fd port\u00e1l pro dokumentaci<\/a><\/li>\n<\/ul>\n<\/nav>\n<\/div>\n<p>D\u00edky t\u011bmto plo\u0161n\u00fdm vylep\u0161en\u00edm v\u00e1m garantujeme, \u017ee za\u010d\u00edt pou\u017e\u00edvat Compose Multiplatform nikdy nebylo snaz\u0161\u00ed. Nask\u00fdt\u00e1 se v\u00e1m tedy ide\u00e1ln\u00ed p\u0159\u00edle\u017eitost za\u010d\u00edt pou\u017e\u00edvat Compose Multiplatform pro v\u00fdvoj nap\u0159\u00ed\u010d platformami, a pokud jste ji\u017e u\u017eivateli, zm\u00edn\u011bn\u00e1 vylep\u0161en\u00ed zefektivn\u00ed va\u0161i pr\u00e1ci jako nikdy p\u0159edt\u00edm.<\/p>\n<h2 id=\"easier-to-get-started\" class=\"wp-block-heading\">Za\u010dn\u011bte snadno a rychle<\/h2>\n<p>Pokud chcete do Compose Multiplatform a Kotlin Multiplatform sko\u010dit rovn\u00fdma nohama, m\u00e1me pro v\u00e1s skv\u011blou zpr\u00e1vu:<\/p>\n<ul>\n<li><a href=\"https:\/\/kmp.jetbrains.com\/\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/kmp.jetbrains.com\/\">Webov\u00fd pr\u016fvodce pro Kotlin Multiplatform<\/a> umo\u017e\u0148uje snadn\u00e9 vytvo\u0159en\u00ed nov\u00e9ho projektu na p\u00e1r kliknut\u00ed. Projekt obsahuje sd\u00edlenou logiku a u\u017eivatelsk\u00e9 rozhran\u00ed Compose Multiplatform pro v\u00edce platforem.<\/li>\n<li>Pro Andorid, iOS a desktopy jsou k dispozici <a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\">nov\u00e9 onboardingov\u00e9 tutori\u00e1ly<\/a>. D\u00edky nim se sezn\u00e1m\u00edte se z\u00e1kladn\u00edmi koncepty Kotlin Multiplatform a Compose Multiplatform jedna, dv\u011b.<\/li>\n<li>Dokumentace pro Compose Multiplatform byla integrov\u00e1na do <a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/get-started.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/get-started.html\">port\u00e1lu Kotlin Multiplatform Development<\/a>, tak\u017ee te\u010f pot\u0159ebn\u00e9 informace najdete sn\u00e1ze a jednodu\u0161eji.<\/li>\n<\/ul>\n<p>M\u016f\u017eete se tak\u00e9 zaregistrovat na n\u00e1\u0161 <a href=\"https:\/\/info.jetbrains.com\/kotlin-webinars-2023.html\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/info.jetbrains.com\/kotlin-webinars-2023.html\">webin\u00e1\u0159 o tom, jak za\u010d\u00edt pracovat Compose Multiplatform<\/a>, kter\u00fd je napl\u00e1nov\u00e1n na 28. listopadu.<\/p>\n<h2 id=\"new-material-3-components-in-common-code\" class=\"wp-block-heading\">Nov\u00e9 komponenty z Material 3 ve spole\u010dn\u00e9m k\u00f3du<\/h2>\n<p>Ve spole\u010dn\u00e9m k\u00f3du jsou te\u010f k dispozici v\u0161echny komponenty Compose Material 3. V t\u00e9to verzi p\u0159ibyly komponenty <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#ModalBottomSheet(kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.material3.SheetState,androidx.compose.ui.unit.Dp,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.graphics.Color,kotlin.Function0,androidx.compose.foundation.layout.WindowInsets,androidx.compose.ui.window.SecureFlagPolicy,kotlin.Function1)\" target=\"_blank\" rel=\"noreferrer noopener\">ModalBottomSheet<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#ExposedDropdownMenuBox(kotlin.Boolean,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1)\" target=\"_blank\" rel=\"noreferrer noopener\">ExposedDropdownMenuBox<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#SearchBar(kotlin.String,kotlin.Function1,kotlin.Function1,kotlin.Boolean,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SearchBarColors,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)\" target=\"_blank\" rel=\"noreferrer noopener\">SearchBar<\/a> a <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#DockedSearchBar(kotlin.String,kotlin.Function1,kotlin.Function1,kotlin.Boolean,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SearchBarColors,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)\" target=\"_blank\" rel=\"noreferrer noopener\">DockedSearchBar<\/a>, co\u017e zavr\u0161uje sadu komponent definovanou v <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-material3\" target=\"_blank\" rel=\"noreferrer noopener\">Compose Material 3<\/a> verze 1.1.2.<\/p>\n<p>Na desktopech to vypad\u00e1 takhle:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/NewComponentsDesktop-1.png\" alt=\"Nov\u00e9 komponenty na desktopech\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/NewComponentsDesktop-1.gif\" \/><\/p>\n<p>A takhle to bude vypadat v iOS a Androidu:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/ezgif.com-resize-4.png\" alt=\"Nov\u00e9 komponenty v iOS\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/ezgif.com-resize-4.gif\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/NewComponentsAndroid-1.png\" alt=\"Nov\u00e9 komponenty v Androidu\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/NewComponentsAndroid-1.gif\" \/><\/p>\n<h2 id=\"enhanced-text-fields-on-i-os\" class=\"wp-block-heading\">Vylep\u0161en\u00e9 funkce pro textov\u00e1 pole v iOS<\/h2>\n<p>Tato verze obsahuje n\u011bkolik vylep\u0161en\u00ed pro textov\u00e1 pole v syst\u00e9mu iOS. K dispozici je nov\u00fd re\u017eim rychl\u00e9ho maz\u00e1n\u00ed, bylo vylep\u0161eno zpracov\u00e1n\u00ed dvojit\u00fdch a trojit\u00fdch poklep\u00e1n\u00ed, fyzika posouv\u00e1n\u00ed obsahuje \u201egumi\u010dkov\u00fd efekt\u201c a animace prol\u00edn\u00e1n\u00ed zlep\u0161uje interoperabilitu.<\/p>\n<ul>\n<li>Od t\u00e9to verze se p\u0159i dlouh\u00e9m stisknut\u00ed Backspace po prvn\u00edch 21 znac\u00edch aktivuje nov\u00fd re\u017eim rychl\u00e9ho maz\u00e1n\u00ed. V tomto re\u017eimu ka\u017ed\u00e9 vymaz\u00e1n\u00ed odstran\u00ed dv\u011b slova. To je v souladu s v\u00fdchoz\u00edm chov\u00e1n\u00edm syst\u00e9mu iOS a o\u010dek\u00e1v\u00e1n\u00edm u\u017eivatel\u016f.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/FastDeleteMode-1.png\" alt=\"Re\u017eim rychl\u00e9ho maz\u00e1n\u00ed v iOS\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/FastDeleteMode-1.gif\" \/><\/p>\n<ul>\n<li>Od t\u00e9to verze jsou dvojit\u00e1 a trojit\u00e1 poklep\u00e1n\u00ed v textov\u00e9m poli zpracov\u00e1v\u00e1na konzistentn\u011b. Dvojit\u00fdm poklep\u00e1n\u00edm se v\u017edy vybere aktu\u00e1ln\u00ed slovo, zat\u00edmco trojit\u00fdm se v\u017edy vybere cel\u00fd text.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/DoubleAndTripleTaps-1.png\" alt=\"Dvojit\u00e9 a trojit\u00e9 poklep\u00e1n\u00ed v iOS\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/DoubleAndTripleTaps-1.gif\" \/><\/p>\n<ul>\n<li>V Compose Multiplatform 1.5.0 byla zavedena podpora nativn\u00ed fyziky posouv\u00e1n\u00ed. Tato verze p\u0159id\u00e1v\u00e1 pro velk\u00e1 textov\u00e1 pole podporu pro tzv. overscrollu (\u201egumi\u010dkov\u00fd efekt\u201c). U\u017eivatelsk\u00e9 rozhran\u00ed Compose Multiplatform bude odte\u010f zprost\u0159edkov\u00e1vat sk\u00e1kav\u00fd efekt, kter\u00fd u\u017eivatel\u00e9 iOS o\u010dek\u00e1vaj\u00ed.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/RubberBandEffect-1.png\" alt=\"Gumi\u010dkov\u00fd efekt v iOS\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/RubberBandEffect-1.gif\" \/><\/p>\n<h2 id=\"crossfade-animation-for-ui-kit-interoperability\" class=\"wp-block-heading\">Animace prol\u00edn\u00e1n\u00ed umo\u017e\u0148uj\u00edc\u00ed interoperabilitu s UIKit<\/h2>\n<p>Pokud c\u00edl\u00edte na iOS, Compose Multiplatform v\u00e1m umo\u017en\u00ed vkl\u00e1dat composables do <a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-ios-ui-integration.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-ios-ui-integration.html\">hierarchie komponent UIKit<\/a>. To v\u00e1m umo\u017en\u00ed kombinovat komponenty u\u017eivatelsk\u00e9ho rozhran\u00ed Kotlinu se st\u00e1vaj\u00edc\u00edmi widgety Swift nebo Objective-C.<\/p>\n<p>Od t\u00e9to verze se p\u0159i vkl\u00e1d\u00e1n\u00ed kompozitn\u00edch objekt\u016f do hierarchie UIKit p\u0159i zm\u011bn\u011b orientace na obrazovce pou\u017eije animace prol\u00edn\u00e1n\u00ed. T\u00edm se zabr\u00e1n\u00ed tomu, aby se komponenty do\u010dasn\u011b zobrazovaly v rozta\u017een\u00e9m stavu.<\/p>\n<h2 id=\"increased-compilation-speed\" class=\"wp-block-heading\">Rychlej\u0161\u00ed kompilace<\/h2>\n<p>V Kotlinu 1.9.20 jsou mezipam\u011b\u0165 kompil\u00e1toru a Compose Multiplatform kompatibiln\u00ed. Od t\u00e9to verze je tedy pro aplikace z Compose Multiplatform, kter\u00e9 vyu\u017e\u00edvaj\u00ed kompil\u00e1tor Kotlin 1.9.20, automaticky povoleno ukl\u00e1d\u00e1n\u00ed do mezipam\u011bti kompil\u00e1toru. Po \u00favodn\u00ed kompilaci se rychlost v\u0161ech kompilac\u00ed v\u00fdrazn\u011b zrychl\u00ed.<\/p>\n<p>Pokud pou\u017e\u00edv\u00e1te Compose Multiplatform se star\u0161\u00ed verz\u00ed kompil\u00e1toru Kotlin, z\u016fst\u00e1v\u00e1 ukl\u00e1d\u00e1n\u00ed do mezipam\u011bti vypnut\u00e9. Ru\u010dn\u00ed nastaven\u00ed <code>kotlin.native.cacheKind<\/code> na hodnotu <code>none<\/code> m\u00e1 za n\u00e1sledek, \u017ee plugin kompil\u00e1toru Gradle vrac\u00ed chybu, proto ho pros\u00edme p\u0159\u00edpadn\u011b odstra\u0148te.<\/p>\n<h2 id=\"basic-support-for-the-k-2-compiler\" class=\"wp-block-heading\">Z\u00e1kladn\u00ed podpora pro kompil\u00e1tor K2<\/h2>\n<p>V t\u00e9to verzi zav\u00e1d\u00edme \u010d\u00e1ste\u010dnou podporu kompil\u00e1toru K2 v Compose Multiplatform. Compose Compiler a K2 m\u016f\u017eete pro vytv\u00e1\u0159en\u00ed z\u00e1kladn\u00edch aplikac\u00ed pou\u017e\u00edvat spolu v kombinaci. Pln\u00e1 podpora pro K2 je napl\u00e1nov\u00e1na na p\u0159\u00ed\u0161t\u00ed verzi CMP, tak\u017ee se m\u00e1te na co t\u011b\u0161it.<\/p>\n<h2 id=\"enhanced-rendering-performance-on-i-os\" class=\"wp-block-heading\">Vylep\u0161en\u00fd v\u00fdkon renderov\u00e1n\u00ed v iOS<\/h2>\n<p>V t\u00e9to verzi jsme vylep\u0161ili v\u00fdkon v syst\u00e9mu iOS t\u00edm, \u017ee jsme odstranili v\u0161echny instance redundantn\u00edho nebo \u201ep\u0159esp\u0159\u00edli\u0161 ambici\u00f3zn\u00edho\u201c zpracov\u00e1n\u00ed. P\u0159\u00edkazy, kter\u00e9 maj\u00ed b\u00fdt spu\u0161t\u011bny na GPU v souvislosti s renderov\u00e1n\u00edm, se nav\u00edc p\u0159ipravuj\u00ed v samostatn\u00e9m vl\u00e1kn\u011b.<\/p>\n<p>D\u00edky t\u011bmto zm\u011bn\u00e1m budou m\u00edt aplikace Compose Multiplatform spu\u0161t\u011bn\u00e9 v iOS m\u00e9n\u011b vynechan\u00fdch sn\u00edmk\u016f. Jak\u00e9koli zadrh\u00e1v\u00e1n\u00ed nebo lagov\u00e1n\u00ed zp\u016fsoben\u00e9 vynechan\u00fdmi sn\u00edmky bude omezeno \u010di zcela eliminov\u00e1no.<\/p>\n<h2 id=\"new-documentation-portal\" class=\"wp-block-heading\">Nov\u00fd port\u00e1l s dokumentac\u00ed<\/h2>\n<p>Nov\u00fd port\u00e1l Kotlin Multiplatform Development obsahuje v\u00fdukov\u00e9 programy, nej\u010dast\u011bj\u0161\u00ed dotazy, zcela nov\u00e9 uk\u00e1zky a dal\u0161\u00ed u\u017eite\u010dnou dokumentaci. Pustit se do pr\u00e1ce s Compose Multiplatform tedy nikdy nebylo snaz\u0161\u00ed!<\/p>\n<p>P\u0159\u00edklady t\u00e9mat:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\" target=\"_blank\" rel=\"noreferrer noopener\">Prvn\u00ed kroky s Compose Multiplatform<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-ios-ui-integration.html\" target=\"_blank\" rel=\"noreferrer noopener\">Interoperabilita s UIKit a SwiftUI<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-navigation-routing.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-navigation-routing.html\">Navigace<\/a><\/li>\n<\/ul>\n<p>Seskupen\u00ed materi\u00e1l\u016f pro Compose Multiplatform s dal\u0161\u00ed multiplatformn\u00ed dokumentac\u00ed na specializovan\u00e9m port\u00e1lu usnad\u0148uje vyhled\u00e1v\u00e1n\u00ed. \u010c\u00e1st dokumentace z\u016fst\u00e1v\u00e1 po\u0159\u00e1d na <a href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform#readme\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/github.com\/JetBrains\/compose-multiplatform#readme\">GitHubu pro Compose Multiplatform<\/a>, ale c\u00edlem je ji v dohledn\u00e9 dob\u011b p\u0159esunout na nov\u00fd port\u00e1l.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Za\u010dn\u011bte s Compose Multiplatform\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html?utm_source=kotlinblog&amp;utm_medium=cta&amp;utm_campaign=compose1.5.10\" target=\"_blank\" rel=\"noopener\">Za\u010dn\u011bte s Compose Multiplatform<\/a><\/p>\n<h2 id=\"wrapping-up\" class=\"wp-block-heading\">Z\u00e1v\u011brem<\/h2>\n<p>Nikdy nebyla lep\u0161\u00ed doba za\u010d\u00edt pou\u017e\u00edvat Compose Multiplatform! Pomoc\u00ed widget\u016f Compose Material 3 m\u016f\u017eete vytv\u00e1\u0159et kr\u00e1sn\u00e1 u\u017eivatelsk\u00e1 rozhran\u00ed, kter\u00e1 se chovaj\u00ed konzistentn\u011b v syst\u00e9mech Android, iOS, na desktopech i na webu. Pomoc\u00ed <a href=\"https:\/\/kmp.jetbrains.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">webov\u00e9ho pr\u016fvodce pro Kotlin Multiplatform<\/a> se m\u016f\u017eete pustit do pr\u00e1ce doslova b\u011bhem n\u011bkolika minut. Za\u010d\u00e1tky p\u0159i vytv\u00e1\u0159en\u00ed prvn\u00edch aplikac\u00ed s Compose Multiplatform v\u00e1s nav\u00edc provedou nov\u00e9 <a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\">\u00favodn\u00ed tutori\u00e1ly<\/a>.<\/p>\n<p>Douf\u00e1me, \u017ee pro v\u00e1s bude vytv\u00e1\u0159en\u00ed aplikac\u00ed pomoc\u00ed Compose Multiplatform z\u00e1bava a bude v\u00e1m d\u011blat radost. Budeme r\u00e1di, kdy\u017e n\u00e1m d\u00e1te v\u011bd\u011bt, jak se v\u00e1m to da\u0159\u00ed. Zveme v\u00e1s, abyste se zapojili do diskuze na Slacku Kotlinu v kan\u00e1lu <a href=\"https:\/\/slack-chats.kotlinlang.org\/c\/compose\" target=\"_blank\" rel=\"noreferrer noopener\">#compose<\/a>, kde m\u016f\u017eete diskutovat o obecn\u00fdch t\u00e9matech t\u00fdkaj\u00edc\u00edch se Compose Multiplatform a Jetpack Compose.<\/p>\n<h2 id=\"what-else-to-read-and-watch\" class=\"wp-block-heading\">Dal\u0161\u00ed tipy k p\u0159e\u010dten\u00ed a zhl\u00e9dnut\u00ed<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/compose-multiplatform-getting-started.html\">Za\u010dn\u011bte s Compose Multiplatform \u2013 tutori\u00e1l<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/lp\/compose-multiplatform\/\" target=\"_blank\" rel=\"noreferrer noopener\">Compose Multiplatform \u2013 p\u0159ehled<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform\/releases\/tag\/v1.5.10?utm_source=kotlinblog&amp;utm_medium=blogpost&amp;utm_campaign=compose-1-5-10\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/github.com\/JetBrains\/compose-multiplatform\/releases\/tag\/v1.5.10?utm_source=kotlinblog&amp;utm_medium=blogpost&amp;utm_campaign=compose-1-5-10\">Compose Multiplatform 1.5.10 \u2013 pozn\u00e1mky k verzi na GitHubu<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/11\/kotlin-multiplatform-stable\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin Multiplatform m\u00e1 stabiln\u00ed verzi a m\u016f\u017ee se nasadit do produkce<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/11\/kotlin-1-9-20-released\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin 1.9.20 je zde<\/a><\/li>\n<\/ul>\n","protected":false},"author":1229,"featured_media":401960,"comment_status":"closed","ping_status":"closed","template":"","categories":[956],"tags":[6706,6436,76],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/405540"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/users\/1229"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/comments?post=405540"}],"version-history":[{"count":5,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/405540\/revisions"}],"predecessor-version":[{"id":405976,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/405540\/revisions\/405976"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media\/401960"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media?parent=405540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/categories?post=405540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/tags?post=405540"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/cross-post-tag?post=405540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}