びくんびくんしながらコードを書く。

いしきひくい系エンジニアのらくがき帳

Xcodeの操作に慣れようと思って読んだ本。

はじめに

自作アプリ作りたいけどそもそもxcodeの操作がわからないなぁと思ったので下記本を買って読みました。

ノンプログラマーのためのSwiftブック ゼロから作ろう! iPhoneアプリ

ノンプログラマーのためのSwiftブック ゼロから作ろう! iPhoneアプリ

Amazonで酷評されているなぁと思いながら本屋で中を少し確認し、今時分が求めているのとマッチしそうだったので購入に踏み切りました。

読んでみて実際どうだったか?

300ページで4本のアプリを作るのは結構無理があるんじゃないかなぁと思いながら写経しながら読み進めました。
確かに無理な部分が結構あり、本のタイトルにもなっている「ノンプログラマーのための」と言うのはちょっと行き過ぎ感があります。
4本全て作成し、動作確認出来たのでそれぞれの感想も合わせて記載しておきます。

1本目のアプリ

アプリ概要
ランダムな3つの数字が設定され、それを当てるプチゲーム的なアプリ

内容
まずはとりあえずGUIに慣れようぜ!的な感じで始まります。
AutoLayoutの説明やアイコン、画像はどんな感じで用意するのが良いかという部分の説明が結構丁寧な感じで書かれています。
また、タップイベントの紐付け方などもわかりやすい説明でGUIに慣れたいと言うのならとても良いです。
肝心のコード部分はそれほど細かくは説明されません。
ランダム数字の生成もサラッと流されていたり、除算のあまりを求めるための%の説明なんかもほぼなし(普段別言語で書いてる人にはまぁそうだよねー位)。
まぁまずはGUIに慣れましょーならこんな感じでいいのかな?という感じでした。

2本目のアプリ

アプリ概要
複数枚のカードから1枚を選びそれが○だったら正解!2枚から始まり最大4枚まで増えるマルチviewのアプリ

内容
1本目のアプリのおさらい的な感じで説明が若干はしょり気味になりますが、1本目のアプリでしっかり読み込んでいれば補足説明でなんとか組めるかと思います。
また、1本目のアプリはシングルviewでしたが、ステップアップしてマルチviewになっています。
ページ遷移の方法などはしっかり説明されているため、コレもそこまで難易度が高いとは思わないかと思います。

3本目のアプリ

アプリ概要 アナログ時計+ストップウォッチ機能がついたアプリ
画像の回転などが入ってくるため結構高度なことやってる感が出てきます。

内容
AutoLayoutの説明はほぼなくなります。というよりどのオブジェクトからどれだけ離れてるか?とかのオブジェクト間の関係性が1枚ペラで書かれたページを見て設定してね!といきなりのスパルタ方式に変わります。
1,2本目でだいぶ慣れてきているのでそれほど難しい!という感じにはなしませんでしたが、本当の初心者さんでゆっくり進める人にはきつく感じるかな?という感じになっています。
1,2本目から間をあけずに続けて作っているならそこまでAutoLayoutで躓くことは無いでしょう。

問題はコード部分の説明です。
アナログ時計の作成なので、長針短針の回転をコードで書かなければ行けないのですが、サラッとした説明(半ページほど)で、M_PIの説明もなしに使われていてなんじゃこりゃ?となります。
Google力が試されるかもしれません。

4本目のアプリ

アプリ概要
カメラを使ったアプリ
カメラで写真を取り、アプリに戻ってきてスタンプをぺたぺた貼れる事ができます。

内容
このアプリを作り始めるページが280ページ目位で、20ページ分くらいの説明しか無いです。
「もう知ってるでしょ、仕様を置いておくから勝手に作りなさいな。」と言わんばかりにほぼ説明無しでLayoutの説明(仕様?)とコードの羅列が置いてあるだけな感じです。
コレは私が悪いのだと思いますが、コードの写経メインになってしまって、本の内容までしっかり見なくなってきている状況で、メソッドの作成順を逆にするのはちょっと意地悪じゃないかなぁと思います。
Aメソッド作成→Bメソッド作成の順だが、AメソッドからBメソッドが呼ばれているため、Aメソッド作成時にはxcode側でエラー警告が出てクラスメンバーにBメソッドなんてねーから!と怒られる。
本にはまだ作ってないから怒られるけど無視して進めてね!と記載されているが、それに気が付かづになんで怒られているのか必死になって探してしまった・・・

読み終えて

「ノンプログラマーのための」という部分は賛同しかねますが、xcode初学者で他の言語をいじっている人には良いかと思います。
アプリのUI部分の作成方法は過剰説明にならない程度に、「だけどこの辺引っかかりそうだな」的な部分はきちんと説明されている。
中のロジックはなんとでもなるからxcodeの操作感に慣れたいんだ!人向けの本ではないかなぁと思いました。
まぁ、ソースもほぼ全文乗せてるので写経すりゃ動くという意味で「ノンプログラマーのための」という部分が全てウソということもないかと思います。

今後

xcodeの操作に慣れてきた感があるので、作ってみたいやつを作り始めます。