March 28, 2024

JetBrains stelt een platformonafhankelijk iOS-platform samen dat alfa bereikt

JetBrains stelt een platformonafhankelijk iOS-platform samen dat alfa bereikt

Met toegevoegde ondersteuning voor desktop- en webapplicaties, is JetBrains declaratieve gebruikersinterface-toolkit platformonafhankelijk Draait nu op iOS in alfa.

Gebaseerd op Google Jetpack Compose, onlangs bijgewerkt met prestatieverbeteringen en uitbreidingen, draait Compose Multiplatform native op Android en dankzij Kotlin Multiplatform ook op Windows, Linux, macOS en het web. De iOS-toevoeging breidt Compose Multiplatform uit naar alle belangrijke besturingssystemen.

De benadering van Compose Multiplatform is om dezelfde API te bieden op alle ondersteunde platforms, terwijl de Jetpack Compose API’s worden gedupliceerd:

De API’s in Compose Multiplatform zijn dezelfde als die al beproefd en getest zijn in Jetpack Compose. Dit betekent dat ontwikkelaars die ervaring hebben met het schrijven van moderne Android-gebruikersinterfaces met Jetpack Compose, die vaardigheden direct kunnen overdragen aan het schrijven van een gemeenschappelijke gebruikersinterface met Compose Multiplatform, gericht op iOS en daarbuiten.

Dit omvat statusbeheer, lay-outconfiguratie en animatie. Voor een aantal functies die strikt afhankelijk zijn van het besturingssysteem, zoals het laden van bronnen, biedt het Compose Multiplatform abstracties op een hoger niveau om de overdraagbaarheid te vergroten.

Op iOS gebruikt Compose Multiplatform een ​​op canvas gebaseerde weergave, met behulp van Sciko Grafische bibliotheek. Ook bekend als Skia voor Kotlin, is Skiko gebaseerd op skiade Google Tekeningen-bibliotheek die wordt gebruikt in Chrome, ChromeOS en Flutter.

Deze aanpak betekent dat Compose Multiplatform-apps hetzelfde uiterlijk en gevoel hebben op alle ondersteunde platforms, vergelijkbaar met Flutter-apps. In tegenstelling tot Flutter biedt Compose Multiplatform echter kant-en-klare Material- en Material 3-widgets, dus Compose Multiplatform-apps zien eruit en voelen aan als normale Android-apps. Hoewel Materials de enige widget-look en -feel is die momenteel wordt ondersteund op iOS, heeft JetBrains nog geen definitieve beslissing genomen over het al dan niet bieden van een native widget-look en -feel.

Een belangrijk aspect van het maken van platformonafhankelijke applicaties is interoperabiliteit met de onderliggende OS SDK. Compose Multiplatform voor iOS biedt daarbovenop een tweerichtingscompatibiliteitslaag UIKitmet twee hoofdcategorieën, UIKitView En ComposeUIViewController. UIKitView Hiermee kunnen platformspecifieke widgets zoals kaarten, webweergaven, mediaspelers en camerafeeds worden ingesloten in de Compose-gebruikersinterface. ComposeUIViewController Als alternatief kunnen ze worden gebruikt om Compose-schermen op te nemen in UIKit- en SwiftUI-applicaties. Dit kan handig zijn om een ​​bestaande applicatie geleidelijk om te zetten in een Compose-applicatie.

om mee te beginnen werken Componeren op meerdere platforms Voor iOS heb je een apparaat nodig met een recente versie van macOS, Xcode, Android Studio en Kotlin Multiplatform Mobile-plug-in. iedereen extra afhankelijkheden Het kan worden beheerd via CocoaPods.

De beste plaats om te beginnen is met een van de projectsjablonen van JetBrains. Dat zijn onder andere een Primaire iOS/Android-appEn AfbeeldingsviewerA chat-applicatieEn veel meer. Er zijn ook een aantal tutorials beschikbaar om u te begeleiden bij het gebruik van de meest populaire widgets in Compose Multiplatform.