Thoughts on Swift for Android

I’m assuming you are referring to Skip, rather than the Android SDK effort in general. It should be noted that Java/Kotlin integration has thus far been outside the scope of the Android workgroup’s efforts to date, but it is a frequently discussed topic and we anticipate that the Android workgroup will turning our attention to it once we are able to get an official SDK published (hopefully in time for 6.2 :crossed_fingers:).

As for Skip itself, our approach can best be summarized by our Native and Transpiled Modes documentation. The transpiled mode (“Skip Lite”) predates the compiled mode (“Skip Fuse”), but the two modes work together hand-in-hand in order to provide the bridge from compiled SwiftUI components to their Jetpack Compose equivalents in Kotlin, enabling you to create the equivalent user interface from a single SwiftUI codebase.

Ultimately, Android is a Java/Kotlin platform, and so no useful Swift app can be created without some mechanism for bridging back and forth between Android’s Java SDK and native code. Whether that bridging is done using Skip Fuse’s ability to embed Kotlin directly within your Swift code, or through one of the many other Java-Swift bridging projects that have evolved over the years, it is an essential components for going beyond a "Hello World" Swift sample and actually building a useful application.

1 Like