Apple在2015 WWDC發表了Swift語言的2.0版,並宣布在今年年底以開源形式釋出,除了原有iOS和OS X環境外,將支援Linux環境。Apple在官網上解釋開源原因,希望能讓Swift在所有平臺上運作,未來將積極鼓勵,接受來自開源社群貢獻的Swift程式碼。

Apple軟體工程資深副總裁Craig Federighi在WWDC的Keynote上表示,Apple目前計畫年底前開源釋出Swift編譯器以及Swift的標準函式庫。未來開發者可以在Linux、OS X及iOS上編譯用Swift開發的程式碼。

在2014年的WWDC,Apple首次發表了用來開發OS X及iOS App的Swift語言,這是一個類似直譯式腳本語言的開發語言,可使用Cocoa及Cocoa Touch開發框架來開發。Swift強調簡潔、有趣、安全與快速的程式語言,目的是取代過去開發Mac及iOS裝置的主要語言Objective-C。Objective-C是以C語言為基礎的程式語言,由於歷史悠久,以致於不能使用較新程式語言提供的程式設計方法。

Swift可以把程式碼直接編譯為機器語言,如同較為現代的Google的Go語言及Mozilla的Rust語言。不同於Java或C#的高階程式語言,必須先透過編譯器,將這類高階語言編譯成虛擬機器語言,最後再透過虛擬機器,把虛擬機器語言解譯為機器語言。而外界普遍看好Swift語言原因是它不只具備了編譯式語言的效能,也兼備了腳本語言的簡潔與互動等特性。

Apple在官網上表示,新版Swift除了改善效能外,也新增了包括錯誤處理模型(Error Handling Model)、可用性檢查支援及協定擴充機制(Protocol Extensions)等功能。

Swift 2.0中新的除錯處理模型中使用了在Java、C#中開發者很熟悉的try、throw及catch語法,可供開發者無痛轉移到Swift,更快上手利用Swift來執行例外處理。Apple也表示,此功能將可支援Apple SDK及NSError物件。另外也新增了可用性檢查,新版SDK可以確保開發者隨時取得平臺異動資訊及新功能。不過,遇到不支援最新API的舊版本作業系統,Swift編譯器就會顯示錯誤。開發者可以使用#available指令,來檢查程式碼是否相容於目前的作業系統版本。

另一個新版特色是協定擴充機制,Apple表示,可利用此機制來擴充標準函式庫。例如可在全域函數(Global functioins)處,對通用類型(Common types)擴充新的方法(method),來提高程式碼的可讀性。

蘋果宣布開源釋出Swift也大受開源開發者的支持,在知名論壇Hacker News引起廣大討論,多數認為儘管蘋果開源動作太慢,但仍比沒有開源有很大的進展。


Advertisement

更多 iThome相關內容