「Swift 2標準ガイドブック」はわかりやすくて盛りだくさんなSwift2文法書【レビュー、書評】
Swiftが2になってからいち早くリリースされた書籍「Swift 2標準ガイドブック」。
これは買いでしょ!と思っていたところ、モニター募集のお知らせを知り応募したところ運良く当選しちゃいました。\(^O^)/ ということで、ありがたーくレビューさせていただきます!
※この記事内の初級、中級、上級は個人的なイメージによる分類です。
「Swift 2標準ガイドブック」とは
「Swift 2標準ガイドブック」は、マイナビさんから出版されているSwiftの文法書です。いわゆるレファレンスですね。なので、Xcodeの使い方の説明(アプリの作り方の説明)はほとんどありません。
(ちなみに昨年の12月にSwift1.1ベースに書かれた書籍のSwift2.0版です。1.1ベースの方の書籍は私は持っていないので、違いは「guardとかdo-try-chatchとか増えた!」くらいしかわかりませんw)
Siwifの文法の解説書というと日本語の書籍では数種類しかないんですよね。その中でも有名なのが「詳解Swift」になると思います。本レビューでは詳解Swiftさんと比べて、という記述も出てくるので、詳解Swiftを読んだことがある人も参考になれば…と思います。
詳解Swiftは1.1ベース。2.xベースの改訂版は12月26日に発売予定です。
「Swift 2標準ガイドブック」のバージョン
本書の対応バージョンは以下の通りです。この記事を書いている現在はSwiftは2.1ですが、1.x時代のようなびっくりするような変更はないので大丈夫でしょう。
・Swift 2.0
・Xcode 7.0.1
「Swift 2標準ガイドブック」の装丁(外観)
まず中身以外の要素について、ちょっと触れておきたいです。
見てください!このジャケ買いしそうなかわいい表紙!(*´∇`*)
本屋さんで平積みされてたらSwiftやってなくても思わず手に取ってしまいそうです。
(って、この本、今電子書籍のみしか販売していないんですけどね)
アイロンビーズクリエイターのヌンちゃんの作品です。Swift愛を感じます。プログラミング系の技術書、特に文法書となるとイカツイデザインのものが多いですが、個人的にはかわいい方が嬉しいですし、上に書いたように手に取るハードルは下がるかなと。
●「Swift 2標準ガイドブック」の表紙をアイロンビーズでつくりました! – ぬんびりぶろぐ
中身はモノクロでシンプルなデザインです。見やすい(*´ー`*)
「Swift 2標準ガイドブック」特徴その1 平易な説明文
さて本題です!
「Swift 2標準ガイドブック」に目を通して私が思った1番の特徴はこれです!
「平易な説明文!」(」°ロ°)」
「Swift 2標準ガイドブック」は分かりやすい言い回しで説明文が書かれているので、プログラミング初学者にもかなり理解しやすいと思います。
これは、大きな特徴です。
先に挙げた詳解Swiftもとても良い本なのですが、初学者〜中級者の入り口に立ってる人には、自分の力で噛砕いて飲み込むのには時間がかかると思います。
もちろん「Swift 2標準ガイドブック」もプログラムを全くやったことがない、Swiftを始めたばかりの人が読んだら、謎ワードだらけで読み進めることは難しいですけど。
Swift文法の解説書としてはハードルが低めだと思います。
Swift 2で出てきたエラーハンドリング「do try chatch」早く使いこなせるようになりたい!w
カリー化!Haskell的なアレ。余談…初めて「カリー化」という言葉を知ったのはアプリ道場の人たちとの会話の中だったのですが、「仮烏賊」という謎のイカか暗号だと思いました( ꒪⌓꒪)。 ※イラストでの説明はあまりありません
「Swift 2標準ガイドブック」特徴その2 具体的なサンプルコードがたくさん
特徴その1に通ずる話なのですが、本書の次に大きな特徴は、
「具体的なサンプルコードが多く理解しやすい」(」°ロ°)」
です。
言語の文法やルールって、説明文だけだとわかりづらいものです。
そこで、どんな技術書でもサンプルコードは欠かせないものだと思います。
もちろん「Swift 2標準ガイドブック」でも、説明に即した具体的なサンプルコードが書かれています。が、「Swift 2標準ガイドブック」では、ちょっとした説明にもサンプルコード付いているので、「あぁ、こういうことね!」と理解しながら読み進めやすいと思います。
「一を聞いて十を知る」くらいの頭や知識や経験がある人には、回りくどいサンプルコードかもしれませんが、読み手の理解を助けるコードとしてとても良いと感じました!
guardはもうみんな使っているよね?(●´ω`●)
Swiftのswitchは強力。活かすためにはパターンマッチングを知るの大事!(`・ω・´)ノ
その他の特徴
「Swift 2標準ガイドブック」文法書なんですが、それ以外の項目も多めです。
例えば〜
5章目ではAppleの標準ライブラリについて書かれていたり、7章目ではSwiftベースでObjective-Cを使う方法やその逆、またObjective-CからSwiftへの移行の実践編はObjective-Cでアプリを作ってきた人には役に立つところもあるのではないでしょうか。(とかいう、私も最初のアプリはObjective-Cで作ったんですよねぇ…書き換えるよりも、2として全く新しくSwiftで書こうかなぁ…と思う。)
最終章は、テストやデザインパターンのお話まであります。
盛りだくさんです。(๑´ㅂ`๑)
この盛りだくさんな内容を良しとするかは、読み手によって評価が分かれるところかもしれませんね。(このページ数なら文法だけをもっと知りたいと思う人もいるかも?ということです)
「Swift 2標準ガイドブック」は幅広くいろいろなにオススメ
iOS(iPhoneやiPad)のアプリ作りはXcodeの進化によりかなりハードルが下がり、内容によってはレファレンスを全く見ないでアプリリリースにこぎつけることもできます。
ですが、その言語でプログラミングをしていくなら、言語の文法書は目を通しておきたいものです。
(Appleが提供しているdocumentが一番いいかもしれませんが、書籍は日本語でまとまって読めて解説してもらえて、私のような人間にはありがたいですー。)
この「Swift 2標準ガイドブック」を読んでいて強く思ったのが、
「初学者が中級者にステップアップするために最適な1冊!」(`・ω・´+) キリッ
ではないか、ということ。
プログラミングを始めたばかりの人が齧るにはかなり固い本ですが、理解できそうな項目から少しずつ攻めていけばいいでしょう。
もちろん、中級以上の人が基礎固めや確認作業をするのにもオススメですし、 他の言語をある程度やっている人がSwift 2について知りたい!なんて場合もオススメ(*´∇`*)
現時点でSwift 2系の言語の解説書はこれしかないので、これ一択とも言えるんですが、「オレは1冊でSwiftの全てを厳密に知りたい」という上級者さんは上に挙げた詳解Swiftの改訂版の発売を待つのが良いかもしれませんね。
かなり深めの文法書で初学者も頑張れば読める、というのはポイント高いですよ。Swiftでプログラミングを始めたばかりの人には難しいですが、いつかはこの本を読むところまで行って欲しいなと思います。ヽ(‘ヮ’*)ゝ
出版記念キャンペーンにより、11月24日までは通常価格3,769円のところ3,015円で発売中だそうです。
セールをしているのは、マイナビブックス、Amazon Kindle、達人出版会。
マイナビブックス
https://book.mynavi.jp/ec/products/detail/id=44247
達人出版会
http://tatsu-zine.com/books/swift2-hyojyun-guide
いやぁ、この内容で3000円程度とかお得!
Amazonだと更にポイントつくから2400円くらいとか。(*゚Д゚*)
「Swift 2標準ガイドブック」目次
Chapter 01 Swiftの概要
1-1 Swiftとは1-2 開発環境
1-3 PlaygroundとREPL
Chapter 02 基本文法
2-1 基本文法と変数2-2 数値リテラルと演算子
2-3 制御構文
2-4 文字列操作
2-5 区間・配列・辞書
2-6 エラーハンドリング
Chapter 03 関数とクラス
3-1 関数定義と呼び出し3-2 クロージャ
3-3 クラス・構造体・列挙体
3-4 プロトコルとエクステンション
3-5 ジェネリック
3-6 カリー化
3-7 switchでのマッチング
Chapter 04 オプショナル型
4-1 Objective-Cにおけるnil4-2 Optional型
4-3 Implicitly Unwrapped Optional型
4-4 Optional Chaining
Chapter 05 標準ライブラリの利用
5-1 Foundation5-2 UIKit
5-3 KVCとKVO
5-4 Core Data
Chapter 06 予約語とアトリビュート
6-1 予約語6-2 アトリビュート
Chapter 07 Objective-Cとの相互利用
7-1 SwiftからObjective-Cのコードを利用7-2 Objective-CからSwiftのコードを利用
7-3 Swiftへの移行
7-4 Swiftへの移行(実践編)
Chapter 08 実践と応用
8-1 テスト8-2 ブリッジによる拡張
8-3 ライブラリ紹介
8-4 デザインパターン