羽田
2016/11/01現在のsiwft3への対応状況を調べてみました。
swift3への移行を調査し始めた8月末では有名なswiftライブラリでも対応作業が完了しているのは少なかったのですが、2ヶ月経過して随分対応したライブラリが増えて来ています。
ライブラリ名 | 概要 | swift3対応状況 |
---|---|---|
Alamofire | swift用定番HTTP通信ライブラリ | ver.4.0よりswift3対応。iOS9以上対応。iOS8注意 |
SwiftyJSON | JSON用ライブラリ | ver.3.0.0よりswift3対応。 |
Swifter | Twitter関係 | swift3対応はされましたが、大幅に仕様変更あり。 |
・Alamofire
iOS8は切り捨てられたのですが、対応の必要がある場合はライブラリを少し改変して、一部機能をコメントアウトすれば運用できそうでした。
・SwiftyJSON
現在は特に問題ありません。
こちらで、9月中旬は未対応だったのが1週間後に正式対応された様子が……。
・Swifter
結構な修正対応が必要なようです。関連情報募集中。
ライブラリ名 | 概要 | swift3対応状況 |
---|---|---|
Snapkit | Autlayoutが簡単に | ver.3.0.0よりswift3対応。 |
RealmSwift | DB関係 | RealmSwift |
・Snapkit
現在は特に問題ありません。
・RealmSwift
swiftとObjective-Cを併用する場合は、Realm Objective-Cを使う必要あり。RealmSwiftはswiftオンリーで使えとの事。
言語バージョンの危険性がまだswiftには残るので、Objective-Cを選択する可能性が上がるとしたら、併用できないRealmSwiftは使わなくなるのでは?
まとめ
Swift3への対応は、9月に正式にリリースされてから皆がせーので対応を始め、なんとか有名どころのライブラリは動くようになって来たようです。とはいえ、少し便利そうで利用していた小さめのライブラリは放置されたままのものも多いようで、恐らくは対処されないでしょう。
今回のswift3への移行の影響が思った以上に大きかったのですが、swiftライブラリにこだわらずにObjective-Cを利用した場合は影響がもう少し減らせたのではないかという思いがあります。これから先、swiftで機能を実装する場合に、外部ライブラリをswiftとObjective-Cから選択できるとしたら、Objective-Cを選択したくなるようなバージョンアップでした。
ハダ
iOS/Android/Windows/Macなど各プラットフォームを手がけています。
前職は家庭用ゲームのプログラマでしたが、最近はスマホとPCでばかりゲームしています。