One Swift Codebase. Two Native Platforms.
How Skip Works
Section titled “How Skip Works”Your app runs as native SwiftUI on iOS and native Jetpack Compose on Android. There is no intermediary rendering engine — each platform uses its own recommended UI toolkit, so system themes, accessibility, and platform conventions work automatically.
As you develop in Xcode, the Skip plugin continuously builds the Android version alongside iOS. Launch once and see your app running on both the iOS Simulator and Android emulator simultaneously.
Skip Advantages
Section titled “Skip Advantages”SwiftUI, All the Way Down
Write your UI once in SwiftUI. On iOS it runs as-is. On Android, Skip produces native Jetpack Compose — preserving layout, accessibility, and each platform’s conventions. No mimicry, no uncanny valley.
No Runtime. No Bloat.
Skip works entirely at build time. Your shipped app contains no added runtime, no embedded engine, and no garbage collector on iOS. The result: small binaries and predictable performance.
Native Performance by Design
Skip apps launch fast and stay responsive because they are real native code — identical in performance to hand-written Swift on iOS and hand-written Kotlin on Android. No bridge tax, no frame drops from garbage collection pauses.
First Party IDEs
Stay in Xcode for day-to-day development — your existing workflows, shortcuts, and debugging tools all work unchanged. Use Android Studio when you need platform-specific tuning.
Seamless Android Interop
Call any Kotlin or Java API directly from your shared code. Integrate Android SDKs, Jetpack libraries, or third-party services without complex bridging layers or plugin systems.
Open Source, Built for the Long Term
Skip is free, open source, and community-funded — no strings attached. Your iOS app has zero dependency on Skip, so you can stop using it any time without rewriting a single line of iOS code.