Swift 語言正式開始布局 Server-Side 戰略

作者:圖拉鼎
來源:知乎

簡單地說,Swift 官方成立了一個 Server APIs Work Group,這個小組的目標是在當前 Swift 的基礎上,做一套純 Swift 的、跨平臺的、專門面向 Server 的底層庫,提供給 Web Framework/Backend 的開發人員使用。也就是說,Swift 官方攜手社區,正式進軍 Sever-Side 開發領域了。

Server APIs 的由來

話說 Swift 從誕生之初就定目標為一個通用的編程語言,到了不久前 Swift 3.0 正式發布,不僅已經正式支持了 Linux 平臺,社區和企業也萌現了一堆 Web 相關的架構,比如 IBM 的 Kitura、創業公司 Perfect,來自社區的 Vapor 和 Zewo??梢運嫡飧鏨丫ソテ鵠戳?,盡管還比較早期和稚嫩。那么 Swift 官方成立 Server APIs Work Group 的意義是什么呢?在我看來,就是起到「催化劑」作用。

如果你研究過當下 Kitura, Vapor, Zewo 等基于 Swift 開發的 Web 框架,就會發現他們各種去實現或者包裝了一堆非常底層或者常用的庫:底至 HTTP 協議、WebSocket、SSL,高至 JSON、XML 的解析。這是因為 Swift 的標準庫 Foundation 只提供了最基礎的諸如 Array、Dictionary、Set 等數據結構等東西,并沒有更多了(Swift 有 JSON/XML 解析,但是接口不好用)??梢運檔諶交撕芏嗍奔淙プ雋艘歡言居Ω檬怯镅員曜伎庥Ω冒ǖ畝?,而且各種框架間因為開發理念的不同,很多東西各自實現,浪費了資源。

所以,官方 Server APIs Work Group 的出現,正是來解決這個問題,幫助第三方能更 focus 在他們的領域,而不是去實現應該是由官方做的事情上。我覺得官方在這個點上宣布做這件事情很合適,Swift 3.0 剛剛發布,這個語言特性差不多算穩定了,盡管 Swift 4.0 還會有很大變化,但不至于會有很大的源碼級別的 Break 了。此時補充標準庫 Foundation 的不足,達到「催化」原本就已經發展起來的生態圈的效果。

Apple 的開放性

這次宣布,讓我比較贊賞的一點是,Swift 官方繼續以非??諾奶壤醋穌餳慮?,Server APIs Work Group 的 Steering Team 共四名成員,分別來自 Apple、IBM、Vapor 項目、Zewo 項目,公司和社區各占半壁江山。

可以說,自 Apple 宣布 Swift 開源以來以及之后的連續動作,Apple 作為一家軟件公司已經習慣以開放的姿態來面對全球開發者了。當然這是時下趨勢,Microsoft 也是大型開源公司了呢???開放已經不稀奇,重要的是維護好開發者關系以及營造更好社區的氛圍。相信搞了這么多屆的 WWDC 的 Apple 能做好這件事情。

背后的 IBM 力量

既然前面提到了 IBM,不得不好好地擴展一下。相信大家最近都聽到過 IBM 把企業內的機器大量更換成 Mac 的事情了吧?而這次 Swift 官方上宣布 Server APIs Work Group 的文章的作者,也是 IBM 的人寫的。根據介紹,Chris Bailey 是來自 IBM 的,同時有 Java、Node.js 背景。

可以說,自從 IBM 與 Apple 達成企業級戰略合作后,真的不僅僅是一個 PR,非常多的合作相繼展開了。這次 Server APIs Work Group 的成立,與其說是 Apple 主導的,不如說是 IBM 主導的。畢竟在 Server-side 下注 Swift 并且投入大量資源的,不是 Apple,正是 IBM。

看看 [email protected] 這個 Blog,就知道 IBM 已經做了多少工作了。

背后的社區力量

光有企業級支撐可能還不夠,社區的力量也很重要。不過目前來看基本不用擔心這點。在 Swift 還極不成熟的時候,Zewo、Vapor、Perfect 等等都冒出來了,現在有官方配合社區來做這件事情,這就是給這個社區投入了新的希望,相信力量會進一步加大。

期望

好了,分析到些,我已經在我的微博上看到「大 Swift 就要一統天下了」這樣的言論了老實說,我在幾年前看到過類似的比如「大 JavaScript 就要一統天下了」的說法,JavaScript 好像真的離一統天下越來越近了呢。像我們寫 Cilent-side 的人,看到自己慣用或喜歡的語言就要面向 Server-side,自然是一件欣喜的事情,在前后端項目中能用一個語言甚至共享代碼,也是 Node/JavaScript 社區實踐了好多年的事情。

Swift 未來到底會發展的怎么樣,可以預見的是肯定會越來越好,最終也能讓開發者開開心心地在前后端只用它來做成一件事情。我敢說肯定不能和 JavaScript 去比,Swift 在 Server-side 真正可以類比的,應該就是 Go、Rust 等社區了。過個一兩年,Swift 的 Server-side 力量應該會更成熟,當前的框架應該也能滿足日常需求了吧。相比之下,只能用在 Client-side 的 Objective-C 就真的會被 Swift 慢慢蓋過去了…

關于具體的計劃,官方說是 Server APIs 這個項目不會與具體的 Swift 版本綁定,而是會按照自己的步調去進化至「成熟」。作為獨立于語言的附加庫,這也是它應有的發展模式。按照蘋果的發布節奏,一年應該會達到一個里程碑了吧?所以,期望 Swift 4.0 發布的時候,無論是這個語言本身(ABI 穩定還有更多特性被開發),還是生態圈(Cilent/Server),都達到足夠完備,不僅可以開發 Client,也可以開發 Server 了。

總結

寫到這里,這對 Swift 語言是除了開源以外又一件里程碑意義的事情,不過對于目標為「通用語言」的它來說,這也是必要不可或缺的一步。就像 Swift 開源一樣,當時讓人覺得激動,事后想想也是正常的,現在還有啥主流語言不開源的呢?

所以,能不能把這件事情做好才是最關鍵的,就像 Swift 開源一年下來,確實是吸收了大量外部的意見在改進這門語言。這次 Server APIs 的工作,希望也能做得更好吧。

一年兩年后再來回顧,希望一切如期望般進行吧~


上一篇: iOS 10.3即將登場,期盼已久的「黑暗模式」真的要來了?

下一篇: 一個資深iOS開發者對于React Native的看法

分享到: 更多
如何在网上开彩票投注站 江苏快三计划软件百分百中奖 赌场龙虎可以作弊吗 赛车pk10官网开奖记录 必赢客软件是骗局揭秘 通比牛牛手机版安卓 江苏时时开奖号96期 幸运飞铤计划软件 天天棋牌送20元 双色球30期走势表 扑克牌三公怎么比大小 福建福老时时 下期平码一肖规律公式 赛车北京pk10官网冷热 中博彩票是违法的吗 时时彩龙虎合怎么稳赢