README.md

April 9, 2026 · View on GitHub

Skip

One Swift Codebase. Two Native Platforms.

Write your app in Swift and SwiftUI. Skip compiles it natively for iOS and produces real Jetpack Compose for Android.

CI Latest Release Slack Forums

Getting Started · Documentation · Blog · Issues


Skip Showcase running on iOS and Android

What is Skip?

Skip is a free, open-source tool for building native iOS and Android apps from a single Swift codebase. You write your app in Swift and SwiftUI, and Skip produces real Jetpack Compose for Android. Both sides are genuinely native: SwiftUI on iOS, Jetpack Compose on Android. No web views, no custom rendering engine, and no additional runtime.

Skip supports two development modes:

  • Skip Fuse compiles your Swift natively for Android using the official Swift SDK for Android. You get the full Swift language, standard library, and Foundation on both platforms, with bridging to call Kotlin and Java APIs when needed.

  • Skip Lite transpiles your Swift source code to Kotlin, maximizing interoperability with existing Kotlin and Java libraries and the Android ecosystem.

Both modes map SwiftUI to Jetpack Compose using the SkipUI compatibility framework, so your UI is native on each platform.

Why Skip?

  • No new language to learn. If you know Swift and SwiftUI, you already know how to build for Android with Skip. Other cross-platform tools ask you to write JavaScript, Dart, or Kotlin. Skip lets you keep writing Swift.

  • Truly native on both platforms. Skip produces real SwiftUI on iOS and real Jetpack Compose on Android. Users get the native look, feel, and performance they expect.

  • Full ecosystem access. Skip apps can use Swift packages on both platforms, and can call Kotlin/Java APIs directly on Android. Over 2,200 Swift packages already build for Android, as tracked at the Swift Package Index.

  • No lock-in. Skip builds on the officially supported Swift SDK for Android. Your Swift code, packages, and skills work on Android with or without Skip.

  • Free and open source. Skip is complete free and developed independently from any parent corporation, funded by your sponsorship.

Skip versus {Flutter/React Native/Compose Multiplatform/MAUI/etc.}

Choosing a technology to help you build an app for iOS and Android from a single codebase can be a make-or-break decision. Everyone knows a bad app or a crummy port within moments of launching the app, and consumers are ruthless in deleting bloated, slow, or "weird-feeling" apps within moments.

You can read our own assessment of Skip's strengths at skip.dev/compare/.

Quick Start

Install Skip with Homebrew, verify your environment, and create your first project:

brew tap skiptools/skip
brew install skip
skip checkup
skip create

Your project will be created and opened in Xcode. Run it against an iPhone simulator, and Skip will automatically build and launch the Android version on a running emulator at the same time.

For the full setup guide, see Getting Started.

Native Android Compilation (Skip Fuse)

To build apps that compile Swift natively for Android, install the Swift Android SDK:

skip android sdk install

Then create a native app project:

skip init --native-app --appid=com.example.myapp my-app MyApp

See the Fuse mode documentation for details on how native compilation and Kotlin bridging work.

Sample Apps

Skip ships with several sample applications that demonstrate different features and patterns. All are open source and available in the skiptools organization.

Skip Showcase

A comprehensive catalog of SwiftUI components running side by side on iOS and Android. The best way to see how Skip maps SwiftUI to Jetpack Compose.

Google Play Store Apple App Store

More Samples

AppDescriptionMode
skipapp-helloMinimal starter app with a tab view and listLite
skipapp-howdyStarter app for Skip FuseFuse
skipapp-firesideFirebase integration demoLite
skipapp-fireside-fuseFirebase integration demoFuse
skipapp-bookings-fuseTravel bookings with maps and Compose viewsFuse
skipapp-weatherWeather app with async networkingLite
skipapp-calculatrixCalculator with custom layoutLite
skipapp-lottiedemoLottie animation playbackLite
skipapp-travelposters-nativeShared Swift model with native UI on each platformFuse

Browse all sample apps at skip.dev/docs/samples.

Framework Libraries

Skip provides a suite of open-source libraries that implement standard Apple frameworks for Android, so your existing Swift code works across platforms.

Core Frameworks

LibraryDescription
skip-foundationFoundation APIs (URL, Data, Date, JSON, FileManager, etc.)
skip-modelObservation and Combine (backed by Compose MutableState)
skip-uiSwiftUI to Jetpack Compose
skip-fuseFuse mode umbrella (OSLog, Observable, AnyDynamicObject)
skip-fuse-uiNative SwiftUI on Android for Fuse mode
skip-bridgeBidirectional Swift-Kotlin interop
skip-libSwift standard library extensions
skip-unitXCTest to JUnit mapping

Integration Frameworks

LibraryDescription
skip-firebaseFirebase (Auth, Firestore, Messaging, Analytics, etc.)
skip-sqlSQLite database access
skip-keychainKeychain / EncryptedSharedPreferences
skip-webWKWebView / android.webkit.WebView
skip-avAVKit / ExoPlayer
skip-deviceNetwork, Location, Sensors
skip-motionLottie animations
skip-ffiC/C++ interop via JNA

See the full module documentation at skip.dev/docs/modules.

Architecture

The skip repository hosts the Skip SwiftPM build plugin, which integrates with Xcode and Swift Package Manager to drive the Android build alongside your normal iOS build. It works together with skipstone, the binary that powers both the skip CLI and the plugin.

For more on how Skip projects are structured, see:

Documentation

ResourceLink
Getting Startedskip.dev/docs/gettingstarted
Full Documentationskip.dev/docs
Blogskip.dev/blog
Module Referenceskip.dev/docs/modules
Sample Appsskip.dev/docs/samples
Component Galleryskip.dev/docs/components
CLI Referenceskip.dev/docs/skip-cli
Competitor analysisskip.dev/compare/

Community

License

This software is licensed under the Mozilla Public License 2.0.