Multiplatform

Kotlin Multiplatform Development Roadmap 2024

Read this post in other languages:

Nedávno získal Kotlin Multiplatform svou stabilní verzi, takže ho nyní mohou vývojové týmy po celém světě bez problémů a s jistotou nasadit na produkci. Pro KMP a jeho ekosystém je to ale celé teprve začátek. Společnost JetBrains chce totiž v roce 2024 přinést řadu dalších vylepšení základní technologie Kotlin Multiplatform, Compose Multiplatform, nástrojů KMP a knihoven KMP, aby vývoj napříč platformami byl co nejlepší. Přečtěte si, co plánujeme a jaké jsou naše priority v těchto oblastech.

Compose Multiplatform

Snažíme se, aby Compose Multiplatform byl frameworkem, který umožní vytvářet krásné a výkonné aplikace, které na všech podporovaných platformách vypadají stejně. Teď se zaměřujeme hlavně na to, abychom Compose pro iOS dostali do beta verze, ale rozpracované máme i další věci. V plánu máme tohle:

  • Zajistit multiplatformnost všech základních API a komponent Jetpack Compose.
  • Zlepšit renderovací výkon v iOS.
  • Zajistit, aby se posouvání a úpravy textu v aplikacích Compose pro iOS chovaly stejně jako v nativních aplikacích iOS.
  • Implementovat společné rozhraní API pro sdílení všech typů zdrojů.
  • Integrovat API pro přístupnost v iOS a na desktopech.
  • Poskytnout řešení pro multiplatformní navigaci.

Mnohá z výše uvedených vylepšení se týkají i aplikace Compose for Desktop. A nadto pracujeme na zlepšení stability a k vývoji přistupujeme na základě zpětné vazby od těch, kteří ji používají v produkčním prostředí.

Budeme pokračovat i ve zkoumání možností s Compose for Web, konkrétně s Wasmem. Naším nejbližším cílem je povýšení na alfa verzi, což zahrnuje:

  • Možnost přenést stávající aplikace a znovu použít veškerý společný kód.
  • Podporu různých velikostí, orientací a hustot obrazovek.
  • Podporu vstupu z myši, dotykové obrazovky, fyzické klávesnice nebo klávesnice na obrazovce.
  • Zlepšení výkonu a binární velikosti.

Sada nástrojů

Jsme odhodláni poskytovat pro Kotlin Multiplatform skvělé prostředí IDE. To si žádá nejen investice do jádra platformy a například migraci pluginu Kotlin IDE na frontend kompilátoru K2, ale současně i poskytnutí jediného nástroje (Fleet) pro multiplatformní vývoj v Kotlinu, čímž se eliminuje nutnost neustálého přepínání mezi různými IDE.

Vaši zpětnou vazbu ohledně používání Fleetu pro vývoj v Kotlin Multiplatform plánujeme rychle iterovat, abychom vám přinesli všechno potřebné pro skvělý vývoj. Mimo jiné se chystáme pracovat v následujících oblastech:

  • Vylepšení podpory pro Compose Multiplatform, včetně živého náhledu běžného kódu a vizuálních ladicích nástrojů.
  • Snazší konfigurace projektu v IDE.
  • Jednotné a vylepšené ladění všech částí multiplatformního projektu.

Multiplatform core

Jedním z oblíbených scénářů v Kotlin Multiplatform je sdílení kódu s cílem použití na iOS. Chceme se zaměřit na zkušenosti vývojářů iOS, kteří ve svých kódech pracují s frameworky Kotlin Multiplatform.

Hlavní iniciativou v této oblasti je přímý export Kotlinu do Swiftu. Ten možní širší podporu jazyka Swift a přirozenější export rozhraní API. Kromě toho vytváříme nástroje speciálně pro autory knihoven Kotlin. Tyto nástroje jsou navrženy tak, aby zlepšily kompatibilitu a uživatelskou přívětivost rozhraní API jazyka Kotlin při exportu do jazyka Swift. Velkou pozornost věnujeme také tvorbě nástrojů. IDE a buildovací systémy jsou zásadní součástí vývojářského prostředí a naším cílem je zajistit hladkou integraci s exportem do Swiftu.

Mezi naše další iniciativy patří zrychlení kompilace Kotlin/Native, vylepšení integrace CocoaPods a zavedení podpory pro export frameworku pomocí SwiftPM.

Dále plánujeme pokračovat ve zkoumání způsobů, jak zlepšit nastavení buildování aplikací Kotlin Multiplatform. S verzí Kotlin 1.9.20 jsme vydali obrovská vylepšení v Gradle Multiplatform DSL, která usnadňují čtení a zápis. V postupném vylepšování budeme pokračovat i nadále. Kromě toho experimentujeme s Amperem, novým nástrojem pro konfiguraci projektu zaměřeným na použitelnost, zapracování a podporu IDE.

Ekosystém knihoven

Vzhledem k tomu, že ekosystém Kotlin Multiplatform rychle roste, stává se zpětná kompatibilita knihoven klíčovou. K jejímu zajištění musí tým JetBrains a tvůrci knihoven spolupracovat. A tohle je náš plán:

  • Vylepšit formát klib, aby tvůrci knihoven mohli využít své znalosti o vytváření knihoven JVM.
  • Implementovat v knihovnách jazyka Kotlin Multiplatform stejné chování při vkládání kódu jako u knihoven JVM.
  • Poskytnout nástroj, který zajistí, že se veřejné API multiplatformní knihovny nezměnilo nekompatibilním způsobem.

Také zlepšíme proces publikování knihoven KMP. Konkrétně plánujeme následující:

  • Umožnit vytvářet a publikovat knihovny KMP bez počítače Mac.
  • Poskytovat šablony a rozsáhlé pokyny pro vytváření a publikování knihovny KMP.

Přestože je Kotlin Multiplatform nyní stabilní, plánujeme významné aktualizace. Každopádně buďte bez obav: Knihovny vytvořené v současném formátu budou stále fungovat i s novějšími verzemi jazyka Kotlin.

Zjistit více

image description