Appleがモバイルおよびサーバー向けプログラミング言語の最新バージョン、Swift 2.2をリリースした。これはApple社外のコントリビューター212名を含むオープンソース開発者がコントリビュートした、最初のSwift公式リリースになる。その一部はタイポであり、AppleがSwiftをオープンソースでリリースして数日のうちにコントリビュートされた。Swiftを率いるChris Lattner氏はこう述べている。
uSwiftのコメントとテストスイートは、業界で一番、正しく綴られ、正しくインデントされたものになるだろう!
・Chris Lattner (@clattner_llvm) 2015年12月5日
今回のリリースにはSwiftのEvolution Processに従って行われた多数の機能強化も含まれており、Apple社外のコントリビューターが提案したものもある。
- SE-0001: (大部分の)キーワードを引数ラベルに使えるように
- SE-0015: タプル比較演算子
- SE-0014:
AnySequence.init
に制約追加 - SE-0011: 関連型宣言のためのキーワードを
typealias
からassociatedtype
に変更 - SE-0021: 引数ラベル付きの関数ネーミング
- SE-0022: メソッドのObjective-Cセレクタの参照
- SE-0020: Swift言語バージョンによるビルドコンフィグレーション
Swiftプロジェクトは拡大し、これまで優れた作業をしてきた人たちのために、リポジトリに直接コミットできるようになっている。
Swift 2.2は公開されたAppleのXcode 7.3リリースにも含まれている。この公式リリースは、Swift 2.2を使ったiOSアプリケーションがAppleStoreに提出できることを意味している。Linuxビルドには、Ubuntu 14.04と15.10用の公式バイナリが利用できる。しかし、Linuxポートはまだ完全ではない。標準のSwiftコアライブラリにある多数のコンポーネントが欠けており、今年後半のSwift 3で登場する予定だ。IBM Swift sandboxは現在、Swift 3.0の開発ビルドで動いているが、Swift 2.2オプションも近い将来追加されるかもしれない。
Swift Package Managerの開発は進行中であり、まだ公式ビルドの一部ではない。これもSwift 3.0でのリリースが予定されている。
Swift Programming Language ePubのアップデート版とHTMLバージョンがAppleのサイトで入手できる。
Swift 2.2での変更点
Swift 2.2には多数の変更点があり、以前のバージョンで書かれたソースコードに影響を及ぼすだろう。これには以下のようなものがある。
- Cスタイルの
for
ループならびに、インクリメント(++)・デクリメント(--)演算子の削除 - 関数はもはやカリー化された引数を直接とるよう定義できなくなる。代わりに、オペレータを1つとる関数を返す。
- Objective-Cのセレクタは、
Selector("doSomething")
の代わりに#selector(doSomething)
を使って参照できるようになり、コンパイル時にチェックされる。 - ほとんどのキーワードが引数ラベルとして使える。
- 付属型(もしくは関連型)をプロトコルに関係づけて、プロトコルを採用したクラスにジェネリクスを持てるようになる。
言語に関するドキュメントには、これまでおそらく明確ではなかったARC(Automatic Reference Counting)の説明も含まれている。
Swift 2.2はSwiftのウェブサイトからダウンロードできる。
Rate this Article
- Editor Review
- Chief Editor Action