Swift 2.0
Swfit2.0のアプリがいよいよApp Storeに並ぶようになってきました。
Swift2の発表はわずかその3ヶ月前でしたね。
Swift2.0
2015年6月8日のWWDCでSwift2.0を発表しました。新バージョンではパフォーマンスがさらによくなり、新しいエラハンドリングAPIとOSのバージョンごとのAPI利用可否チェック対応が加わりました。APIプロットフォームでは、SwiftにあわせてアップルSDKの機能強化がされたように感じられるでしょう。
オープンソース
新機能以外の大きなニュースは、アップルが今年後半にSwiftをオープンソースにするということです。私たちはみな、この件にかなり興奮しています。オープンソースの公開が近づくにつれて詳細な情報を提供していくことを楽しみにしています。今は以下のことを伝えることができます。
- SwiftのソースコードはOSIが承認するpermissiveな(copyleftでない)ライセンスで公開されます。
- コミュニティからの貢献を受け入れることができるようになり、改良されていきます。
- ローンチ時にはOS X、iOS、Linuxのパッケージを提供する予定です。
- Swiftが各自が好むあらゆるプラットフォームの上で動くのは素晴らしいことだと考えています。
私たちの業界にとって、オープンソースSwiftが創りだす可能性にわくわくしています。組み込まれた安全性と優れたスピードの組み合わせのおかげで、Cベースの言語を使うことに対して、劇的にソフトウェアを改善する機会があります。Swiftはモダンな機能でいっぱいで書いていて楽しい言語です。だから多くの場所で使われていくことになると信じています。私たちにはエキサイティングな未来が待っています。
新機能
Swift2.0は新しい言語仕様や改良が多く含まれています。機能を詳細に知りたい場合はそれに関するブログ記事を参照してください。新機能についてとりあげているWWDCのセッションも確認してください。数点について以下に説明します。
エラーハンドリングモデル
Swift2.0での新しいエラーハンドリングモデルはおなじみのtry、throw、catchのキーワードがあり、すぐに普通だと感じるでしょう。何よりもまず、アップルSDKやNSErrorが完璧に動くように設計されているのです。実際、NSErrorはSwiftのErrorTypeに準拠しています。より多くを知るにはSwiftの最新情報をWWDCのセッションで確認してください。
APIの利用可否
最新のSDKを使うことで新機能やプラットフォームの変更に関する情報を知ることができます。しかし古いOSを使う必要があることがあります。その場合もSwiftはとても簡単で安全です。Swiftのコンパイラは使おうとしているAPIがターゲットとするOSでは新しすぎてサポートされていないときにはエラーを出力します。#availableブロックは正しいOSのときにだけ実行されるコードを安全に囲むことができます。
プロトコル拡張
Swiftはプロトコル志向開発を目指しています。WWDC2015ではそのことに関するセッションがあるほどです。Swfit2.0はプロトコル拡張を導入して、広く使えるように標準ライブラリにしました。これまでグローバル関数を使っているところで関数チェーンを自然にできるように、Swift2.0ではよく使用する型にいくつかのメソッドを追加しました。コード可読性がずっとよくなるはずです。
よりSwfitらしいSDK
Swfit2はObjective-Cの2つの新機能であるnullabilityアノテーションとジェネリックスのおかげで、アップルSDKをうまく組み込むことができます。nilを返すことがないAPIをアノテートするようにSDKが更新されたので、あまりoptionalを使う必要がなくなりました。SDKで採用されたジェネリクスではSwfit2のコード上でより詳細な型情報を引き渡すことができるようになっています。
さらに学ぶには
Swift2における新情報をかいつまんで説明しました。最新のSwift言語仕様(The Swift Programming Language)はiBooks Storeからダウンロードすることができます。WWDCのセッションをライブ放送やアーカイブ映像も参考になります。さらに知りたいい場合は https://developer.apple.com/swift/ にアクセスしてみてください。