[iOS][Mac] Swift を学べる記事のまとめ
Swift を学ぼう
弊社でも iOS エンジニアはもちろん、サーバーサイドのエンジニアや AWS エンジニアも Swift に興味津々です。Objective-C より読みやすく、モダンな書き方になっている反面、仕様を読み込んでみるとちょっと分かりづらいところもあったりします。
そこで、これまで Web で公開されている Swift について学べる記事を日本語の記事を中心にまとめてみました。今後も有益な情報が公開されたらガンガン追記していきます!
公式情報
一番有益な情報は間違いなく公式の情報です。
Xcode 6 beta の Playground で試しながら読んでいくことを想定して書かれているようです。Playground を使って挙動を確認しながら学ぶのが一番良いと思います。
- Swift Programming Language | Apple Developer
- The Swift Programming Language | iOS Developer Library — Pre-Release
- Using Swift with Cocoa and Objective-C | iOS Developer Library — Pre-Release
概要
ざっくりと全体的な概要を知りたいときに参考になります。Swift について全く知らない人、または忙しい人はまずここを読みましょう。
- アップルの新言語「Swift」--押さえておくべき10のポイント | ZDNet Japan
- 新しいプログラミング言語 Swift | Developers.IO
- iOS8 で採用されるSwift言語オーバービュー | Swift言語ブログ
- Swift ファーストインプレッション | mizchi's blog
- Swiftに関するメモ | Qiita
- Swiftに関するメモ その2 | Qiita
- Swiftに関するメモ その3 - プロパティの監視・メソッドなど | Qiita
他の言語との比較
Swift は他のモダンな言語をインスパイヤして考えられているところが多々あります。これまで他の言語で開発していた人は以下の記事を読むと取っ付きやすいかもしれません。
基本的な書き方
Swift はコードが短くなるように、いろいろな書き方が用意されています。基本的な書き方をマスターし、スマートに実装できるようにしましょう。
- The Swift Programming Language - The Basics をまとめる | Qiita
- The Swift Programming Language - Basic Operators(基本演算子) をまとめる | Qiita
- Swift言語の入門 (1) 変数編 | Swift言語ブログ
- Swift Cheat Sheet
文字・文字列型
文字列の操作が Objective-C のときと比べ物にならないほどシンプルになりました。難しいところは全く無いので、ざっと目を通しておきましょう。
配列などの集合型
Array や Dictionary を定義する方法や、中身を取り出す方法、または for ループさせる方法などがかなりシンプルになっています。
- Swift言語の入門 (3) コレクション編 | Swift言語ブログ
- Swift で空の Array の生成方法色々 | Qiita
- The Swift Programming Language - Collection Types(集合型、Array とか Dictionary)をまとめる | Qiita
列挙型
列挙型も Objective-C から比べると強力になっており、柔軟に書くことができます。
クラス・構造体
Swift では、class の他に struct という構造体の定義が追加されました。
Optional
オブジェクトの型をセーフする目的で Optional という概念が導入されました。オブジェクトが空の場合に起こりうる諸問題が解決できるようです。この機能は Swift の基本でありながら、ちょっと分かりづらいところではあるので読んでおいたほうが良いと思います。
- [Swift] 「!」、「?」マーク(Optional)についてのメモ | Qiita
- Swiftの「?」とか「!」などのOptional Valueの挙動を調べてみた | Qiita
- Optional の ? と ! の違い | Qiita
- [Swift] OptionalValueの便利さ /「?」と「!」でより堅牢なコードへ | Qiita
Subscript
Subscript は、要素に簡単にアクセスするための機能です。array["hoge"] 的な書き方を自分で作ることができます。
関数
Swift のクロージャはなかなか面白いです。
パターンマッチ
パターンマッチは、For 文や Switch 文などの中で変数の状態によって条件分岐を行いたいときに便利なモダンな書き方です。独自のマッチング機構も作ることができます。
Objective-C 連携・移行
Swift と Objective-C は共存できるので、Objective-C から乗り換えないメリットはないと思います。いままで Objective-C で開発していた人向けですね。
実践記事
Swift でアプリを作ってみたという実践記事です。「書き方は覚えたけどなんかまだフワフワしてる」と感じている人は、実際に Swift でアプリを実装してみると理解できるかも知れません。
- SwiftのRSS Readerを100行で作ったよ | Qiita
- SwiftでUIViewController+UITableView | Qiita
- SwiftでUIWebViewを使ってみる | Qiita
- swiftでtwitterアプリを作ったときにハマったこと | Qiita
- fullstackio/FlappySwift | GitHub
- gscalzo/FlappySwift | GitHub
情報収集
Swift の技術情報を収集するためには、RSS リーダーに登録したりまとめサイトをチェックすると良いと思います。そしてやっぱり Qiita の情報量が圧倒的に多いです。
- Swift に関する新着投稿 | Qiita
- #swiftの検索結果 | Twitter
- みんな初心者!新言語「Swift」関連情報を最速で収集するたった1つの方法 | Vingow 開発チームブログ
- ライバルに差をつけるための「Swift」情報総まとめ | ソフトアンテナブログ
勉強会
早くも Swift 勉強会が各地で開催される(された)ようです。乗り遅れないためにも、ぜひ参加して情報共有しましょう!ちなみに筆者は25日の勉強会で LT するらしいです。
日時 | 勉強会の名前 | 場所 | 参加費 |
---|---|---|---|
2014年06月06日(金) 19:00 - 21:00 | すいすいSwift勉強会 | 株式会社コノル (新宿) | 無料 |
2014年06月12日(木) 19:00 - 21:00 | 第0回 Swiftもくもく勉強会@Retty | Retty株式会社 (東京都渋谷区広尾) | 無料、もしくは会場払い |
2014年06月16日(月) 19:30 - 22:00 | 【増員150名‼︎】【#techbuzz】第1回Swift勉強会 〜 LT: iBooksざっくり読んだ感想 他 〜 | TechBuzzSpace (新宿) | 無料、もしくは会場払い |
2014年06月22日(日) 11:00 - 18:00 | #L_Semi Swift勉強会 | ガーデン | 無料 |
2014年06月25日(水) 19:00 - 21:00 | 第1回 Swift LT会 | 東京ミッドタウン ヤフー本社 (六本木) | 無料、もしくは会場払い |