Glossary of Terms
This page is a reference of terms used in the Skip documentation, covering Skip-specific concepts, iOS development, and Android development.
- Skip-Specific Terms
- iOS Development Terms
- Android Development Terms
- Android
- Android Studio
- Kotlin
- Jetpack Compose
- Android Views
- Gradle
- Fastlane
- Android SDK (Software Development Kit)
- JVM (Java Virtual Machine)
- JNI (Java Native Interface)
- Android Runtime (ART)
- Google Play Store
- Java
- Robolectric
- JUnit
- Compose Runtime
- ADB (Android Debug Bridge)
- APK (Android Package Kit)
- General Development Concepts
- Cross-Platform Development
- Native Development
- Declarative UI
- Imperative UI
- IDE (Integrated Development Environment)
- Compiler
- Build System
- Package Manager
- Homebrew
- Conditional Compilation
- API (Application Programming Interface)
- Framework
- Library
- SDK (Software Development Kit)
- Runtime
- Source Code
- Unit Testing
- Integration Testing
- Continuous Integration
- Localization
- Comparison Terms
- Android and Apple Platforms
Skip-Specific Terms
Skip
A technology that enables iOS developers to build native iOS and Android apps from a single Swift codebase using SwiftUI. Skip can operate in Lite mode, where it transpiles Swift code to Kotlin, or it can operate in Fuse mode, where it uses the Swift SDK for Android to compile Swift code natively for Android. In both cases, Skip utilizes a SwiftUI to Jetpack Compose translation process that produces genuinely native apps for both platforms.
Resources:
External Resources:
Skip Lite
Skip’s transpilation mode where Swift code is converted (or transpiled) to Kotlin for Android. Contrast with Skip Fuse, which uses the Swift SDK for Android to facilitate using compiled Swift for the Android platform. Both modes produce fully native apps.
Related Terms: Skip Fuse, Transpiler, Skip Zero
Learn More: Skip Lite vs. Fuse Documentation
Skip Fuse
Skip’s modern app development mode that uses native Swift built with the Swift SDK for Android. Skip Fuse does not have any limitations on Swift language support, but it does lead to larger app sizes.
Related Terms: Skip Lite
Learn More: Native and Transpiled Mode
See Also:
Skip Plugin
An Xcode and SwiftPM plugin — also known as skipstone — that handles the conversion of an iOS project into an Android project. The plugin handles resource conversion and packaging, localization processing, building bridges between Swift and Kotlin in Skip Fuse mode, and performing Swift to Kotlin transpilation in Skip Lite mode. In both modes, the plugin automatically translates SwiftUI into Jetpack Compose as you develop.
Related Terms: Xcode, Transpiler, SwiftPM, Skip Lite, Skip Fuse, Skip Bridge
External Resources:
Skip CLI
The skip command-line tool that is used to create and manage Skip projects, handle interaction with gradle and the Android emulator, and perform system checkups and project validation. The Skip CLI is installed and managed with the Homebrew package management system.
Related Terms: Xcode, SwiftPM, Transpiler
Reference: Installation, Skip CLI References
SkipUI
A Skip framework that bridges SwiftUI to Jetpack Compose, allowing SwiftUI views to render natively on Android using Compose. Part of the core Skip framework stack.
Related Terms: SwiftUI, Jetpack Compose
Reference: SkipUI
SkipFoundation
A Skip framework that provides Android implementations of Swift Foundation APIs, enabling common functionality like date handling, networking, and data structures to work across both platforms.
Related Terms: Swift Foundation, Transpiler
Reference: SkipFoundation
SkipLib
The core Skip library that provides fundamental transpilation support and runtime utilities for converting Swift code to Kotlin.
Reference: SkipLib
SkipBridge
A framework that facilitates seamless integration between Swift and Kotlin code, enabling direct calls between iOS and Android platform-specific implementations. The bridging is handled automatically and transparently by the Skip Plugin, and is implemented through a combination of source processing by Skip Lite and JNI interfaces generated by Skip Fuse.
Related Terms: Platform Customization
Reference: SkipBridge
SkipModel
A Skip framework that provides cross-platform support for Swift’s Observation framework by bridging it to the Compose Runtime. SkipModel enables reactive state management patterns to work seamlessly across iOS and Android, allowing @Observable classes to trigger UI updates in both SwiftUI and Jetpack Compose.
Related Terms: Observation, Compose Runtime, SwiftUI, Jetpack Compose
Reference: SkipModel
SkipUnit
A Skip framework that bridges Apple’s XCTest framework to Android’s JUnit testing framework, enabling developers to write tests once in Swift and have them automatically run on both platforms. SkipUnit is essential for parity testing in Skip projects.
Related Terms: XCTest, JUnit, Parity Testing, Unit Testing
Reference: SkipUnit
Skip Zero
A mode in Skip Lite that enables the iOS side of the app to strip out all Skip dependencies, meaning your iOS app has no runtime dependencies on any Skip frameworks. This results in minimal app size and memory footprint and eliminates any reliance on Skip for the iOS side of the app.
Related Terms: Skip Lite
Ejectability
When using Skip Zero with Skip Lite, ejectability refers to the potential to remove Skip completely from a project and still have fully-functional iOS and Kotlin apps that can be iterated on separately. It de-risks the adoption of Skip by providing an insurance policy for technology developed with Skip that it will continue to be viable going forward even if the project decides against continuing with Skip in the future.
Related Terms: Skip Lite
Transpiler
A source-to-source compiler that translates code from one programming language to another. Skip Lite’s transpiler converts Swift code to Kotlin and SwiftUI views to Jetpack Compose components. Transpilation is one of the functions of the Skip Plugin.
Related Terms: Swift, Kotlin, Compiler
External Resources:
Platform Customization
The ability to write platform-specific code for iOS and Android within a Skip project, allowing developers to leverage native APIs and frameworks when shared code isn’t sufficient.
Related Terms: SkipBridge, Conditional Compilation
Learn More: Platform Customization Guide
Dual-Platform Development
The practice of developing for both iOS and Android simultaneously from a single codebase, which is Skip’s core value proposition. Skip facilitates using a single language (Swift) and a single IDE (Xcode) to iteratively develop an app for both iOS and Android simultaneously.
Related Terms: Cross-Platform Development
Parity Testing
A testing methodology unique to Skip where the same test cases are executed on both iOS (via XCTest) and Android (via JUnit) to verify identical behavior across platforms. Parity testing ensures that shared business logic produces consistent results on both platforms and helps catch platform-specific bugs early in development. The Skip CLI includes a skip test command that runs parity tests and generates a comparison report.
Related Terms: Unit Testing, XCTest, JUnit, Skip CLI
Learn More: Testing Documentation
iOS Development Terms
Xcode
Apple’s integrated development environment (IDE) for macOS, used to develop software for iOS, macOS, watchOS, and tvOS. Xcode is the primary IDE for Skip development, which relies on the Skip Build Plugin to automatically translate iOS projects in Android projects whenever the project is built.
Related Terms: Swift, SwiftUI, IDE
External Resources:
Swift
A modern, type-safe programming language developed by Apple for iOS, macOS, and other Apple platforms. Swift is the primary language used in Skip development for writing code that runs on both iOS and Android.
Related Terms: Xcode, SwiftUI, Kotlin
External Resources:
Swift SDK for Android
The officially-supported cross-compilation SDK that can compile Swift code to the Android platform and is distributed by swift.org. The Swift SDK for Android was jointly developed by the Skip team alongside Swift community members and was officially released in 2025.
Related Terms: Skip Fuse, Swift
See Also:
External Resources:
SwiftUI
Apple’s declarative UI framework for building user interfaces across all Apple platforms. In Skip, SwiftUI code is used to create UIs that render natively as SwiftUI on iOS and Jetpack Compose on Android.
Related Terms: Swift, Jetpack Compose, Declarative UI
External Resources:
Swift Foundation
Apple’s fundamental framework providing essential data types, collections, and operating system services. Skip Foundation provides Android implementations of many Foundation APIs.
Related Terms: Swift, SkipFoundation
External Resources:
Observation
A Swift framework introduced in iOS 17 and macOS 14 that provides a modern approach to observable state management using the @Observable macro. SkipModel bridges Observation to Android’s Compose Runtime, allowing observable patterns to work across both platforms in Skip apps.
Related Terms: SwiftUI, SkipModel, Compose Runtime
External Resources:
SwiftPM (Swift Package Manager)
Apple’s official dependency manager for Swift projects, integrated into Xcode. Skip projects use SwiftPM to manage both iOS and Android dependencies.
Related Terms: Swift, Xcode, Package Manager
External Resources:
UIKit
Apple’s older imperative UI framework for iOS development, predating SwiftUI. Skip focuses on SwiftUI rather than UIKit.
Related Terms: SwiftUI, Declarative UI, Imperative UI
External Resources:
iOS
Apple’s mobile operating system that powers iPhones and iPads. Skip enables developers to build iOS apps that also run natively on Android.
External Resources:
Liquid Glass
Apple’s next-generation user interface released for iOS 26. Apple’s system-wide visual design language introduced in iOS 26, representing an aesthetic overhaul that replaces flat elements with a “digital meta-material” characterized by dynamic translucency, real-time light refraction, and fluid motion. Skip apps fully support Liquid Glass.
See Also:
External Resources:
Apple App Store
Apple’s digital distribution platform for iOS apps. Skip-built apps can be published to the App Store alongside Google Play Store distribution.
Related Terms: Google Play Store
External Resources:
XCTest
Apple’s testing framework for writing unit tests and UI tests in Swift and Objective-C. In Skip projects, XCTest cases are automatically transpiled or bridged to JUnit tests via SkipUnit, enabling parity testing across both platforms.
Related Terms: Unit Testing, JUnit, SkipUnit, Swift
External Resources:
Android Development Terms
Android
Google’s open-source mobile operating system powering billions of devices worldwide. Skip transpiles iOS apps to run natively on Android using Kotlin and Jetpack Compose.
Related Terms: iOS, Kotlin, Android Studio
External Resources:
Android Studio
The official integrated development environment (IDE) for Android development, based on IntelliJ IDEA. While Skip’s primary IDE is Xcode, Android Studio can be used for advanced Android customization.
Related Terms: Xcode, IDE, Kotlin
External Resources:
Kotlin
A modern, statically-typed programming language that runs on the JVM and is Google’s preferred language for Android development. Skip’s transpiler converts Swift code to Kotlin for Android.
Related Terms: Swift, Java, Transpiler
External Resources:
Jetpack Compose
Android’s modern declarative UI toolkit, similar to SwiftUI. Skip translates SwiftUI views into Jetpack Compose components, producing native Android UIs.
Related Terms: SwiftUI, Kotlin, Declarative UI
External Resources:
Android Views
Android’s original imperative UI toolkit, similar to UIKit on iOS. Android Views are sometimes known as XML Views and have been supplanted by Jetpack Compose as the recommended technology for building modern Android apps.
Related Terms: Jetpack Compose, Java, Imperative UI
Gradle
A build automation system used for Android projects. Skip-generated Android projects use Gradle for building, testing, and dependency management for the Android side of the app. Gradle can be thought of as the Java/Kotlin equivalent for the Swift Package Manager.
Related Terms: Android Studio, Build System, SwiftPM
External Resources:
Fastlane
A suite of open source tools designed to automate the process of building and distributing mobile apps for both the Apple App Store and the Google Play Store. It streamlines tasks such as generating screenshots, handling code signing, managing app metadata, and uploading builds to app stores. Skip will automatically generate fastlane project templates when creating an app project with skip create or skip init.
Reference: Deployment, Skip CLI References
External Resources:
See Also:
Android SDK (Software Development Kit)
A collection of tools, libraries, and APIs required for developing Android applications. Skip developers need the Android SDK installed for building Android versions of their apps.
Related Terms: Android Studio, Gradle
External Resources:
JVM (Java Virtual Machine)
The runtime environment that executes Java and Kotlin bytecode. Android apps written in Kotlin run on the Android Runtime (ART), which is based on JVM principles.
Related Terms: Kotlin, Java, Android Runtime
External Resources:
JNI (Java Native Interface)
A foreign function interface designed for non-Java programming languages (like Swift) to interface with Java libraries. JNI is a necessary part of Skip Fuse’s ability to create bridges to the Android SDK and thereby enable the creation of useful apps on the Android platform.
Related Terms: Kotlin, Java, Android Runtime
External Resources:
Android Runtime (ART)
Android’s managed runtime environment that executes app code. ART replaced Dalvik and provides improved performance through ahead-of-time (AOT) compilation.
External Resources:
Google Play Store
Google’s official app distribution platform for Android. Skip-built apps can be published to Google Play alongside App Store distribution.
Related Terms: Apple App Store, Android
External Resources:
Java
A widely-used programming language for Android development before Kotlin became Google’s preferred language. Both Kotlin and Java target the JVM and Android Runtime. Skip’s transpilation and bridging targets Kotlin rather than Java.
Related Terms: Kotlin, JVM, Android Runtime
External Resources:
Robolectric
A mode of unit testing Android frameworks where tests execute locally on a JVM rather then connecting to an Android emulator or device. Rests run with Robolectric are more lightweight and run faster than connected tests, but do not cover the complete Android API surface and do not support testing user-interface components.
Related Terms: Unit Testing, JVM, Android Runtime
External Resources:
JUnit
A widely-used testing framework for Java and Kotlin applications. In Skip projects, XCTest cases are automatically converted to JUnit tests via SkipUnit, enabling the same tests to run on both iOS and Android.
Related Terms: Unit Testing, XCTest, SkipUnit, Kotlin, Robolectric
External Resources:
Compose Runtime
The reactive state management system that underlies Jetpack Compose. Compose Runtime handles state observation, recomposition, and UI updates. SkipModel bridges Swift’s Observation framework to Compose Runtime, enabling reactive patterns to work across both platforms.
Related Terms: Jetpack Compose, SkipModel, Observation
External Resources:
ADB (Android Debug Bridge)
A command-line tool that facilitates communication between a development computer and Android devices or emulators. Skip developers use ADB for tasks like viewing logs (adb logcat), installing apps, and managing connected devices. The ANDROID_SERIAL environment variable can be set to target specific devices when running Skip tests.
Related Terms: Android SDK, Android Studio, Gradle
External Resources:
APK (Android Package Kit)
The package file format used to distribute and install applications on Android devices. Skip’s skip export command generates an APK file containing the compiled Android version of your app. APK files are analogous to iOS’s .ipa files.
Related Terms: Android, Google Play Store, Gradle
External Resources:
General Development Concepts
Cross-Platform Development
The practice of building applications that run on multiple operating systems or platforms from a single codebase. Skip is a cross-platform solution specifically designed for iOS and Android.
Related Terms: Dual-Platform Development, Native Development
Native Development
Building applications using platform-specific languages, frameworks, and tools designed for a particular operating system. Skip produces truly native apps for both iOS and Android.
Related Terms: Cross-Platform Development
Declarative UI
A programming paradigm where UI is described as a function of state, focusing on what the UI should look like rather than how to construct it. Both SwiftUI and Jetpack Compose are declarative UI frameworks.
Related Terms: SwiftUI, Jetpack Compose, Imperative UI
External Resources:
Imperative UI
A programming paradigm where UI is constructed through explicit step-by-step instructions. UIKit on iOS is an example of imperative UI.
Related Terms: Declarative UI, UIKit, Android Views
IDE (Integrated Development Environment)
A software application providing comprehensive facilities for software development, typically including a code editor, debugger, and build tools. Xcode and Android Studio are IDEs.
Related Terms: Xcode, Android Studio
Compiler
A program that translates source code from a high-level programming language to machine code or intermediate code. Unlike a transpiler, which translates to another high-level language.
Related Terms: Transpiler, Build System
Build System
Software that automates the process of compiling source code into executable programs. Gradle is Android’s build system, while SwiftPM and Xcode’s build system handle iOS builds.
Related Terms: Gradle, SwiftPM, Compiler
Package Manager
A tool that automates the process of installing, upgrading, and managing software dependencies. SwiftPM manages Swift dependencies, while Gradle handles Android dependencies.
Related Terms: SwiftPM, Gradle
Homebrew
A package manager for macOS (and Linux) used to install and manage software packages. The Skip CLI and its prerequisites are distributed via Homebrew using the command brew install skiptools/skip/skip.
Related Terms: Skip CLI, Package Manager
External Resources:
Conditional Compilation
A preprocessor feature that allows including or excluding code based on compile-time conditions. Skip developers use conditional compilation to write platform-specific code for iOS vs. Android.
Related Terms: Platform Customization
External Resources:
API (Application Programming Interface)
A set of rules and protocols that allows different software components to communicate. Skip bridges iOS and Android APIs for dual-platform development.
Framework
A reusable software platform providing core functionality that can be extended by developers. SwiftUI, Jetpack Compose, and Skip’s own frameworks are examples.
Library
A collection of pre-written code that developers can use to optimize tasks. Unlike frameworks, libraries are called by your code rather than calling your code.
Related Terms: Framework, Package Manager
SDK (Software Development Kit)
A collection of tools, libraries, documentation, and samples that enable development for a specific platform. The Android SDK is required for Skip development.
Runtime
The period during which a program is executing, or the software environment that executes a program. Skip’s Skip Zero approach means no additional runtime is added to iOS apps.
Related Terms: JVM, Android Runtime
Source Code
Human-readable program instructions written in a programming language. Skip’s transpiler converts Swift source code to Kotlin source code.
Related Terms: Compiler, Transpiler
Unit Testing
A software testing technique in which individual units of code—such as functions, methods, or classes—are tested in isolation to verify that they behave as expected. Unit tests are typically automated and run frequently during development to catch regressions early.
In Skip projects, unit testing is especially valuable because shared business logic written in Swift can be tested once and validated across both iOS and Android targets, increasing confidence in cross-platform correctness.
Related Terms: Integration Testing, Source Code, API
External Resources:
Integration Testing
A software testing practice where multiple components or modules are tested together to verify their interactions work correctly. Unlike unit testing, which tests components in isolation, integration testing validates that different parts of the system integrate properly. In Skip projects, integration tests can verify that iOS and Android implementations interact correctly with platform-specific APIs and services.
Related Terms: Unit Testing, XCTest, JUnit
External Resources:
Continuous Integration
A development practice where code changes are automatically built and tested frequently, typically on every commit to version control. Skip projects support CI through standard tools like GitHub Actions, using the Skip CLI to run parity tests on both iOS and Android in automated workflows.
Related Terms: Unit Testing, Parity Testing, Build System
External Resources:
Localization
The process of adapting an application to support multiple languages and regions. Skip supports localization through SwiftUI’s string catalog system (.xcstrings files), which are automatically processed for both iOS and Android. This enables a single translation source to work across both platforms.
Related Terms: SwiftUI, Skip Plugin, Platform Customization
Learn More: Localization Documentation
External Resources:
Comparison Terms
Flutter
An open-source UI framework developed by Google for building cross-platform applications from a single codebase written in Dart. Flutter renders its UI using a custom graphics engine rather than native platform UI frameworks.
Compared to Skip, Flutter has several notable disadvantages:
- Non-native UI rendering: Flutter does not use SwiftUI or Jetpack Compose, which can lead to subtle differences in platform behavior, accessibility, and visual fidelity.
- Additional runtime and engine: Flutter apps ship with a large runtime and rendering engine, increasing app size and memory usage compared to Skip’s native output.
- Limited platform integration: Deep integration with platform-specific APIs often requires writing and maintaining platform “channels” in Swift/Objective-C and Kotlin/Java.
- Language fragmentation: Flutter introduces Dart as a third language, whereas Skip allows iOS developers to remain entirely within the Swift ecosystem.
Skip, by contrast, produces genuinely native apps using platform-standard UI frameworks and tooling, with no custom rendering engine and no mandatory additional runtime.
Related Terms: Skip, Cross-Platform Development, Native Development, Runtime
External Resources:
React Native
A cross-platform mobile development framework created by Meta (Facebook) that allows developers to build apps using JavaScript or TypeScript with a React-based UI model.
Compared to Skip, React Native presents several drawbacks:
- JavaScript bridge overhead: React Native relies on a bridge (or JSI-based runtime) between JavaScript and native code, which can introduce performance bottlenecks and debugging complexity.
- Non-native development model: While React Native renders native views, application logic runs in a JavaScript runtime rather than using platform-native languages like Swift or Kotlin.
- Toolchain fragmentation: Developers must manage Node.js, npm/yarn, Metro, and native build systems in parallel, increasing project complexity.
- Weaker platform parity: Platform-specific behaviors, APIs, and UI conventions often require custom native modules and duplicated logic.
Skip avoids these issues by enabling development directly in Swift, integrating tightly with Xcode, producing native SwiftUI and Jetpack Compose UIs, and eliminating any JavaScript runtime or bridge.
Related Terms: Skip, Cross-Platform Development, Native Development, Runtime
External Resources:
Xamarin
A cross-platform development framework (now part of .NET MAUI) that allows building iOS and Android apps using C# and .NET. Unlike Skip, which uses native UI frameworks (SwiftUI and Jetpack Compose), Xamarin historically used either native UI bindings (Xamarin.iOS/Android) or a cross-platform UI abstraction (Xamarin.Forms, now .NET MAUI). Xamarin requires developers to learn C# rather than leveraging existing Swift knowledge.
Contrast With: Skip, Flutter, React Native
Related Terms: Cross-Platform Development
External Resources:
Cordova
A mobile application development framework (also known as Apache Cordova or PhoneGap) that enables building apps using HTML, CSS, and JavaScript running in a WebView. Unlike Skip, which produces genuinely native apps, Cordova apps are essentially web applications wrapped in a native container, resulting in non-native UI, performance limitations, and restricted access to platform capabilities.
Contrast With: Skip, Native Development
Related Terms: Cross-Platform Development, Runtime
External Resources:
Android and Apple Platforms
Developers familiar with iOS and other Apple platforms use a number of different tools and technologies, such as Swift, Xcode, and SwiftPM. When beginning to work with the Android platform, much of the terminology around Android development may seem alien at first. But in general, each component of iOS development has an analogue in the world of Android development.
Skip handles translating some of these elements between Apple platforms and Android. This table outlines the various Apple-specific terms and maps them to their equivalent Android term, as well as highlighting whether Skip helps in the translation process.
| Platform | Apple | [Skip] | Android |
|---|---|---|---|
| Language (modern) | Swift1 | → | Kotlin2 |
| Language (legacy) | Objective-C3 | Â | Java4 |
| UI Framework (modern) | SwiftUI5 | → | Jetpack Compose6 |
| UI Framework (legacy) | UIKit7 | Â | Android Views8 |
| Build Tool | SwiftPM9 | → | Gradle10 |
| IDE | Xcode11 | Â | Android Studio12 |
| Debugger | lldb13 | Â | adb14 |
| Unit Testing | XCTest15 | → | JUnit16 |
| UI Testing | XCUITest17 | Â | Espresso18 |
| Local Testing | macOS19 | → | JVM w/ Robolectric20 |
| Local App Runner | iOS Simulator21 | → | Android Emulator22 |
| Design Language | HIG23 | Â | Material Design24 |
-
Swift: https://www.swift.org ↩
-
Kotlin: https://kotlinlang.org ↩
-
Objective-C: https://developer.apple.com/​library/​archive/​documentation/​Cocoa/​Conceptual/​ObjectiveC/​Introduction/​introObjectiveC.html ↩
-
Java: https://www.java.com/en/download/help/whatis_java.html ↩
-
SwiftUI: https://developer.apple.com/xcode/swiftui/Â ↩
-
Jetpack Compose: https://developer.android.com/develop/ui/compose ↩
-
Android Views: https://developer.android.com/develop/ui/views/layout/declaring-layout ↩
-
Swift Package Manager (SwiftPM): https://www.swift.org/documentation/package-manager/Â ↩
-
Gradle: https://gradle.org ↩
-
Xcode: https://developer.apple.com/xcode/Â ↩
-
Android Studio: https://developer.android.com/studio ↩
-
The LLDB Debugger: https://lldb.llvm.org ↩
-
Android Debug Bridge (adb): https://developer.android.com/tools/adb ↩
-
JUnit: https://junit.org/junit4/Â ↩
-
User Interface Tests (XCUITest): https://developer.apple.com/documentation/xctest/user_interface_tests ↩
-
Espresso: https://developer.android.com/training/testing/espresso/Â ↩
-
Cross-platform testing: https://developer.apple.com/documentation/xcode/creating-a-standalone-swift-package-with-xcode#Make-your-Swift-package-cross-platform-compatible ↩
-
Robolectric: https://robolectric.org ↩
-
iOS Simulator: https://developer.apple.com/documentation/xcode/running-your-app-in-simulator-or-on-a-device/Â ↩
-
Android Emulator: https://developer.android.com/studio/run/emulator ↩
-
HIG: https://developer.apple.com/design/human-interface-guidelines/Â ↩
-
Material Design: https://m3.material.io/develop/android/jetpack-compose ↩