位置:首页 > Swift > Swift开发Android应用指南:跨平台构建新选择

Swift开发Android应用指南:跨平台构建新选择

时间:2026-08-20  |  作者:半糖攻略君  |  阅读:0

适用于 Android 系统的 Swift SDK 最近以 nightly 构建版本发布,该 SDK 旨在帮助开发者将他们的 Swift 包移植到 Android 系统,使跨平台共享代码更加容易。

虽然仍处于预览阶段,但 Swift 包索引中已有超过 25% 的包可以编译用于 Android 系统。

从核心层面来看,适用于 Android 系统的 Swift SDK 包含一个为 Android 平台量身定制的 Swift 工具链(即编译器和运行在 Android 系统上的 Swift 标准库实现),以及一组能让 Swift 访问 Android API 的绑定。该 Swift 工具链借助 swift-ja va 项目实现 Ja va 与 Swift 的互操作性,能够创建共享对象,这些对象会被链接到 Android 安装包(.apk)存档中,并可通过 Ja va 本地接口(JNI)进行访问。

在用户界面(UI)方面,Android版Swift SDK秉持中立态度。其团队不会仅仅聚焦于某一种UI框架,而是会对现有的框架予以支持,尤其是Android原生开发工具包(比如Jetpack Compose以及传统的基于XML的系统)、Flutter的UI引擎,还有像Skip这样的第三方桥接解决方案。Swift Android团队没有明确提及的另一种可行方式是,利用OpenGLVulkan或其他渲染引擎以Swift来实现UI,接着使用NativeActivity将其集成到Android应用中。

特别是 Skip 框架,它通过将 SwiftUIJetpack Compose 进行桥接,在 Android 系统上重新实现了 SwiftUI。这种方法让 iOS 开发者能用最少的精力,在同一个代码库中编写应用的业务逻辑和用户界面。

有一个名为 SwiftCrossUI 的开源替代方案,它能在 macOS、Linux、Windows 系统上提供类似于 SwiftUI 的用户界面 API,并且对 Android 也有一些初步支持。

虽然在 iOS 和 Android 应用中都使用 Swift 的前景听起来很诱人,但正如 andrekandre 在 Hacker News 上指出的,创建出色的跨平台应用不仅仅是工具链支持和原生工具包的问题:

之前就走过这条路,说实话,最大的问题在于开发者的用户体验(iOS 开发者不容易进行调试,与 Kotlin 存在模型不匹配的问题,比如无法从 Swift 捕获 Kotlin 异常),而且最终即便是 Kotlin 多平台也和用于 Android 开发的 Kotlin 不一样,所以在某种程度上,你仍然算是在引入第三种语言……

苹果宣布成立Swift项目中的Android工作小组约六个月后,适用于Android系统的Swift软件开发工具包(SDK)迎来首次发布。该小组的目标明确,就是要让Swift能够直接编译用于Android系统的代码,而无需借助非官方分支,同时强化Swift的标准库,使其与Android API的兼容性更上一层楼。

在适用于 Android 系统的 Swift SDK 发布之前,开发者可以使用第三方解决方案(如 Scade.io)将他们的 Swift 代码编译用于 Android 系统。Scade 基于 Swift4j,专注于非用户界面的应用程序逻辑。

对于希望将应用移植到 iOS 系统的 Android 开发者来说,一个更成熟的选择是使用 Kotlin 多平台与 Jetpack Compose 多平台技术,这对从事 Android 开发的开发者来说,会更加友好平滑。

原文
www.infoq.com/news/2025/1…

《夸克》非常好用的免费AI浏览器

下载APP查看

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多