跳转到内容
Skip
3.2k

术语表

本页面是 Skip 文档中使用的术语参考,涵盖 Skip 特定概念、iOS 开发和 Android 开发。


一种使 iOS 开发者能够使用单一 Swift 代码库和 SwiftUI 构建原生 iOS 和 Android 应用的技术。Skip 可以在 Lite 模式下运行,将 Swift 代码转译为 Kotlin,也可以在 Fuse 模式下运行,使用 Swift Android SDK 为 Android 原生编译 Swift 代码。在这两种情况下,Skip 都利用 SwiftUI 到 Jetpack Compose 的转换过程,为两个平台生成真正的原生应用。

资源:

外部资源:

Skip 的转译模式,其中 Swift 代码被转换(或转译)为 Kotlin 用于 Android。与 Skip Fuse 相对,后者使用 Swift Android SDK 来使用编译的 Swift 用于 Android 平台。两种模式都生成完全原生的应用。

相关术语: Skip Fuse转译器Skip Zero

了解更多: Skip Lite 与 Fuse 文档

Skip 的现代应用开发模式,使用由 Swift Android SDK 构建的原生 Swift。Skip Fuse 对 Swift 语言支持没有任何限制,但会导致更大的应用体积。

相关术语: Skip Lite

了解更多: 原生和转译模式

另见:

一个 XcodeSwiftPM 插件(也称为 skipstone),处理将 iOS 项目转换为 Android 项目。该插件处理资源转换和打包、本地化处理、在 Skip Fuse 模式下构建 Swift 和 Kotlin 之间的桥接,以及在 Skip Lite 模式下执行 Swift 到 Kotlin 的转译。在两种模式下,插件都会在你开发时自动将 SwiftUI 转换为 Jetpack Compose

相关术语: Xcode转译器SwiftPMSkip LiteSkip FuseSkip Bridge

外部资源:

用于创建和管理 Skip 项目、处理与 gradle 和 Android 模拟器的交互,以及执行系统检查和项目验证的 skip 命令行工具。Skip CLI 通过 Homebrew 包管理系统安装和管理。

相关术语: XcodeSwiftPM转译器

参考: 安装Skip CLI 参考

一个将 SwiftUI 桥接到 Jetpack Compose 的 Skip 框架,允许 SwiftUI 视图在 Android 上使用 Compose 原生渲染。是 Skip 核心框架栈的一部分。

相关术语: SwiftUIJetpack Compose

参考: SkipUI

一个提供 Swift Foundation API 的 Android 实现的 Skip 框架,使日期处理、网络和数据结构等通用功能能够在两个平台上工作。

相关术语: Swift Foundation转译器

参考: SkipFoundation

核心 Skip 库,提供将 Swift 代码转译为 Kotlin 的基础转译支持和运行时工具。

参考: SkipLib

一个促进 SwiftKotlin 代码之间无缝集成的框架,支持 iOS 和 Android 平台特定实现之间的直接调用。桥接由 Skip 插件自动透明地处理,通过 Skip Lite 的源处理和 Skip Fuse 生成的 JNI 接口实现。

相关术语: 平台定制

参考: SkipBridge

一个通过桥接到 Compose Runtime 为 Swift 的 Observation 框架提供跨平台支持的 Skip 框架。SkipModel 使响应式状态管理模式能够在 iOS 和 Android 之间无缝工作,允许 @Observable 类在 SwiftUIJetpack Compose 中触发 UI 更新。

相关术语: ObservationCompose RuntimeSwiftUIJetpack Compose

参考: SkipModel

一个将 Apple 的 XCTest 框架桥接到 Android 的 JUnit 测试框架的 Skip 框架,使开发者能够用 Swift 编写一次测试并在两个平台上自动运行。SkipUnit 对于 Skip 项目中的 parity 测试至关重要。

相关术语: XCTestJUnitParity Testing单元测试

参考: SkipUnit

Skip Lite 中的一种模式,使应用的 iOS 端能够剥离所有 Skip 依赖,这意味着你的 iOS 应用对任何 Skip 框架都没有运行时依赖。这实现了最小的应用大小和内存占用,并消除了 iOS 端对 Skip 的任何依赖。

