Swift 2.0 (翻譯文)
今天在WWDC,我們發佈了Swift 2.0,這個新版本裡面有更好的效能,新的錯誤處理API,對可用性確認(availability checking)有最好的支援,平台上的API也顯得更自然了,強化了Apple的SDKs。Open Source
除了這些新的特色以外,最大的消息就是Apple決定今年將Swift開放原始碼,對這件事我們整個就是超興奮的,而且期待可以給你們更多的資訊,在這Swift 即將開放的日子越來越近的時候,以下是我們目前當下可以先告訴你的
- Swift 的程式碼將會被開放,使用OSI-approved permissive license。
- 將會接受來自社群的貢獻,而且鼓勵這麼做。
- 在今天中餐的時候,我們打算先貢獻一部分給 OS X, iOS 和 Linux。
- 原始碼將包含 Swift 編譯器以及標準函式庫
- 我們認為你將會感到很驚訝,Swiftc 會成為你所有喜愛的平台其中之一。
我們感到很興奮能有這個機會為我們企業創造一個開放原始碼 Swift。發展出一個有出色的速度的安全功能,意味著它很有機會戲劇性的改善軟體抗拒使用基於C的語言的狀況。Swift塞滿了一些現代的特性,寫起來很有趣,我們相信他將會被使用在很多地方。一起吧!我們前面有條很精采的路。
新功能
Swift 2.0也包含了很多新語言的特色和優雅。預計你看Blog的文章的時候,會在功能上有更深入的討論,能確定的是在這週你所關注的WWDC的議程會涵蓋這些主題。
Error Handling model: 在Swift 2.0上的錯誤處理模組,你會感受到很自然, 有熟悉的 try, throw 和 catch 這些關鍵字。而且更好的是,它被設計成和Apple SDK 和 NSError 運作的更完美。事實上, NSError 遵守Swift 的 ErrorType。你一定會想來WWDC的議程聽到更多關於Swift的新東西。
Availably: 使用最新一版的SDK保證可以讓你使用新的功能,取得更多關於平台改變的資訊。但是有時候,你還是需要去處理舊的 OS,不過 Swift 將這件事弄的更容易也更安全。當你使用了對你的目標OS太新的API, Swift 的編輯器會跳出錯誤,而且用 #availably 區塊將安全的包住那幾行程式碼去跑在對的版本的OS。
Protocol extensions: Swift 非常注重協定導向的發展 -- 在2015 WWDC上甚至有一個議題關於這個主題。 Swift 2.0加上了協定延伸 (Protocol extensions),而且標準函式庫也非常廣泛的使用它們。 當你習慣於使用全域函式, Swift 2.0 加了方法當做一般型態,所以函式鏈(function chain) 很自然,你的程式碼也會看起來很好讀。
Swift-er SDK: 配合Apple SDK, Swift 可以運作的更好,要感謝兩個在 Objective-C 的新功能,nullability annotations 和 generics。 SDKs 已經上傳來標註 API不能回傳 nil ,所以你不需要常常去使用 optional。在你的Swift 2.0 程式碼中,一個真正利用SDK做出來的系統,你們可以保存更多細部的形態資訊。