2026.09.02 11:20 ~ 12:00 Meerkat

How Swift runs on Android: Swift SDK for Android and KMP

Cross-platform Development 日本語

With the official release of the Swift SDK for Android in Swift 6.3, code written in Swift now runs inside Android apps. The concept of sharing models and business logic while writing native UIs should be familiar to Android developers from Kotlin Multiplatform (KMP). So, how does the Swift SDK for Android differ from KMP? In this talk, we will explain what the Swift SDK for Android is from an iOS engineer's perspective. Naturally, SwiftUI and iOS-dependent APIs do not work, and there are limitations within parts of Foundation as well. We will clarify what can and cannot be done, and what benefits exist for both iOS and Android teams. Furthermore, we will look into what happens under the hood of the Swift SDK for Android. Swift code is compiled into `.so` files and communicates with Kotlin via JNI. Here, ARC, which manages Swift's memory, and GC, the Android runtime mechanism, co-exist within the same process. We will dive into runtime-level topics regarding what happens at the boundary between the two. Finally, through a comparison with KMP, we will clarify the positioning of the Swift SDK for Android. Rather than ending with "we have a new cross-platform option," our goal is to enable you to make concrete technical decisions, including understanding architectural differences from KMP and what happens at the boundary between ARC and GC. (Translated by the DroidKaigi Committee)

Intended audience

Prerequisites If you have app development experience in either Android or iOS, you should be able to follow the entire talk. Swift or iOS development experience is not required. Knowledge of Kotlin Multiplatform (KMP) will make comparisons easier to understand, but it is not mandatory. Throughout the talk, we will dive into low-level topics such as memory management. Explanations of terms will be provided as appropriate, so those who are unfamiliar can listen without issue. Target Audience - Those who are curious about Swift SDK for Android but are unsure what it can do - Those struggling with selecting iOS/Android cross-platform technologies, or interested in comparisons with KMP - Those interested in the low-level mechanisms when different languages run within the same app

Sessions in the same time slot

View all sessions