[Swift] iPhone アプリ開発 入門ノートを読んだ
2017-01-03 | カテゴリ >> 技術書レビュー

2016年の春くらいからSwift2の勉強をし始めたんですが、3年前にObjective-Cの勉強に使ったのが「Objective-C iPhoneアプリ開発 入門ノート」だったんですが、それのSwift2-3版です。
iPhoneアプリ開発入門ノート以外にも当時2冊くらい舐めたんですが、個人的にこれが一番フィットしてたので今回もこのシリーズにしました。
Objective-C版の入門ノートのレビュー

余談ですが、すっごいチビチビと学習を進めていったので、途中でSwift3がリリースされて、(入門ノートの)Swift3版も発売されてしまって、
結局2冊入手しました。orz
(Swift3の方はそんなにじっくり読んでないので、リファレンス用に持っているレベル)

で、読み終わってみてやっぱりいい本だったな と思ったのでエントリです。

このシリーズの何がいいのか?

Objective-Cの時も思ったんですが、iPhoneアプリを開発する上で必要となる最低限の知識が一通り網羅されてる点だと思います。
Swiftの文法的なものから、クラスやメソッドの振る舞いを一通り学習してXcodeの数多あるボタン(?)や機能についても触れています。自分は今回、ObjectiveCで一本アプリを作って以降めっきり触れていなかったので、最初から思い出す感覚で一通りやってみました。

本の構成は大きく前半が文法的なパート、後半がアプリを実装する上で必要になる独自クラスなどを使った開発チュートリアル、みたいな流れになっています。

正直、全くプログラムを書いた事の無い人だと前半の文法の箇所が長すぎて(そして、タプルとかオプショナルとかが何のために存在してるのか理解できずに)すぐ嫌になると思うのですが、少しプログラミングの経験のある人だとサクサク理解が進み捗ると思います。
そして、あまりマニアックすぎてもいないので、きっちりと半分以下のページ数に抑えられている点もすごい良いところであったりもします。
(と、言いつつ この本て600ページ以上あるんで、そんなに短くもないかww)

後半のチュートリアルですが、こちらは標準的なiPhoneアプリによく出てくるViewの部品(TableViewとか、SegmentedControlとかとか)の使い方をチュートリアル形式で学んでいく格好です。
ちゃんと最初はXcodeの画面の説明から入り、どのパネルにどういった部品が配置されていて、どこをいじると画面がどう変わるか根絶丁寧に説明されています。
また、学習を進めていく上でその辺の説明の最低限必要なところがちゃんと網羅されている感じ。
ある意味最初の方のチュートリアルは全部やらないと、初心者にとっては訳がわからなくなるので、効率性はあまり無いです。ただ、どんなアプリを作りたいにしても、どういうクラスが提供されているのか一通り網羅しておいても損は無いと思うので、自分は全部のチュートリアルをやってみました。

チュートリアルのパートでもう一つ個人的に嬉しいのが、StoryBoardを使わないで実装する方法もけっこう掲載されている点です。
初めてアプリを作り出した頃は思いませんでしたが、やっぱり動的にボタンを配置したり出したり消したりしたくなる事は多々あると思います。 チュートリアルでは全部が全部StoryBoardでパーツをドラッグして実装していく方法だけじゃなく、いくつかはコードだけで画面に配置する方法も紹介されているので、自分で応用して他のクラスも含めてコードだけで実装していく事もできました。

Swift3になって

ちょっと話が脱線するんですが、Swift3になって大分標準で用意されているメソッド名とかが直感的に読みやすくなったり、無駄が排除されて良い感じですね。
中には「え、これ変更した意味あるの?」みたいなものもあったり、どうせXcodeの補完でやってくれるし みたいな長いメソッドが読みやすくなったりとかもありますが、コード全体を俯瞰して見た時にスッキリするし、私みたいな情弱な人間にはありがたい進化です。

もっと書いてほしかった所

この本を読めば、ぶっちゃけあとはネットで検索しつつ書かれていない知識を補いながら大抵のアプリは開発できると思います(ゲームとか除く)。
ただ、できれば本できっちり勉強したかったなと思う分野(?)があります。Constraintsです。

私がただの情弱なだけかもしれないんですが、もう本当に慣れるまで大変、、、 というか未だに全然慣れないですw

ほとんどのチュートリアルは、やりながら上手く動かなかったり、エラーが表示されてビルドが失敗したとしてもサンプルコードと見比べて
「あ、ここの文法違う」とか「あ、この記号抜けてた」とか自己解決が容易ですが、ConstraintsってXcode上の思わぬ設定値がちょっとでも違ってて全然狙い通りのレイアウトにならなかったりしませんか?(同意を求めてしまったw)

もちろん本の中でConstraintsを学ぶセクションはいくつもあって、必要最低限の事は抑えることができるんですが
・複数の部品を配置する場合でのConstraints
・UIScrollViewの中でのConstraintsの設定
とかになった瞬間、超絶ハマりました。
Constraintsの対象をどうやって変えるのか知らなかったのと、ScrollView内で親Viewよりも広い領域を扱えるようになっていて思考停止したりと、Constraintsは初心者の行く手を阻む大きな壁と感じています。

もちろん検索しまくってなんとかなんとか学習は進める事ができましたが、一度色んなケースを体系的に勉強しておきたいなって思った次第であります。
(けど、ネットのプログラミング学習サイトでもいいケーススタディが中々ないですよね・・)

まとめ

・プログラムを書いたことのある人がこれからSwiftを勉強するなら、もうこの本一択だと思う。
・毎年Swiftの文法がちょびちょびアプデされて追従するの大変だけど、なんか楽しくなってきた一面もある。
・早くもう一発アプリをリリースしたいです。

おわり

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
2017-01-03 | カテゴリ >> 技術書レビュー 

関連記事

Comment





Comment



*