相关术语: Skip Lite

当使用 Skip ZeroSkip Lite 时,_可弹出性_指的是从项目中完全移除 Skip 并仍然拥有功能完整的 iOS 和 Kotlin 应用的能力,这些应用可以单独迭代。它通过为使用 Skip 开发的技术提供保险来降低采用 Skip 的风险,即使项目决定未来不再继续使用 Skip,这些技术仍然可行。

相关术语: Skip Lite

一种源到源的编译器,将代码从一种编程语言转换为另一种语言。Skip Lite 的转译器将 Swift 代码转换为 Kotlin,将 SwiftUI 视图转换为 Jetpack Compose 组件。转译是 Skip 插件的功能之一。

相关术语: SwiftKotlin编译器

外部资源:

在 Skip 项目中为 iOS 和 Android 编写平台特定代码的能力,允许开发者在共享代码不足时利用原生 API 和框架。

相关术语: SkipBridge条件编译

了解更多: 跨平台主题指南

从单一代码库同时为 iOS 和 Android 开发的实践,这是 Skip 的核心价值主张。Skip 支持使用单一语言(Swift)和单一 IDEXcode)同时迭代开发 iOSAndroid 应用。

相关术语: 跨平台开发

一种 Skip 独有的测试方法,相同的测试用例在 iOS(通过 XCTest)和 Android(通过 JUnit)上同时执行,以验证跨平台的相同行为。Parity 测试确保共享业务逻辑在两个平台上产生一致的结果,并有助于在开发早期发现平台特定的 bug。Skip CLI 包含一个 skip test 命令,运行 parity 测试并生成比较报告。

相关术语: 单元测试XCTestJUnitSkip CLI

了解更多: 测试文档


Apple 为 macOS 提供的集成开发环境(IDE),用于开发 iOS、macOS、watchOS 和 tvOS 软件。Xcode 是 Skip 开发的主要 IDE,它依赖 Skip 构建插件 在每次构建项目时自动将 iOS 项目转换为 Android 项目。

相关术语: SwiftSwiftUIIDE

外部资源:

Apple 开发的现代类型安全编程语言,用于 iOS、macOS 和其他 Apple 平台。Swift 是 Skip 开发中使用的主要语言,用于编写在 iOS 和 Android 上运行的代码。

相关术语: XcodeSwiftUIKotlin

外部资源:

官方支持的交叉编译 SDK,可以将 Swift 代码编译到 Android 平台,由 swift.org 分发。Swift Android SDK 由 Skip 团队与 Swift 社区成员共同开发,于 2025 年正式发布。

相关术语: Skip FuseSwift

See Also:

外部资源:

Apple 的声明式 UI 框架,用于在所有 Apple 平台构建用户界面。在 Skip 中,SwiftUI 代码用于创建在 iOS 上原生渲染为 SwiftUI、在 Android 上渲染为 Jetpack Compose 的 UI。

相关术语: SwiftJetpack Compose声明式 UI

外部资源:

Apple 的基础框架,提供基本数据类型、集合和操作系统服务。Skip Foundation 提供了许多 Foundation API 的 Android 实现。

相关术语: SwiftSkipFoundation

外部资源:

在 iOS 17 和 macOS 14 中引入的 Swift 框架,使用 @Observable 宏提供现代的可观察状态管理方法。SkipModel 将 Observation 桥接到 Android 的 Compose Runtime,使可观察模式在 Skip 应用的两个平台上工作。

相关术语: SwiftUISkipModelCompose Runtime

外部资源:

Apple 官方的 Swift 项目依赖管理器,集成在 Xcode 中。Skip 项目使用 SwiftPM 管理 iOS 和 Android 依赖。

相关术语: SwiftXcode包管理器

外部资源:

Apple 较旧的命令式 UI 框架,用于 iOS 开发,早于 SwiftUI。Skip 专注于 SwiftUI 而非 UIKit。

相关术语: SwiftUI声明式 UI命令式 UI

外部资源:

Apple 的移动操作系统,驱动 iPhone 和 iPad。Skip 使开发者能够构建也在 Android 上原生运行的 iOS 应用。

