『Swift実践入門 ──直感的な文法と安全性を兼ね備えた言語』
(2017年2月、技術評論社)より転載
本書は、Swiftの言語仕様と実践的な利用方法を解説した入門書です。ほかの言語の経験はあるがSwiftの経験はない方や、Swiftの知識をより深めたい方を対象としています。
Swiftは、iOS、macOS向けアプリケーションの開発言語として2014年に登場しました。現在では、以前の開発言語であるObjective-Cからの移行は着実に進んでおり、これからiOS、macOS向けアプリケーションを開発するのであれば、開発言語にはSwiftを選択するべきです。また、2015年12月のオープンソース化と同時にLinuxのサポートを開始し、今後はより広い範囲での利用が予想されます。
Swiftの最大の特徴は安全性です。バグを招きやすいあいまいな記述は許されず、多くのプログラムの誤りは実行前に検出されます。安全性に次ぐ特徴は、高い表現力です。モダンな言語が持つ先進的な機能を取り入れながらも、それらを直感的に利用できるようにデザインされています。
Swiftは簡潔な言語ですが、その言語仕様を理解し、正しく使うことはけっして容易ではありません。Appleの公式ドキュメントをはじめとして、どんな(what)言語仕様があり、それらをどのように(how)使うかに関しては豊富な情報源があります。しかし、それらがなぜ(why)存在し、いつ(when)使うべきかについてまとまった情報があるとは言えません。本書は、読者のみなさんの「なぜ」や「いつ」を解消することにも主眼を置いています。
本書では、はじめにSwiftの標準的な機能を一通り解説し、続いて型の設計指針や非同期処理、エラー処理などの実装パターンを説明します。最後に、実践的なSwiftアプリケーションの開発を通じて、それまでに説明した機能と実装パターンの具体的な活用方法を示します。
本書が対象とするバージョンはSwift 3です。また、説明に使用する開発環境はXcode 8です。執筆時点での両者の最新バージョンはSwift 3.0.1とXcode 8.1です。
2017年1月 石川 洋資、西山 勇世
謝辞
本書の執筆にあたり、多くの方に助けていただきました。
レビューに参加していただいた岸川克己さん、池田翔さん、三木康暉さんには、本書全体に渡って技術的ミスや不明瞭な箇所をご指摘いただきました。レビュアーのみなさんのおかげで、混乱しやすい箇所を最小限にとどめることができたと思います。本当にありがとうございました。
また、編集者の稲尾尚徳さんには、執筆の機会をくださったこと、思うように筆が進まない著者2人を根気強くリードしてくださったことに感謝しています。稲尾さんがいなければ、本書を書き上げることはできなかったと思います。
すばらしい言語を開発したSwiftの開発チーム、そして言語の特性を活かすプラクティスを磨き上げてきたSwiftコミュニティのみなさんに感謝します。本書を通じて、少しでもコミュニティに還元できれば幸いです。
石川 洋資
クックパッド株式会社のすばらしいメンバーに感謝します。日々のディスカッションから多くの着想を得ることができました。
また、妻の真理子のサポートがなければ、本書を完遂することはできませんでした。いつも、本当にありがとう。出版直前に生まれた娘の友理佳にも感謝します。君の誕生を心待ちにする気持ちが、執筆の糧になりました。
西山 勇世