iOSの開発入門書を読んでみた

iOS

どうもayijkです。

先だっての記事でiOSアプリの開発を始めました,という発言をしましたが,やっぱりネットで検索して開発するには無理がありました笑

新しい技術を学ぶための手法には各人好き嫌いもあるでしょうが,私はやっぱり本で勉強したい派です(ついでに言うなら,電子書籍ではなくて紙媒体の本で読みたいです)。
まず目次を見て,「ほーん,こんなクラスがあるのね,こんな機能があるのね」を俯瞰するだけでもだいぶ雰囲気が分かっていい感じです。

どの本を師とするか

とはいうものの,iOSに限らずプログラミング言語関係の書籍はそれこそ山のように発売されていて,どれを読めばいいのかさっぱりわかりません。
色々レビューサイトを見て回りましたが,最終的には,以下のサイトに従うことにしました。

侍エンジニアブログ

この記事では「 現役エンジニアがおすすめする!Swift入門書籍5選 」といった内容について、誰でも理解できるように解説…

決め手は,各書籍の本のレビュー時に,「誰に対してのお勧めなのか」が明記されていた点です。全部で5冊が紹介されていますが,順に,

  1. 『本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック』
    • まったく初心者の方から他の言語の経験者までおすすめできる本です。
  2. 『絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第4版【Swift 2 & iOS 9】完全対応]』
    • プログラミングがはじめてという初心者の方におすすめできる本です。
  3. 『改訂版 No.1スクール講師陣による 世界一受けたいiPhoneアプリ開発の授業 [iOS 9&Xcode 7&Swift 2対応]』
    • まったくの初心者から他の言語経験者におすすめです。
  4. 『15時間でわかる Swift集中講座』
    • スマホアプリがどんなものか一通りイメージが湧くようになっていますので、他言語経験者やWeb経験者におすすめの一冊です。
  5. 『詳細! Swift 2 iPhoneアプリ開発 入門ノート Swift 2 + Xcode 7対応』
    • 他の言語を学んだ方がSwiftで開発をはじめたいならこの本がおすすめです。

という風に,対象読者を明確にしてくださっているのがありがたかったです(まぁ言ってみれば「良いレビュー」の鉄則ではあると思うのですが,意外とそういうことをおざなりにしているレビューサイトが多くて悩みました……)。
ただ,「まったくの初心者から他の言語経験者におすすめ」という文言はちょっと眉唾かなぁと思ったのですが,私の場合は一番最後の「他の言語を学んだ方がSwiftで開発をはじめたいならこの本がおすすめです。」にピッタリ合致。
実際にジュンク堂に行ってみましたが,POPも付いていてだいぶ推されているようだったので,これを購入しました。
(すでにSwiftの最新版はSwift3になっていますが,それに対応した版も出ているので安心できました)
[amazonjs asin=”4800711487″ locale=”JP” title=”詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応”]

確かにアンドロイダーにとっては良著!

全640ページ……なかなかの分厚さです。。。
購入したのが6/20の火曜日。ようやく今日・6/25に読み終えました。5日間もかかっちゃいましたね。

感想としては,大満足の書籍選択でした。
全編で600ページ超ありますが,その内訳はざっくりと,

  • Swiftの基本文法の説明:200ページ
  • Xcode機能を使った開発方法の説明:200ページ
  • iOSでよく使われる機能(ジェスチャ,位置情報等)の利用方法:200ページ

という案配です。

私にとってはこの割合はとてもちょうど良くて,iOS開発に対する謎の不安さがだいぶ払拭されたような気がします。
最初の200ページで「あぁ,つまりJava(Kotlin)でいうところのアレはこう書くのね」と納得して「Swiftめっちゃ賢いじゃんか……!!」と唸り。
次の200ページで「Xcode結構使いやすそうな気がしてきたぞ?」と錯覚し。
最後の200ページで「まぁ雰囲気はわかった,細かい所は使うときにググればよさそうだな」と斜め読みし。

さすがに長編なので途中疲れもしましたが,総じてSwiftってどういう言語なのか・iOSってどういう風に作るのか,がざっくりと俯瞰できたのは大きな収穫です。
今度,思い切ってiPhoneアプリ開発の勉強会に参加してみるつもりですが,そこで実際の様子を見るための予習は十分にできたのかなーと満足しています。

ただ,レビューサイトの文言通り,この本はあくまで「他の言語を学んだ方がSwiftで開発をはじめたい」場合には有効な書籍であって,プログラミング初心者・スマホアプリ初心者にとってはあまり良著ではないかもしれません。
文法の説明に200ページ割かれていますが,この部分に練習問題的なものはありません。巷で言われているようにKotlinと文法が相当近いので,私はその差分で理解することができましたが,いきなりこの言語から入ろうとすると面食らうのは必至でしょう。Swift,頭のいい言語ですねぇ。
他にも,Androidではコードで明確に記載している処理がiOSの場合にはXcodeが頭良くよしなにやってくれすぎるせいで,悪い意味で処理がブラックボックス化している印象を受けました。Android開発者であれば「ああ,これはAndroidでいうところのfindViewByIdね」みたいな理解ができるのですが,いきなりiOSから入る人にとってはワケもわからず写経することになりかねない気がしました。

総じて,私が参考にしたレビューサイト様は本当に的確なコメントをしてくださっていたのだなぁと感心しました。お陰様で,コスパ良く勉強することができました! ありがとうございます!!

まだ甘い所だらけだと思いますが,一旦雰囲気は分かったと思うので,週明けから時間を見つけてコーディングをゴリゴリしていこうと思います。
幸い,iOS開発者であれば友人に何人かいるので,調べても分からなければ彼らに頼れるのも魅力的です。

2017年中のリリースが目標

以前のエントリーで言った気もしますが,ひとまず最初に作りたいアプリとして,位置情報を使って*****するアプリを考えています。
Androidはニッチなアプリばかりを作ってしまって大当たりはありませんでしたが(アプリの使用統計を取るアプリ・dependroidだけは結構インストールしていただけました。ありがたいことです……!!),iOSでも特に反省はせずに,ニッチなアプリをどんどん作っていきたいと思います笑