必見の記事

[iOS][Mac] Swift を学べる記事のまとめ

2014.06.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Swift を学ぼう

弊社でも iOS エンジニアはもちろん、サーバーサイドのエンジニアや AWS エンジニアも Swift に興味津々です。Objective-C より読みやすく、モダンな書き方になっている反面、仕様を読み込んでみるとちょっと分かりづらいところもあったりします。

そこで、これまで Web で公開されている Swift について学べる記事を日本語の記事を中心にまとめてみました。今後も有益な情報が公開されたらガンガン追記していきます!

公式情報

一番有益な情報は間違いなく公式の情報です。

Xcode 6 から導入されたツール「Playground」で試しながら読んでいくことを想定して書かれているようです。Playground を使って挙動を確認しながら学ぶのが一番良いと思います。

概要

ざっくりと全体的な概要を知りたいときに参考になります。Swift について全く知らない人、または忙しい人はまずここを読みましょう。

他の言語との比較

Swift は他のモダンな言語をインスパイヤして考えられているところが多々あります。これまで他の言語で開発していた人は以下の記事を読むと取っ付きやすいかもしれません。

基本構文

Swift はコードが短くなるように、いろいろな書き方が用意されています。基本的な書き方をマスターし、スマートに実装できるようにしましょう。

文字・文字列型

文字列の操作が Objective-C のときと比べ物にならないほどシンプルになりました。難しいところは全く無いので、ざっと目を通しておきましょう。

配列などの集合型

Array や Dictionary を定義する方法や、中身を取り出す方法、または for ループさせる方法などがかなりシンプルになっています。

列挙型

列挙型も Objective-C から比べると強力になっており、柔軟に書くことができます。

クラス・ストラクチャ

Swift では、データを格納する目的でクラスとストラクチャというタイプがあります。

Optional

オブジェクトの型をセーフする目的で Optional という概念が導入されました。オブジェクトが空の場合に起こりうる諸問題が解決できるようです。この機能は Swift の基本でありながら、ちょっと分かりづらいところではあるので読んでおいたほうが良いと思います。

名前空間

Swift では名前空間(名前の衝突が起こらないように記述できる概念)のようなものを用いることができます。具体的には、NestedType を利用する方法とモジュールを利用する方法の2通りの方法で実現できるようです。

Subscript

Subscript は、要素に簡単にアクセスするための機能です。array["hoge"] 的な書き方を自分で作ることができます。

関数・クロージャ

Swift のクロージャはなかなか面白いです。

パターンマッチ

パターンマッチは、For 文や Switch 文などの中で変数の状態によって条件分岐を行いたいときに便利なモダンな書き方です。独自のマッチング機構も作ることができます。

ジェネリクス

Swift では、実装時に使う型を指定できるジェネリクスという機能が導入されました。Java 経験者は馴染み深いですね。

アクセス修飾子

Swift のアクセス修飾子には private, internal, public の3つがあります。それぞれ他の言語と意味合いが異なるので、以下の記事で理解して使いましょう。

Objective-C 連携・移行

Swift と Objective-C は共存できるため、Swift で開発した場合でも既存のリソースを活用することができます。

注意点

Swift でアプリを開発するときに気をつけておいたほうが良いポイントです。

実践記事

Swift で◯◯してみたという実践記事です。「書き方は覚えたけどなんかまだフワフワしてる」と感じている人は、実際にコーディングしてみると理解できるかも知れません。

Tips

テスト

アプリの開発

ゲームアプリの開発

開発環境

iOS SDKの利用

OSSの利用

OSS

早くもさまざまな Swift 製の OSS が公開されています。OSS については量も多いため、別途記事にてまとめました。ぜひご参照ください。

OSS については、Swift Toolbox という検索サイトもあります。こちらから探してみると良いかも知れません。

Swift Toolbox

ツール

Swift を使ったアプリ開発を支援するツールたちです。

URL 機能
toyamarinyon/vim-swift Vim のプラグイン。シンタックスハイライトなど。
darinmorrison/atom-language-swift Atom でシンタックスハイライトを表示するプラグイン。
tachiba/atom-execute-as-swift Atom 上で Swift コードを実行するプラグイン。
chrisbarrett/swift-mode Emacs でシンタックスハイライトを表示するプラグイン。
Swift-Sublime-Package Sublime Text 2, 3 用のプラグイン。
Carthage Swift 製 OSS のパッケージ管理ツール。

情報収集

Swift の技術情報を収集するためには、RSS リーダーに登録したりまとめサイトをチェックすると良いと思います。そしてやっぱり Qiita の情報量が圧倒的に多いです。

まとめ

まとめのまとめです。

書籍

これから Swift の勉強を始めるには、書籍を読んでまとまった知識を身に付けるのも良いと思います。

発売日 書籍タイトル 執筆者 出版社 形式 価格
2014年06月19日 先取り!Swift 諏訪 悠紀, 小室啓, 掛川敦史 技術評論社 電子書籍 ¥600

勉強会

早くも Swift 勉強会が各地で開催される(された)ようです。乗り遅れないためにも、ぜひ参加して情報共有しましょう!ちなみに筆者は6月25日の勉強会で LT するらしいです。

開催日まとめ

勉強会のレポート