文章摘要
Swift官方宣布推出Android平台的Swift SDK夜间预览版,开发者现可用Swift开发Android应用。这标志着Swift跨平台能力的进一步扩展,由Android工作组基于多年社区努力实现,为移动生态带来新的跨平台开发可能。
文章总结
标题:Swift SDK for Android 正式发布
发布日期:2025年10月24日
经过十年的发展,Swift语言已从云端服务扩展到Windows应用、浏览器应用和微控制器领域。凭借出色的跨平台互操作性,开发者可以在不同平台间共享代码。
由开放社区组成的Android工作组宣布推出Swift SDK for Android的夜间预览版。这一里程碑凝聚了工作组数月努力和多年社区积累,使开发者能够使用Swift开发Android应用,为跨平台开发开辟新途径。
该SDK现可通过Windows安装包获取,也支持Linux和macOS系统单独下载。官方提供了入门指南和示例代码库帮助开发者快速上手。
值得注意的是,Swift包索引中已有超过25%的包支持Android平台,社区展示区也新增了Android兼容性标识。
通过swift-java项目,开发者可以实现Swift与Java的双向互操作。该项目包含库和代码生成器,能自动创建安全高效的类型绑定。Mads Odgaard在近期演讲中详细介绍了相关技术。
工作组正在起草愿景文件以指导未来发展,并通过项目看板和持续集成系统跟踪进展。开发者可通过Swift论坛的Android专区参与讨论。
作者简介:Joannis担任Android工作组主席,同时是服务器工作组成员及Hummingbird项目维护者。
(注:文末"继续阅读"部分因与主题关联性较弱,已作删节处理)
评论总结
评论总结:
初学者困惑与期待
- 新手开发者对Swift支持Android的可行性表示疑惑,询问是否可以直接用Xcode开发Android应用。
- 引用:"Can I now build my app in Xcode with an Android target?" (评论1)
- 引用:"What does this mean for React Native?" (评论2)
跨平台开发痛点
- 开发者抱怨工具链分裂,希望统一开发环境(如KMP在Android Studio中运行)。
- 引用:"Why cant everyone just get along and allow for KMP to work all within Android Studio" (评论3)
- 引用:"How miserable it would be trying to write Java or kotlin targeting iOS apps" (评论5)
技术可行性质疑
- 部分人认为跨语言开发体验差,建议坚持原生工具链。
- 引用:"Just use the native tools and languages for the platform" (评论5)
- 引用:"25% of packages...build for Android...not encouraging" (评论7)
业务逻辑共享的期待
- 开发者希望复用Swift业务逻辑,但对UI兼容性(如SwiftUI/Metal)存疑。
- 引用:"I would love if I don't have to port my whole iOS app to Android manually" (评论6)
- 引用:"UI and SwiftUI would not be supported initially?" (评论6)
与其他方案的对比
- 与Kotlin Multiplatform(KMP)、React Native(RN)、Flutter比较,认为Swift更适合iOS优先的开发者。
- 引用:"KMP is going to be more mature for a while" (评论10)
- 引用:"I'd rather use the native UI per platform" (评论14)
社区态度分化
- 部分人热情支持,也有人担忧Swift项目组的长期投入。
- 引用:"Very excited to see this as an official project!" (评论14)
- 引用:"Swift embedded...is a sort of proof of concept" (评论9)
极端简化提议
- 个别评论主张PWA或嘲讽现有方案。
- 引用:"Why can’t everything just be a progressive web app" (评论11)
- 引用:"Please kill RN and Flutter already" (评论12)
关键矛盾点:跨平台开发效率 vs 原生体验优化,Swift生态扩展的可行性 vs 现有成熟方案(如KMP)。