相关术语: AndroidXcode

外部资源:

Apple 为 iOS 26 发布的下一代用户界面。 Apple 在 iOS 26 中引入的系统级视觉设计语言,代表了一次美学革新,用具有动态半透明、实时光线折射和流体运动的”数字超材料”取代了扁平元素。Skip 应用完全支持 Liquid Glass。

另见:

外部资源:

Apple 的 iOS 应用数字分发平台。Skip 构建的应用可以与 Google Play Store 分发一起发布到 App Store。

相关术语: Google Play Store

外部资源:

Apple 的测试框架,用于用 Swift 和 Objective-C 编写单元测试和 UI 测试。在 Skip 项目中,XCTest 用例通过 SkipUnit 自动转译或桥接到 JUnit 测试,实现跨两个平台的 parity 测试

相关术语: 单元测试JUnitSkipUnitSwift

外部资源:


Google 的开源移动操作系统,驱动全球数十亿设备。Skip 将 iOS 应用转译为使用 KotlinJetpack Compose 在 Android 上原生运行。

相关术语: iOSKotlinAndroid Studio

外部资源:

Android 开发的官方集成开发环境(IDE),基于 IntelliJ IDEA。虽然 Skip 的主要 IDE 是 Xcode,但 Android Studio 可用于高级 Android 定制。

相关术语: XcodeIDEKotlin

外部资源:

一种现代静态类型编程语言,运行在 JVM 上,是 Google 首选的 Android 开发语言。Skip 的转译器Swift 代码转换为 Kotlin 用于 Android。

相关术语: SwiftJava转译器

外部资源:

Android 的现代声明式 UI 工具包,类似于 SwiftUI。Skip 将 SwiftUI 视图转换为 Jetpack Compose 组件,生成原生 Android UI。

相关术语: SwiftUIKotlin声明式 UI

外部资源:

Android 原始的命令式 UI 工具包,类似于 iOS 上的 UIKit。Android Views 有时被称为 XML Views,已被 Jetpack Compose 取代作为构建现代 Android 应用的推荐技术。

相关术语: Jetpack ComposeJava命令式 UI

用于 Android 项目的构建自动化系统。Skip 生成的 Android 项目使用 Gradle 进行构建、测试和依赖管理。Gradle 可以看作是 Swift Package Manager 的 Java/Kotlin 等效物。

相关术语: Android Studio构建系统SwiftPM

外部资源:

一套开源工具,旨在自动化为 Apple App Store 和 Google Play Store 构建和分发移动应用的过程。它简化了生成截图、处理代码签名、管理应用元数据和上传构建到应用商店等任务。Skip 在使用 skip createskip init 创建应用项目时会自动生成 fastlane 项目模板。

参考: 部署Skip CLI 参考

外部资源:

See Also:

开发 Android 应用所需的工具、库和 API 集合。Skip 开发者需要安装 Android SDK 来构建应用的 Android 版本。

相关术语: Android StudioGradle

外部资源:

执行 Java 和 Kotlin 字节码的运行时环境。用 Kotlin 编写的 Android 应用运行在 Android Runtime (ART) 上,它基于 JVM 原理。

相关术语: KotlinJavaAndroid Runtime

外部资源:

为 Java 以外的编程语言(如 Swift)设计与 Java 库交互的外部函数接口。JNI 是 Skip Fuse 创建到 Android SDK 桥接的必要组成部分,从而能够在 Android 平台上创建有用的应用。

相关术语: KotlinJavaAndroid Runtime

外部资源:

Android 的托管运行时环境,执行应用代码。ART 取代了 Dalvik,并通过预先编译(AOT)提供改进的性能。

相关术语: JVMKotlin

外部资源:

Google 官方的 Android 应用分发平台。Skip 构建的应用可以与 App Store 分发一起发布到 Google Play。

相关术语: Apple App StoreAndroid

外部资源:

Kotlin 成为 Google 首选语言之前广泛使用的 Android 开发编程语言。Kotlin 和 Java 都以 JVMAndroid Runtime 为目标。Skip 的转译和桥接目标是 Kotlin 而非 Java。

