Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Multiplatform

Compose Multiplatform 1.5.10 – ideální čas začít

Read this post in other languages:

Compose Multiplatform je deklarativní UI framework od společnosti JetBrains, který vývojářům umožňuje sdílet uživatelská rozhraní aplikací na různých platformách. Umožňuje opakované použití až 100 % „codebase“ napříč systémy Android, iOS, desktopy a webem. Framework těží z funkcí technologie Kotlin Multiplatform pro sdílení kódu, která je odteď v Kotlinu 1.9.20 stabilní.

Začněte s Compose Multiplatform

Compose Multiplatform ve verzi 1.5.10 poskytuje podporu jazyka Kotlin 1.9.20, nabízí zjednodušený onboarding, zavádí nový portál pro dokumentaci a poskytuje níže uvedené funkce:

Díky těmto plošným vylepšením vám garantujeme, že začít používat Compose Multiplatform nikdy nebylo snazší. Naskýtá se vám tedy ideální příležitost začít používat Compose Multiplatform pro vývoj napříč platformami, a pokud jste již uživateli, zmíněná vylepšení zefektivní vaši práci jako nikdy předtím.

Začněte snadno a rychle

Pokud chcete do Compose Multiplatform a Kotlin Multiplatform skočit rovnýma nohama, máme pro vás skvělou zprávu:

Můžete se také zaregistrovat na náš webinář o tom, jak začít pracovat Compose Multiplatform, který je naplánován na 28. listopadu.

Nové komponenty z Material 3 ve společném kódu

Ve společném kódu jsou teď k dispozici všechny komponenty Compose Material 3. V této verzi přibyly komponenty ModalBottomSheet, ExposedDropdownMenuBox, SearchBar a DockedSearchBar, což završuje sadu komponent definovanou v Compose Material 3 verze 1.1.2.

Na desktopech to vypadá takhle:

Nové komponenty na desktopech

A takhle to bude vypadat v iOS a Androidu:

Nové komponenty v iOS

Nové komponenty v Androidu

Vylepšené funkce pro textová pole v iOS

Tato verze obsahuje několik vylepšení pro textová pole v systému iOS. K dispozici je nový režim rychlého mazání, bylo vylepšeno zpracování dvojitých a trojitých poklepání, fyzika posouvání obsahuje „gumičkový efekt“ a animace prolínání zlepšuje interoperabilitu.

  • Od této verze se při dlouhém stisknutí Backspace po prvních 21 znacích aktivuje nový režim rychlého mazání. V tomto režimu každé vymazání odstraní dvě slova. To je v souladu s výchozím chováním systému iOS a očekáváním uživatelů.

Režim rychlého mazání v iOS

  • Od této verze jsou dvojitá a trojitá poklepání v textovém poli zpracovávána konzistentně. Dvojitým poklepáním se vždy vybere aktuální slovo, zatímco trojitým se vždy vybere celý text.

Dvojité a trojité poklepání v iOS

  • V Compose Multiplatform 1.5.0 byla zavedena podpora nativní fyziky posouvání. Tato verze přidává pro velká textová pole podporu pro tzv. overscrollu („gumičkový efekt“). Uživatelské rozhraní Compose Multiplatform bude odteď zprostředkovávat skákavý efekt, který uživatelé iOS očekávají.

Gumičkový efekt v iOS

Animace prolínání umožňující interoperabilitu s UIKit

Pokud cílíte na iOS, Compose Multiplatform vám umožní vkládat composables do hierarchie komponent UIKit. To vám umožní kombinovat komponenty uživatelského rozhraní Kotlinu se stávajícími widgety Swift nebo Objective-C.

Od této verze se při vkládání kompozitních objektů do hierarchie UIKit při změně orientace na obrazovce použije animace prolínání. Tím se zabrání tomu, aby se komponenty dočasně zobrazovaly v roztaženém stavu.

Rychlejší kompilace

V Kotlinu 1.9.20 jsou mezipaměť kompilátoru a Compose Multiplatform kompatibilní. Od této verze je tedy pro aplikace z Compose Multiplatform, které využívají kompilátor Kotlin 1.9.20, automaticky povoleno ukládání do mezipaměti kompilátoru. Po úvodní kompilaci se rychlost všech kompilací výrazně zrychlí.

Pokud používáte Compose Multiplatform se starší verzí kompilátoru Kotlin, zůstává ukládání do mezipaměti vypnuté. Ruční nastavení kotlin.native.cacheKind na hodnotu none má za následek, že plugin kompilátoru Gradle vrací chybu, proto ho prosíme případně odstraňte.

Základní podpora pro kompilátor K2

V této verzi zavádíme částečnou podporu kompilátoru K2 v Compose Multiplatform. Compose Compiler a K2 můžete pro vytváření základních aplikací používat spolu v kombinaci. Plná podpora pro K2 je naplánována na příští verzi CMP, takže se máte na co těšit.

Vylepšený výkon renderování v iOS

V této verzi jsme vylepšili výkon v systému iOS tím, že jsme odstranili všechny instance redundantního nebo „přespříliš ambiciózního“ zpracování. Příkazy, které mají být spuštěny na GPU v souvislosti s renderováním, se navíc připravují v samostatném vlákně.

Díky těmto změnám budou mít aplikace Compose Multiplatform spuštěné v iOS méně vynechaných snímků. Jakékoli zadrhávání nebo lagování způsobené vynechanými snímky bude omezeno či zcela eliminováno.

Nový portál s dokumentací

Nový portál Kotlin Multiplatform Development obsahuje výukové programy, nejčastější dotazy, zcela nové ukázky a další užitečnou dokumentaci. Pustit se do práce s Compose Multiplatform tedy nikdy nebylo snazší!

Příklady témat:

Seskupení materiálů pro Compose Multiplatform s další multiplatformní dokumentací na specializovaném portálu usnadňuje vyhledávání. Část dokumentace zůstává pořád na GitHubu pro Compose Multiplatform, ale cílem je ji v dohledné době přesunout na nový portál.

Začněte s Compose Multiplatform

Závěrem

Nikdy nebyla lepší doba začít používat Compose Multiplatform! Pomocí widgetů Compose Material 3 můžete vytvářet krásná uživatelská rozhraní, která se chovají konzistentně v systémech Android, iOS, na desktopech i na webu. Pomocí webového průvodce pro Kotlin Multiplatform se můžete pustit do práce doslova během několika minut. Začátky při vytváření prvních aplikací s Compose Multiplatform vás navíc provedou nové úvodní tutoriály.

Doufáme, že pro vás bude vytváření aplikací pomocí Compose Multiplatform zábava a bude vám dělat radost. Budeme rádi, když nám dáte vědět, jak se vám to daří. Zveme vás, abyste se zapojili do diskuze na Slacku Kotlinu v kanálu #compose, kde můžete diskutovat o obecných tématech týkajících se Compose Multiplatform a Jetpack Compose.

Další tipy k přečtení a zhlédnutí

image description