自從六月底 Swift Forums 宣布 Android Workgroup 的計畫後,這個消息在開發者社群中引起了廣泛的討論。
Swift 開發者們期待著能在 Android 裝置上大展身手,Kotlin 開發者們則擔心 Swift 的加入會對他們的地位造成威脅。
另外跨平台開發者們,也開始懷疑自己是不是選錯了方向?
這類型的文章和討論在過去半個月內不停的出現。
作為一個 Swift 開發者,今天來談談我對這個題目的看法。
Swift Android 工作小組的成立
長久以來,開發者社群中存在著一個清晰的界線:用 Swift 開發 iOS;用 Kotlin 開發 Android。
這兩大陣營各自為政,擁有獨立的生態與工具鏈。然而,這道看似分明的牆,如今正出現一道值得關注的裂縫。
蘋果親手打造的程式語言 Swift,正以前所未有的決心,正式邁向 Android 平台,預示著一個更廣闊、更統一的 Swift 生態系正在崛起。
這場變革的號角,由 swift.org 官方六月底的一則重磅消息吹響:Swift Android 工作小組(Swift on Android Workgroup) 正式成立。這不是開發者社群的自發性專案,而是一個由 Swift 核心團隊推動的官方組織。
為何要在 Android 上使用 Swift?
Swift 登陸 Android 的消息,立刻在開發者社群引發熱議,許多文章甚至以「Swift vs. Kotlin 的戰爭即將開打」為題進行報導。這背後的吸引力,源自於一個長久以來深植於許多開發團隊心中的夢想:
用單一語言,駕馭兩大主流平台。
Swift for Android 的出現,為跨平台開發提供了新的選擇,與 KMP 形成競爭,也對其他框架帶來潛在影響。
開發團隊將能夠用 Swift 編寫一次核心業務邏輯(如網路請求、資料模型、演算法),然後在 iOS 和 Android 專案中重複使用。
這不僅大幅減少了重複開發的工時與成本,更能確保兩端平台功能行為的一致性。
Swift 語言本身的優勢
Swift 自誕生以來,就以其高效能、安全性與現代化的語法著稱。
對於同時熟悉 iOS 開發的團隊而言,能夠在 Android 上延續這些優勢,無疑是極具吸引力的。
這場變革將衝擊誰?
Swift 的雄心壯志,勢必會對現有的行動開發格局帶來衝擊。
與 Kotlin 的正面對決
Kotlin 作為 Google 官方指定的 Android 開發語言,已擁有一個非常成熟且龐大的生態系。Swift 想要撼動其地位,還有很長一段路要走。工具鏈的成熟度、第三方函式庫的支援、以及開發者社群的規模,都是 Swift 需要克服的挑戰。然而,蘋果的影響力不容小覷,官方的強力推動,可能會加速 Swift 在 Android 上的普及。
- 優勢:
- 效能:
Kotlin 原生支援 Coroutines,在非同步處理上非常方便,但 Swift 的 async/await 在效能上可能更勝一籌。 - 互通性:
Kotlin 與 Java 之間的互通性非常好,因為 Kotlin 最初就是設計來取代 Java 的。Swift 在這方面仍需努力,特別是呼叫現有的 Java/Kotlin 函式庫。
- 效能:
- 劣勢:
- 工具鏈成熟度:
Kotlin 的 Android 開發工具鏈非常成熟,Android Studio 提供完善的支援。Swift 在 Android 上的工具鏈仍在發展中。 - 社群規模:
Kotlin 社群龐大且活躍,有豐富的資源與解決方案。Swift 在 Android 上的社群仍小。
- 工具鏈成熟度:
對 Flutter 等跨平台框架的潛在威脅
有些分析認為,蘋果此舉的背後,可能隱藏著更深層的戰略考量,其目標直指 Google 自家的跨平台框架 Flutter。
Flutter 的主要概念「Write once, Run anywhere」(雖然我聽到的開發者都是說 Debug Everywhere),包含 UI 在內的所有程式碼都能共享。
然而,Swift on Android 提供的則是另一種「共享原生」的模式:共享業務邏輯,但 UI 各自以原生方式建構。這種模式能確保應用程式擁有最原生的外觀與體驗,對於追求極致使用者體驗的產品來說,吸引力十足。
- 優勢:
- 原生體驗:
Swift on Android 強調原生 UI,確保應用程式在各平台都有最佳效能與外觀。 - 語言一致性:
對於主要使用 Swift 的團隊,能減少學習和維護成本。
- 原生體驗:
- 劣勢:
- UI 分離:
需要分別維護 iOS 和 Android 的 UI,增加了開發工作量。 - 成熟度:
相較於 Flutter,Swift on Android 的工具鏈和生態系仍在發展中。
- UI 分離:
如果 Swift on Android 成功普及,開發者將有機會在不犧牲原生體驗的前提下實現跨平台開發,這可能會影響 Flutter 等非原生 UI 框架的競爭力。
一個屬於所有人的 Swift 時代
Swift 從最初的 Apple 平台專屬語言,到後來開源並走向伺服器端(Vapor)、Windows,再到今日正式進軍 Android,它的腳步從未停歇。Swift 這個詞彙的意義,正在從「蘋果的語言」轉變為一個「現代、高效能、多平台的通用語言」。
對於開發者而言,這是一個令人振奮的時代。學習 Swift 的投資回報率變得更高,你的技能將不再局限於單一平台。
即便短期內 Swift on Android 的工具鏈和生態系仍在發展中,但蘋果的官方背書,以及 Swift 語言本身的優勢,都讓 Swift on Android 成為一個值得期待的選擇。
而 Kotlin 開發者也不需迷惘,目前相對成熟的工具鏈和生態系,以及 Google 的官方背書,都讓 Kotlin 仍然是 Android 開發的首選,且 KMP 的成熟度也越來越高,也越來越多組織將其作為共享核心邏輯的選擇。
但是在蘋果和 Google 兩方的推動下,跨平台開發的難度將越來越低,原本在使用 Flutter 或其他非原生 UI 框架的開發者,可能必須得重新評估自己的選擇。
無論未來是 Swift 與 Kotlin 雙雄並立,還是「共享原生」成為新主流,可以確定的是,行動開發的未來將因此變得更加多元與精彩。擴大中的 Swift 生態系,不僅為 iOS 開發者打開了新世界的大門,也為所有追求高效與創新的工程師,提供了一個更強大的工具。
參考資料:
Swift Forums - Swift on Android Workgroup
Why I Regret Learning Kotlin After Seeing Swift for Android — Should You Be Worried Too?
The Kotlin vs Swift Android War Has Begun — And the Comments Prove It
Swift on Android: Apple’s Language Now Officially Supports Android (2025 Guide)
Swift on Android is Happening: Inside the New Swift‑Android Working Group ✨