{"id":406200,"date":"2023-11-20T07:59:53","date_gmt":"2023-11-20T06:59:53","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=406200"},"modified":"2023-11-20T08:43:07","modified_gmt":"2023-11-20T07:43:07","slug":"privitejte-fleet-s-podporou-pro-kotlin-multiplatform","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/cs\/kotlin\/2023\/11\/privitejte-fleet-s-podporou-pro-kotlin-multiplatform\/","title":{"rendered":"P\u0159iv\u00edtejte Fleet s podporou pro Kotlin Multiplatform"},"content":{"rendered":"<p><a href=\"https:\/\/www.jetbrains.com\/kotlin-multiplatform\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin Multiplatform<\/a> (KMP) je open-source technologie od spole\u010dnosti JetBrains, kter\u00e1 umo\u017e\u0148uje sd\u00edlet k\u00f3d na v\u00edce platform\u00e1ch p\u0159i sou\u010dasn\u00e9m zachov\u00e1n\u00ed v\u00fdhod nativn\u00edho programov\u00e1n\u00ed. Mezi podporovan\u00e9 platformy pat\u0159\u00ed iOS, Android, desktopy, web a dal\u0161\u00ed.<\/p>\n<p>Nyn\u00ed spou\u0161t\u00edme n\u00e1hled podpory pro Kotlin Multiplatform ve <a href=\"https:\/\/www.jetbrains.com\/fleet\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fleetu<\/a>, kter\u00e1 zjednodu\u0161uje v\u00fdvoj multiplatformn\u00edch aplikac\u00ed a dopl\u0148uje ve Fleetu ji\u017e tak <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/10\/kotlin-support-in-jetbrains-fleet\/\" target=\"_blank\" rel=\"noreferrer noopener\">rozs\u00e1hlou podporu Kotlinu<\/a>. Upozor\u0148ujeme, \u017ee pokud se zam\u011b\u0159ujete na iOS a macOS, budete pot\u0159ebovat Xcode.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Jdeme na to\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/fleet.html?utm_source=kotlinblog&amp;utm_medium=cta&amp;utm_campaign=kmp-in-fleet\" target=\"_blank\" rel=\"noopener\" data-wplink-edit=\"true\">Za\u010dn\u011bte s KMP ve Fleetu<\/a><\/p>\n<p>Te\u010f se pod\u00edv\u00e1me na to hlavn\u00ed.<\/p>\n<h3 class=\"wp-block-heading\">Jednoduchost<\/h3>\n<p>P\u0159i otev\u0159en\u00ed multiplatformn\u00edho projektu se ve Fleetu automaticky vytvo\u0159\u00ed spou\u0161t\u011bc\u00ed konfigurace pro platformy Android anebo iOS (viz deklarace v souboru sestaven\u00ed projektu). Ty se daj\u00ed pou\u017e\u00edt ke spu\u0161t\u011bn\u00ed aplikace na virtu\u00e1ln\u00edm za\u0159\u00edzen\u00ed Android nebo simul\u00e1toru iOS.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-403391\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/RunConfigurations-1.png\" alt=\"N\u00e1stroje pro Kotlin Multiplatform ve Fleetu: Automaticky generovan\u00e9 spou\u0161t\u011bc\u00ed konfigurace pro Android anebo iOS\" width=\"1344\" height=\"519\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Programov\u00e1n\u00ed ve v\u00edce jazyc\u00edch<\/h3>\n<p>Fleet je IDE podporuj\u00edc\u00ed v\u00edce jazyk\u016f, tak\u017ee p\u0159i pr\u00e1ci s nativn\u00edm k\u00f3dem nemus\u00edte ve sv\u00e9m multiplatformn\u00edm projektu p\u0159ep\u00ednat do jin\u00e9ho editoru nebo d\u011blat kompromisy z hlediska pou\u017eitelnosti. P\u0159i \u00faprav\u00e1ch k\u00f3du Swift m\u00e1te k dispozici stejn\u011b bohat\u00e9 funkce, jak\u00e9 byste o\u010dek\u00e1vali v jazyc\u00edch Kotlin a Java, a mimo jin\u00e9 i plnou podporu projekt\u016f v Xcode.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-403402\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/PloyglotProgramming-1.png\" alt=\"N\u00e1stroje pro Kotlin Multiplatform ve Fleetu: polyglotn\u00ed programov\u00e1n\u00ed\" width=\"1666\" height=\"850\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Navigace v k\u00f3du<\/h3>\n<p>Fleet podporuje navigaci mezi jazyky Swift a Kotlin. Kdy\u017e nap\u0159\u00edklad na n\u011bjakou z funkc\u00ed v jazyce Kotlin pou\u017eijete akci <strong>Show Usages<\/strong>, ve v\u00fdsledc\u00edch se objev\u00ed v\u0161echna pou\u017eit\u00ed i ze Swift k\u00f3du. Pokud existuje n\u011bjak\u00e1 shoda, zobraz\u00ed se souvisej\u00edc\u00ed soubor.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/CrossLanguageNavigation.png\" alt=\"Navigace mezi jazyky Swift a Kotlin\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/CrossLanguageNavigationLooping.gif\" \/><\/p>\n<h3 class=\"wp-block-heading\">Refaktoring<\/h3>\n<p>Refaktoring ve Fleetu tak\u00e9 funguje nap\u0159\u00ed\u010d jazyky. Pokud v n\u00ed\u017ee uveden\u00e9m p\u0159\u00edkladu pou\u017eijeme <strong>Rename Refactoring<\/strong> na MainViewController, refaktoring se uplatn\u00ed v Kotlinu i Swiftu.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/CrossLanguageRefactoringLooping.png\" alt=\"Refaktoring mezi jazyky Swift a Kotlin\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/CrossLanguageRefactoringLooping.gif\" \/><\/p>\n<h3 class=\"wp-block-heading\">Debugging<\/h3>\n<p>Debugging ve Fleetu tak\u00e9 funguje nap\u0159\u00ed\u010d jazyky. V k\u00f3du Swift m\u016f\u017eete nastavit zar\u00e1\u017eku, zobrazit hodnoty a z\u00e1sobn\u00edk vol\u00e1n\u00ed v dan\u00e9m prost\u0159ed\u00ed, p\u0159ej\u00edt na vol\u00e1n\u00ed jazyka Kotlin a pak pokra\u010dovat d\u00e1le podle pot\u0159eby.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/11\/FleetDebuggingCut.png\" alt=\"Refaktoring mezi jazyky Swift a Kotlin\" data-gif-src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Kotlin\/fleet-debugging-cut.gif\" \/><\/p>\n<h2 class=\"wp-block-heading\">Jedno IDE<\/h2>\n<p>Mo\u017en\u00e1 to zn\u00e1te, anebo jste se s t\u00edm minim\u00e1ln\u011b setkali, ale vytv\u00e1\u0159en\u00ed multiplatformn\u00edch aplikac\u00ed v jazyce Kotlin \u010dasto vy\u017eaduje kombinovan\u00e9 pou\u017eit\u00ed v\u00edce IDE. A stejn\u00e9 to je, i pokud c\u00edl\u00edte na mobiln\u00ed za\u0159\u00edzen\u00ed. V takov\u00e9m p\u0159\u00edpad\u011b toti\u017e pot\u0159ebujete Android Studio a Xcode. V p\u0159\u00edpad\u011b Fleetu si ale d\u00e1v\u00e1me za c\u00edl, abyste mohli vyv\u00edjet aplikace v r\u00e1mci jedin\u00e9ho IDE bez nutnosti p\u0159ep\u00ednat mezi n\u00e1stroji (p\u0159i c\u00edlen\u00ed na za\u0159\u00edzen\u00ed Apple bude pot\u0159eba i tak nainstalovat Xcode, ale pro ka\u017edodenn\u00ed pr\u00e1ci ho pot\u0159ebovat nebudete).<\/p>\n<h2 class=\"wp-block-heading\">Cenov\u00fd model<\/h2>\n<p>B\u011bhem obdob\u00ed p\u0159edb\u011b\u017en\u00e9ho n\u00e1hledu z\u016fst\u00e1v\u00e1 Fleet, v\u010detn\u011b n\u00e1stroj\u016f pro Kotlin Multiplatform, zcela zdarma. Po vyd\u00e1n\u00ed ve\u0161ker\u00e9ho toolingu ozn\u00e1m\u00edme fin\u00e1ln\u00ed cenov\u00fd model Fleetu. Bli\u017e\u0161\u00ed informace poskytneme spolu s bl\u00ed\u017e\u00edc\u00edm se datem vyd\u00e1n\u00ed.<\/p>\n<h2 class=\"wp-block-heading\">N\u00e1\u0161 z\u00e1vazek v\u016f\u010di IntelliJ IDEA a IntelliJ Platform<\/h2>\n<p>Fleet vyu\u017e\u00edv\u00e1 pro zpracov\u00e1n\u00ed Swift k\u00f3du IntelliJ engine a ve\u0161kerou podporu jazyka Kotlin. Proto budeme v n\u00e1stroji IntelliJ IDEA a na platform\u011b IntelliJ (tedy i v Android Studiu) i nad\u00e1le poskytovat podporu jazyka Kotlin. Krom\u011b toho m\u00e1me st\u00e1le rostouc\u00ed z\u00e1kladnu v\u00fdvoj\u00e1\u0159\u016f, kte\u0159\u00ed Kotlin v n\u00e1stroji IntelliJ IDEA pou\u017e\u00edvaj\u00ed, a chceme v\u00e1s ujistit, \u017ee inovace a podpora i nad\u00e1le budou pokra\u010dovat.<\/p>\n<p>S ohledem na to z\u016fstane c\u00edlovou skupinou pro IntelliJ IDEA p\u0159edev\u0161\u00edm skupina server-side v\u00fdvoj\u00e1\u0159\u016f zam\u011b\u0159en\u00e1 na JVM. Zat\u00edmco v aplikac\u00edch IntelliJ IDEA a Android Studio bude mo\u017en\u00e9 otev\u00edrat, proch\u00e1zet a sestavovat projekty v Kotlin Multiplatform, dal\u0161\u00ed funkce, jako jsou spou\u0161t\u011bc\u00ed konfigurace pro konkr\u00e9tn\u00ed platformu, funkce Compose Multiplatform a mnoho dal\u0161\u00edch v\u011bc\u00ed, kter\u00e9 usnad\u0148uj\u00ed multiplatformn\u00ed v\u00fdvoj, budou podporov\u00e1ny pouze ve Fleetu.<\/p>\n<h2 class=\"wp-block-heading\">Jak za\u010d\u00edt<\/h2>\n<p>Pokud chcete za\u010d\u00edt s v\u00fdvojem v Kotlin Multiplatform a vyzkou\u0161et v\u0161echny zaj\u00edmav\u00e9 funkce, na kter\u00fdch pracujeme, m\u016f\u017eete si p\u0159es <a href=\"https:\/\/www.jetbrains.com\/fleet\/download\/\" target=\"_blank\" rel=\"noreferrer noopener\">aplikaci JetBrains Toolbox<\/a> nainstalovat nejnov\u011bj\u0161\u00ed verzi Fleetu. K dispozici m\u00e1me tak\u00e9 zcela nov\u00e9ho <a href=\"https:\/\/kmp.jetbrains.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">online webov\u00e9ho pr\u016fvodce<\/a> pro vytv\u00e1\u0159en\u00ed projekt\u016f v Kotlin Multiplatform.<\/p>\n<p>Ur\u010dit\u011b doporu\u010dujeme tutori\u00e1l <a href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/fleet.html?utm_source=kotlinblog&amp;utm_medium=cta&amp;utm_campaign=kmp-in-fleet\" target=\"_blank\" rel=\"noreferrer noopener\">Fleet pro v\u00fdvoj v Kotlin Multiplatform<\/a>. Jedn\u00e1 se o podrobn\u00e9ho pr\u016fvodce vytvo\u0159en\u00edm va\u0161\u00ed prvn\u00ed aplikace. Prohl\u00e9dnout si m\u016f\u017eete i n\u011bkterou z n\u00e1mi p\u0159ipravne\u00fdch <a href=\"https:\/\/kotlinlang.org\/docs\/multiplatform-mobile-samples.html\" target=\"_blank\" rel=\"noreferrer noopener\">uk\u00e1zkov\u00fdch aplikac\u00edv KMP<\/a>.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Jdeme na to\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/fleet.html?utm_source=kotlinblog&amp;utm_medium=cta&amp;utm_campaign=kmp-in-fleet\" target=\"_blank\" rel=\"noopener\">Za\u010dn\u011bte s KMP ve Fleetu<\/a><\/p>\n<h2 class=\"wp-block-heading\">Pot\u0159ebujeme zn\u00e1t v\u00e1\u0161 n\u00e1zor<\/h2>\n<p>N\u00e1stroje pro Kotlin Multiplatform ve Fleetu jsou teprve na za\u010d\u00e1tku, a proto bychom r\u00e1di znali v\u00e1\u0161 n\u00e1zor. Dejte n\u00e1m v\u011bd\u011bt, co funguje, co ne, co v\u00e1m chyb\u00ed a bez \u010deho se prost\u011b neobejdete. Zanechte n\u00e1m koment\u00e1\u0159 k tomuto p\u0159\u00edsp\u011bvku na blogu nebo pou\u017eijte n\u00e1\u0161 <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/FL?u=1:\" target=\"_blank\" rel=\"noreferrer noopener\">issue tracker<\/a>. O p\u0159\u00edpadnou zp\u011btnou vazbu ke Kotlinu Multiplatform, v\u010detn\u011b n\u00e1stroj\u016f, se m\u016f\u017eete pod\u011blit i na kan\u00e1lu <a href=\"https:\/\/slack-chats.kotlinlang.org\/c\/fleet\" target=\"_blank\" rel=\"noreferrer noopener\" data-type=\"link\" data-id=\"https:\/\/slack-chats.kotlinlang.org\/c\/fleet\">#fleet<\/a> na Slacku pro Kotlin.<\/p>\n<p>D\u011bkujeme!<\/p>\n","protected":false},"author":1229,"featured_media":406897,"comment_status":"closed","ping_status":"closed","template":"","categories":[956],"tags":[6834,6436,76],"cross-post-tag":[6910],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/406200"}],"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=406200"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/406200\/revisions"}],"predecessor-version":[{"id":406927,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/kotlin\/406200\/revisions\/406927"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media\/406897"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media?parent=406200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/categories?post=406200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/tags?post=406200"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/cross-post-tag?post=406200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}