Skip Documentation

repository·main·Indexed 25 days ago

https://github.com/skiptools/skip

A tool for building native iOS and Android apps from a single Swift and SwiftUI codebase. Skip produces native SwiftUI on iOS and Jetpack Compose on Android. It offers two development modes: Skip Lite, which transpiles Swift to Kotlin, and Skip Fuse, which compiles Swift natively for Android using the official Swift SDK. The ecosystem includes core frameworks for Foundation, UI, and bridging, as well as integration libraries for Firebase, SQLite, and device hardware.

Tokens
663
Snippets
2
Records
6
Agent score
35%

What's inside Skip

  1. Understand Skip development modes: Lite vs Fuse

    main

    Skip supports two distinct development modes for targeting Android:

    • Skip Lite: Transpiles your Swift source code to Kotlin. This mode maximizes interoperability with existing Kotlin and Java libraries and the Android ecosystem.
    • Skip Fuse: Compiles your Swift natively for Android using the official Swift SDK for Android. This provides the full Swift language, standard library, and Foundation on both platforms, with bridging to call Kotlin and Java APIs.
  2. Install Skip via Homebrew

    main

    To install the Skip CLI and set up your environment, use Homebrew to tap the Skip repository and install the package. After installation, run skip checkup to verify your environment is correctly configured for iOS and Android development.

    brew tap skiptools/skip
    brew install skip
    skip checkup
  3. Create a new Skip project

    main
    Use the skip create command to generate a new project. The project will be created and automatically opened in Xcode. When you run the app against an iPhone simulator, Skip will automatically build and launch the Android version on a running emulator simultaneously.
    skip create
  4. Configure Skip Fuse for native Android compilation

    main

    Skip Fuse mode compiles your Swift natively for Android using the official Swift SDK for Android. This provides the full Swift language, standard library, and Foundation on both platforms, with bridging to call Kotlin and Java APIs.

    To use Fuse mode, you must first install the Swift Android SDK, then initialize a native app project.

  5. Reference Skip Integration Frameworks

    main

    Skip provides integration libraries to access common Android and iOS capabilities:

    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
  6. Reference Skip Core Frameworks

    main

    Skip provides several core libraries to ensure your Swift code works across both iOS and Android platforms:

    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