相关术语: KotlinJVMAndroid Runtime

外部资源:

一种 Android 框架单元测试模式,测试在本地 JVM 上执行,而不是连接到 Android 模拟器或设备。使用 Robolectric 运行的测试更轻量、运行更快,但不能覆盖完整的 Android API 表面,也不支持测试用户界面组件。

相关术语: 单元测试JVMAndroid Runtime

外部资源:

广泛用于 Java 和 Kotlin 应用的测试框架。在 Skip 项目中,XCTest 用例通过 SkipUnit 自动转换为 JUnit 测试,使相同的测试能够在 iOS 和 Android 上运行。

相关术语: 单元测试XCTestSkipUnitKotlinRobolectric

外部资源:

Jetpack Compose 底层的响应式状态管理系统。Compose Runtime 处理状态观察、重新组合和 UI 更新。SkipModel 将 Swift 的 Observation 框架桥接到 Compose Runtime,使响应式模式能够在两个平台上工作。

相关术语: Jetpack ComposeSkipModelObservation

外部资源:

一个命令行工具,促进开发计算机与 Android 设备或模拟器之间的通信。Skip 开发者使用 ADB 执行查看日志(adb logcat)、安装应用和管理已连接设备等任务。ANDROID_SERIAL 环境变量可以设置为在运行 Skip 测试时 targeting 特定设备。

相关术语: Android SDKAndroid StudioGradle

外部资源:

用于在 Android 设备上分发和安装应用的包文件格式。Skip 的 skip export 命令生成一个包含编译后的 Android 版本应用的 APK 文件。APK 文件类似于 iOS 的 .ipa 文件。

相关术语: AndroidGoogle Play StoreGradle

外部资源:


从单一代码库构建在多个操作系统或平台上运行的应用的实践。Skip 是专门为 iOS 和 Android 设计的跨平台解决方案。

相关术语: 双平台开发原生开发

使用为特定操作系统设计的平台特定语言、框架和工具构建应用。Skip 为 iOS 和 Android 生成真正的原生应用。

相关术语: 跨平台开发

一种编程范式,其中 UI 被描述为状态的函数,专注于 UI 应该是什么样子,而不是如何构建它。SwiftUIJetpack Compose 都是声明式 UI 框架。

相关术语: SwiftUIJetpack Compose命令式 UI

外部资源:

一种编程范式,其中 UI 通过明确的逐步指令构建。iOS 上的 UIKit 是命令式 UI 的一个例子。

相关术语: 声明式 UIUIKitAndroid Views

提供全面软件开发设施的软件应用程序,通常包括代码编辑器、调试器和构建工具。XcodeAndroid Studio 都是 IDE。

相关术语: XcodeAndroid Studio

将源代码从高级编程语言转换为机器码或中间代码的程序。与转译器不同,转译器转换为另一种高级语言。

相关术语: 转译器构建系统

自动化将源代码编译为可执行程序的软件。Gradle 是 Android 的构建系统,而 SwiftPM 和 Xcode 的构建系统处理 iOS 构建。

相关术语: GradleSwiftPM编译器

自动化安装、升级和管理软件依赖的工具。SwiftPM 管理 Swift 依赖,而 Gradle 处理 Android 依赖。

相关术语: SwiftPMGradle

macOS(和 Linux)的包管理器,用于安装和管理软件包。Skip CLI 及其先决条件通过 macOS 和 Linux 上的 Homebrew 分发。

相关术语: Skip CLI包管理器

外部资源:

一种预处理功能,允许基于编译时条件包含或排除代码。Skip 开发者使用条件编译为 iOS 和 Android 编写平台特定代码。

相关术语: 平台定制

外部资源:

允许不同软件组件通信的一组规则和协议。Skip 桥接 iOS 和 Android API 用于双平台开发

相关术语: 框架SDK

提供可由开发者扩展的核心功能可重用软件平台。SwiftUIJetpack Compose 和 Skip 自己的框架都是示例。

相关术语: API

开发者可以用来优化任务的预编写代码集合。与框架不同,库是由你的代码调用的,而不是调用你的代码。

相关术语: 框架包管理器

