Swiftの勉強方法

初学者がプログラムの勉強を独学でして、挫折理由

初めのうちは何がわからないのかが、わからない。
だからついらいです。
調べようがないからですね。
これはきつい。
でもこの順番でやっていけば、独学でも小さなアプリは作れるようになれるな。
というラインを自分なりにまとめてみました。
これ読んでおけばよかったなと今からでは思います。

学ぶ順番

ドットインストール

まず、これをします。
ドットインストールのSwift3入門

ただ、楽しくない。
これは、英語で言うところの辞書。辞書読んでも楽しくないですよね。
でも、基本的な文法や条件分岐について書いてあります。
きついけど、ここは辛抱かな。
1週間もあれば終わるので、がんばろう!

おすすめの本

swiftの初学者の本の中では随一です。変数とか条件分岐とかダラダラと続く説明にページを割いてないです。
どんどん、動くもの作っていけます。
説明も実にわかりやすい。実際に書いたものがどんどん動くので、楽しいと思います。
アプリの数も多いです。

この本が終わったら、一通りの作り方がわかっていると思います。

Udemyをやってみよう!

Yuta Fujii さんのiOS講座、、おすすめです。

20本近いアプリをつくれます。小さなアプリをたくさん作ってなれていくのが一番の近道です。

勉強法

ここまでくると、中級者向けの本がない。
ここで、大体の人がマンネリ化してあきらめます。
一体、このあとどうすれば良いのか?
まだ、自力でアプリを作りきる力が無いです。
なぜでしょうか?

勉強が続かない理由

デバッグやDB設計の知識が無いからです。
アプリを作るのにもDB設計の知識は必要ですね。
でも就職しないと教えてもらえない。
どうすればいいか?

WEBプログラミングスクール

一つはプログラミングクール。
メンターがいるのが大きいですね。
困ったときに聞ける人がいるというのは大きいです。
個人的には、安いところが良いと思います。

入会すれば、自由自在にアプリが作れることはありません。
まず、自分で問題意識を持って、ここをこうしたいのだけど、うまく動かない。
どうして、この方法だとうまく行かないのだろう?
そんな疑問を持った人、またはそこまで独学でいって、限界を感じた人でないと、どのスクールに入っても同じだと個人的には思います。

勉強会に参加する

Meetupに参加しましょう。
でプログラミングスクールに行かないという選択肢をとった場合、はどうするのか?

ちょうどこんなのがありました。無料で学べそうですね。
とにかく、仲間を作るのが大切です。
毎週定期的に行くと習慣が付きます。
やめずに少しづつでも続けることが大切です。
友達もできますしね。

わからないときは、公式のAppleのドキュメントを見ましょう。

でも最初は、このドキュメントの見方がわからないんだけどね。
だから、ちょっと知っている人に教えてもらえるというのは財産ですね。
ドキュメントの読み方も随時説明していこうと思います。
もし、このドキュメントの読み方が、具体的にわからない箇所があれば、コメントいただけますか?

画像 Apple公式サイトより

初学者を卒業したい方のための本

それから
この本がおすすめだけど、ちょっと難易度が上がります。
プロが職場において使っている本です。
初学者は買わないように、、
よくまとまっています。
プロトコル、ジェネリクス、非同期処理、非常にわかりやすく説明してくれています。
1つ自分で考えた、オリジナルアプリ完成させた。!たという人なら、買っておいて損は無いです。
どうせいずれ買うようになりますしね。

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

DB設計の本

すべてここで紹介するのは、購入済みでその上で良かったと思っている本なので、ハズレは無いと思っていただいて結構です。

第3正規化まで読めば大丈夫です。
この本を読み終わるときには、リレーションの仕組みもその理由も理解できると思います。
初学者が0から読んでも分かる本になっています。
このDB設計の知識がないから、オリジナルアプリが作れないのです。
結局は、アプリは、DBとのデータのやり取りだと、私は思います。
Amazon でもそうですよね。
幾千万という商品のなかから検索できるから、みんなが利用するのだと思います。
それは、アプリケーションがDBとのやり取りしているから可能なのです。

 


まとめ
いかがでしたが?
今日は、Swiftの勉強法についてまとめてみました。

ここで書いていることは、swiftだけでなく、どのプログラム言語にも当てはまると思います。

DB設計大事ですね。

皆さんの勉強のお役に立てたら幸いです。