为 Android 编译 Swift

Compiling Swift for Android

最近我一直在尝试检查是否有一种方法可以从 swift 代码生成 APK。

经过一些研究,我注意到几年前有相当多的线程,然后就死了。是因为什么问题吗?还有可能吗?

就我而言,我已经有一个 xcode 项目,我希望将其迁移到 android,但如果可能的话,我希望只有一个源代码而不是 2 个。

您无法将 swift 代码转换为 java 代码。 有些语言和框架允许使用相同的语言为 Android 或 IOS 编写代码。这样的平台是完全原生的,或者是半原生的(混合的),或者是基于网络的。

如果我们谈论 swift - 它是 ios 的原生,那么您不能从中生成 android。

将来您可以使用带有插件的 flutter 或 React Native 或 Kotlin 来为这两个平台编写代码。

不幸的是,您将不得不为 Android 重写它。

虽然为 Android 编译 Swift 代码甚至创建 .apk 文件仍然远非易事,但它 is technically possible。从你问这个问题的方式来看,我希望你更多地关注编程语言的“用户space”,而不是了解足够的编译器细节来让它在合理的时间内工作并用所有的东西来维护它快节奏的变化正在发生。

所以对您来说更现实的答案可能是,目前不可能

但是 Swift 社区目前正在进行大量工作,以通过多种方式推动对更多平台的支持,既使在更多平台上构建 Swift 变得非常容易,也提供用于创建 UI 和与系统正确集成的框架(因为 Swift 只是一种编程语言,应用程序不仅仅是编程逻辑)。

这里有几个链接供进一步阅读:

  1. "Getting Started with Swift on Android" 来自 Swift GitHub 存储库
  2. 来自 Realm (2017) and Readdle (2018) 的博客 post 解释了 Android 应用程序的需求
  3. Most viewed threads 用于官方 Swift 论坛上的 Android 标签
  4. "On the road to Swift 6" post,解释 Swift 将如何在不久的将来扩展
  5. 社区驱动port of UIKit for Android(进行中)
  6. SwiftUI (OpenSwiftUI, Tokamak) 的端口尚不支持 Android,但稍后可能会支持

我希望这能很好地概述 Android 的 Swift 当前状态。