做者:uraimo,原文連接,原文日期:2016-02-02
譯者:Crystal Sun;校對:Cee;定稿:星夜暮晨html
明天(本文發表日期是 2016 年 2 月 2 日)就是 Swift 開源後的第二個月了。linux
這麼短的時間當中發生了不少事情。開源社區已經在全面發展這項語言了,他們爲 Swift 的每一個分支項目都貢獻了大量的代碼,他們甚至討論了 Swift 的未來,併爲之提出意見和建議。蘋果公司很是歡迎開源社區的加入,而開源社區則積極迴應了許多貢獻和想法。android
在我看來這兩個月裏,開源社區中真正出彩的項目是:把 Swift 語言移植到新的平臺當中。一些相似的社區驅動項目讓 Swift 在新平臺(Android,Linux ARM,FreeBSD,Windows)上運行成爲了可能。git
如今讓咱們回顧一下每一個項目的狀態,從如今起,我會每個月會更新兩次這些項目的進度,若是你感興趣,能夠點擊下方的訂閱按鈕來關注個人文章。github
移植到 Linux ARM 系統主要是靠 Willian Dillon, @tienex 等人的努力,該項目目前處於高度完成狀態,用戶面臨的惟一問題就是目前在 REPL(仍有一些問題)和 SwiftPM 上沒法使用。swift
關於 JIRA 的問題,能夠跟蹤 SR-40 的開發進度,在幾天前已經併入到 master 了,關於這個平臺的移植能夠看 William的博客 和 GitHub 上 issues #439 和 #901 。恭喜全部相關的開發者,這個移植項目花了他們大量的努力和時間。app
正在咱們說這件事的時候,開發項目組成員正努力用更便捷的方案來代替鏈接器 swift.ld,詳見 #1157。ide
你想在樹莓派二代、BeagleBone Black 或者其餘 ARMv7 板子上嘗試這個移植項目嗎?工具
正好 achiveved.it 的 Joe Bell 給你提供瞭解決方案。他提供了一個ARM debian packages,有了這個,只需幾分鐘時間就能搞定安裝。他網站上也提供了不少有趣的 Glibc 教程和指南,正是這些資料使咱們可以輕鬆地在 Linux ARM 平臺上開始使用。post
那樹莓派 1/Zero 的二進制預編譯文件呢?能夠從這裏得到。
若是你富有冒險精神,時間寬裕,這裏也有一些指南讓你在樹莓派 2 上使用 Swift : 1 & 2
其實在 Swift 開源以前,咱們就開始考慮要在安卓平臺上運行 Swift 的代碼了,第一個嘗試成功的是 Romain Goyet,在他的一篇博客中有詳細的記錄,利用 LLVM 的功能,加上在 NDK 中手動操做幾步,能用 Swift 編寫的代碼來運行一個簡單的小安卓應用了。
如今,在 GitHub 上的 SwiftAndroid 團隊中的 Zhouwei Zhang, Brian Gesiak, @ephemer 等人的協調努力下,他們正在努力創建一個真正的 Swift 安卓平臺。在他們的項目中,能找到建立 Linux toolchain 所需的一切代碼,按照 Zhuowei's 示例代碼能夠創建你的第一個應用。
此外還在進行着一個額外的活動(#13),目標是創建一個 OSX/Android 交叉編譯的 toolchain,這樣不用使用 intermediate Linux hosts 就能夠編譯 Swift,從 issues package 裏能追蹤每一個人的工做內容。
除了上面提到的主要項目,咱們還有一些其餘的小項目, 這個是創建工具的集合:
swift-android-extras - 建立 toolchain 的腳本。
swift-jni - JNT 包裝器,將 Swift 代碼編譯成Java代碼,生產 Android 應用。
swift-android-gradle - Gradle 插件
swift-android-samples - 測試 toolchain 的一些示例代碼
移植到 FreeBSD 平臺的工做主要由 Davide Italiano 管理,在開發了一段時間後,兩週前,他在 mailing list 上正式宣佈此移植項目。
若是你想試用一下,注意還需修復 FreeBSD 運行時的一個 bug,也就是 linker 只在 FreeBSD-CURRENT 可用。
這個移植項目剛剛開發完成,還須要更多反饋來才能完善,若是你想作出貢獻,最好的辦法就是加入 swift-dev mailing list 來進行討論,發佈新代碼後查看Davide的評論。
Windows 平臺的移植是由 Han Sangjin 來完成的,即便做爲最年輕的移植平臺,該項目也已經可以進行編譯,開發一個簡單的 Hello World 應用了。不過相似 REPL 的組件還沒不能使用。
在 GitHub 上一開始是 issue #1010,在重建了 Swift master 後,成爲 issue #1108,目前尚未併入 master。
Han 在這裏也提供了便捷的提早建立的二進制文件,在這裏你能夠追蹤到最新的開發狀態。
本文由 SwiftGG 翻譯組翻譯,已經得到做者翻譯受權,最新文章請訪問 http://swift.gg。