使特定平台开发成为可能的工具、库、文档和示例集合。Android SDK 是 Skip 开发所必需的。

相关术语: API框架

程序执行的期间,或执行程序的软件环境。Skip 的 Skip Zero 方法意味着不会向 iOS 应用添加额外的运行时。

相关术语: JVMAndroid Runtime

用编程语言编写的人类可读程序指令。Skip 的转译器将 Swift 源代码转换为 Kotlin 源代码。

相关术语: 编译器转译器

一种软件测试技术,其中单独的代码单元(如函数、方法或类)被独立测试以验证它们是否按预期运行。单元测试通常是自动化的,在开发期间频繁运行以尽早发现回归。

在 Skip 项目中,单元测试特别有价值,因为用 Swift 编写的共享业务逻辑可以测试一次并在 iOS 和 Android 目标上验证,增加对跨平台正确性的信心。

相关术语: 集成测试源代码API

外部资源:

一种软件测试实践,其中多个组件或模块一起测试以验证它们的交互是否正常工作。与单元测试不同,单元测试是独立测试组件,而集成测试验证系统的不同部分是否正确集成。在 Skip 项目中,集成测试可以验证 iOS 和 Android 实现是否与平台特定的 API 和服务正确交互。

相关术语: 单元测试XCTestJUnit

外部资源:

一种开发实践,代码变更被自动构建和频繁测试,通常在每次提交到版本控制时。Skip 项目通过 GitHub Actions 等标准工具支持 CI,使用 Skip CLI 在自动化工作流中运行 iOS 和 Android 的 parity 测试

相关术语: 单元测试Parity Testing构建系统

外部资源:

使应用适应支持多种语言和地区的过程。Skip 通过 SwiftUI 的字符串目录系统(.xcstrings 文件)支持本地化,这些文件会自动为 iOS 和 Android 处理。这使单一翻译源能够在两个平台上工作。

相关术语: SwiftUISkip 插件平台定制

了解更多: 本地化文档

外部资源:

Google 开发的开源 UI 框架,用于从单一 Dart 代码库构建跨平台应用。Flutter 使用自定义图形引擎渲染 UI,而非原生平台 UI 框架。

Skip 相比,Flutter 有几个显著的缺点:

  • 非原生 UI 渲染: Flutter 不使用 SwiftUIJetpack Compose,这可能导致平台行为、可访问性和视觉保真度的细微差异。
  • 额外的运行时和引擎: Flutter 应用附带大型运行时和渲染引擎,与 Skip 的原生输出相比增加了应用大小和内存使用。
  • 有限的平台集成: 与平台特定 API 的深度集成通常需要用 Swift/Objective-C 和 Kotlin/Java 编写和维护平台”通道”。
  • 语言碎片化: Flutter 引入 Dart 作为第三种语言,而 Skip 允许 iOS 开发者完全留在 Swift 生态系统中。

相比之下,Skip 使用平台标准 UI 框架和工具生成真正的原生应用,没有自定义渲染引擎,也没有强制的额外运行时。

相关术语: Skip跨平台开发原生开发运行时

外部资源:

Meta(Facebook)创建的跨平台移动开发框架,允许开发者使用 JavaScript 或 TypeScript 和基于 React 的 UI 模型构建应用。

Skip 相比,React Native 有几个缺点:

  • JavaScript 桥接开销: React Native 依赖 JavaScript 和原生代码之间的桥接(或基于 JSI 的运行时),这可能引入性能瓶颈和调试复杂性。
  • 非原生开发模型: 虽然 React Native 渲染原生视图,但应用逻辑运行在 JavaScript 运行时中,而不是使用平台原生语言如 SwiftKotlin
  • 工具链碎片化: 开发者必须并行管理 Node.js、npm/yarn、Metro 和原生构建系统,增加了项目复杂性。
  • 较弱的平台一致性: 平台特定行为、API 和 UI 惯例通常需要自定义原生模块和重复逻辑。

Skip 通过直接使用 Swift 开发,与 Xcode 紧密集成,生成原生 SwiftUI 和 Jetpack Compose UI,并消除任何 JavaScript 运行时或桥接来避免这些问题。

