Swiftで遊んだのでqiitaに残しておきます。
たくさん遊んだ跡なので、なにか恥ずかしいものを発見しても気にしないでください…
含有物
- UICollectionView
- AFNetworking
- DAPagesContainer
- JSONKit
#感想
Swiftはとても素直で使いやすいです。
RubyやJSとか好きだけどObjective-Cは文法がキモい、というWebな人(自分)にはすごく入りやすいと思いました。
なにしろ型宣言をせずとも変数を使えるし、allocとか書かずにnewをすることも出来ます。@も書かなくて良し、[]たくさん書かなくていい。(個人的には@が一番嫌いだった)
気になるのは互換性だと思うので、一応書いておきます。
iOS
まず、SwiftはiOS7開発出来ます。
iOS8専用の新言語じゃありません。
Objective-Cとの互換性
Objective-Cのオブジェクトは全てSwiftから使えます。(もちろんCocoaPodsも!)
AppName-Bridging-Header.h というヘッダーファイルを作り、ここにヘッダーをインクルードしていくだけで、全 .swiftから見えるようになります。(要ビルド設定)
Objective-Cオブジェクトは、何らかのブリッジを用意するなど余分なことは一切なしで、そのままSwiftから呼ぶことが出来ます。
インターフェースは一切変わらず同じです。initの仕方だけ少し違います。
平たく言えばObjective-Cでやっていたのと同じように呼べます。
Swiftの影響と、移行の状況について。
Swift自体は、いままでと根本は一切変わっておらず、構文が変わっただけであると感じました。(JS=>Coffeeみたいな)
Objective-CとSwiftの互換性は半端ないです。Apple本気過ぎます。
その構文も、Objective-Cっぽさを極端に削ぎ取った、現代仕様。
先ほども書いた通り、Webの人はもの凄くiOS開発に入りやすくなったと思います。
Web言語慣れてる人なら、見慣れた感じの構文になりました。
見慣れた風の構文で書ける/読めることは重要です。
今後は、Swiftにどんどん移行していくかな、と思いました。
互換性が高いレベルで保たれているため、移行は非常にスムーズです。
Objective-Cの資産が多い事業会社は難しいでしょうが、Objective-Cのサポートがどんどん薄くなるのは明白なので、年のスパンでは移行すると思います。
個人レベルでは、今すぐ移行する価値はあるように感じました。
問題があるならば、サードパーティのドキュメントとチュートリアルがまだ充実しておらず、コピペで使えるコードがありません。
適宜Objective-CのコードをSwiftに読み替える必要があります(違うのは書き方だけなので、書き方さえSwiftにしてあげれば動く)
見方を変えれば、書き方を変えるだけで動くコードが沢山あります。新言語特有の、リファレンスが全然ない><といったことはありません。
まあ、ドキュメント/リファレンス/チュートリアルが普及するのは、3ヶ月くらいが目処かなぁと思います。
他ならぬiOS(そしてApple手動)の言語変更なので、動きは速いかと。
つらつらと書きましたが、そんな感じです。