相关术语: Skip跨平台开发原生开发运行时

外部资源:

一个跨平台开发框架(现在是 .NET MAUI 的一部分),允许使用 C# 和 .NET 构建 iOS 和 Android 应用。与使用原生 UI 框架(SwiftUIJetpack Compose)的 Skip 不同,Xamarin 历史上使用原生 UI 绑定(Xamarin.iOS/Android)或跨平台 UI 抽象(Xamarin.Forms,现在是 .NET MAUI)。Xamarin 要求开发者学习 C#,而不是利用现有的 Swift 知识。

对比: SkipFlutterReact Native

相关术语: 跨平台开发

外部资源:

一个移动应用开发框架(也称为 Apache Cordova 或 PhoneGap),支持使用在 WebView 中运行的 HTML、CSS 和 JavaScript 构建应用。与生成真正原生应用的 Skip 不同,Cordova 应用本质上是包装在原生容器中的 Web 应用,导致非原生 UI、性能限制和对平台能力的受限访问。

对比: Skip原生开发

相关术语: 跨平台开发运行时

外部资源:


熟悉 iOS 和其他 Apple 平台的开发者使用许多不同的工具和技术,如 Swift、Xcode 和 SwiftPM。当开始接触 Android 平台时,许多围绕 Android 开发的术语可能一开始看起来很陌生。但通常,iOS 开发的每个组件在 Android 开发世界中都有对应的等效物。

Skip 处理在 Apple 平台和 Android 之间转换这些元素。此表格概述了各种 Apple 特定术语,并将它们映射到等效的 Android 术语,同时标注 Skip 是否在转换过程中提供帮助。

平台Apple[Skip]Android
语言(现代)Swift1Kotlin2
语言(遗留)Objective-C3Java4
UI 框架(现代)SwiftUI5Jetpack Compose6
UI 框架(遗留)UIKit7Android Views8
构建工具SwiftPM9Gradle10
IDEXcode11Android Studio12
调试器lldb13adb14
单元测试XCTest15JUnit16
UI 测试XCUITest17Espresso18
本地测试macOS19JVM w/ Robolectric20
本地应用运行器iOS 模拟器21Android 模拟器22
设计语言HIG23Material Design24
  1. Swift: https://www.swift.org

  2. Kotlin: https://kotlinlang.org

  3. Objective-C: https://developer.apple.com/​library/​archive/​documentation/​Cocoa/​Conceptual/​ObjectiveC/​Introduction/​introObjectiveC.html

  4. Java: https://www.java.com/en/download/help/whatis_java.html

  5. SwiftUI: https://developer.apple.com/xcode/swiftui/

  6. Jetpack Compose: https://developer.android.com/develop/ui/compose

  7. UIKit: https://developer.apple.com/documentation/uikit

  8. Android Views: https://developer.android.com/develop/ui/views/layout/declaring-layout

  9. Swift Package Manager (SwiftPM): https://www.swift.org/documentation/package-manager/

  10. Gradle: https://gradle.org

  11. Xcode: https://developer.apple.com/xcode/

  12. Android Studio: https://developer.android.com/studio

  13. LLDB 调试器:https://lldb.llvm.org

  14. Android 调试桥(adb):https://developer.android.com/tools/adb

  15. XCTest: https://developer.apple.com/documentation/xctest

  16. JUnit: https://junit.org/junit4/

  17. 用户界面测试(XCUITest):https://developer.apple.com/documentation/xctest/user_interface_tests

  18. Espresso: https://developer.android.com/training/testing/espresso/

  19. 跨平台测试:https://developer.apple.com/documentation/xcode/creating-a-standalone-swift-package-with-xcode#Make-your-Swift-package-cross-platform-compatible

  20. Robolectric: https://robolectric.org

  21. iOS 模拟器:https://developer.apple.com/documentation/xcode/running-your-app-in-simulator-or-on-a-device/

  22. Android 模拟器:https://developer.android.com/studio/run/emulator

  23. HIG: https://developer.apple.com/design/human-interface-guidelines/

  24. Material Design: https://m3.material.io/develop/android/jetpack-compose