いま、独学でiPhoneアプリ開発をするとしたら、どのように学ぶか?【初心者から中級者まで】
0→1フリーエンジニアのがくです。スタートアップや新規事業の技術支援をお仕事にしておりまして、起業家や起業を志すみなさんと、いつもお仕事をしています。
わたしの趣味の問題もありまして、iOSアプリの開発に関わることが多いのですが、もし今から学ぶならどうするかな〜と考えてみました。
使用言語はSwift、でも最初に言語は学ばない
当然使用言語はSwiftです。いまさらObjective-Cを使う気にはなれません。
それはそれとして、最初に学ぶべきはアプリ開発の大枠であって、Swiftという言語についてではありません。言語を学んでも、どんなときに使うのか、使えるのか想像できないと全然面白くないし、役に立たないからね。
もちろん最低限の知識は知っている必要があるわけですが、その辺は適切な教材を選べば自然と学べるので割愛。
ただ、問題になるのはその教材。現在の最新の環境はXcode 11 & iOS 13 & Swift 5なわけですが、これに対応したものがあんまりない。
progateもSwiftコースはなくなっちゃったみたいだし、ドットインストールのiPhoneアプリ開発入門も環境が古い…
というわけで、個人的には書籍一択です。サンプルアプリを作ってみる系の書籍で、最新かその一個手前の「Xcode 10 & iOS12 & Swift 4」に対応したものをチョイスしましょう。
参考書は好みなので、書店でみて肌に合いそうなものを選ぶとよいでしょう。
迷いどころは「Swift UI」という、Xcode 11 & iOS 13から対応した新しい書き方なのですが、初心者がいきなりここから学ぶのが良いかどうかというとちょっと悩ましいところです🤔新しいから、ググってもまだ情報少なめなんだよね。
これから新規のアプリを作るぞ、という方で、WebやAndroid等で開発経験がある方は、Swift UIから入っても良いでしょう。↓の2冊あたりが良さそうです。
プログラミング経験が少ない方や、既存のプロジェクトに参画するという場合は、以下のような本が良さそうです。
こんな感じの雰囲気の本を、ざっくり写経して実際に試しながら2〜3周こなす。完全な理解はこの時点では難しいので、そんなもんなんだな〜とざっくりわかれば十分です。
エラーが出たら、1文字間違ってないかーとか、これでもかというくらい細かく確認。それでもだめなら、エラーメッセージでググる。ググってもどうにもならなさそうならいったん飛ばして適当に1周する。それでも変なところは誰かにきく。
いずれにせよ、とにかく進むことを優先してこなしましょう。
目的のアプリをつくりながら、同時並行で言語を学ぶ
ざっくり概要がつかめたら、目的のアプリをさっそくつくっていきましょう。
「目的のアプリなんてないんだけど…」という人は、今すぐつくりましょう、無理にでも。これがアプリ開発を習得する最短の道なんだ。
参考書でつくったアプリをもとにしながら、目的のアプリをつくっていきます。わからないところはググる。日本語で検索しても、大抵答えはでるはず。よくわからなくても、とりあえず試す。うまくいったら、進む。
どうしても解決しなかったら、詳しい人に聞きましょう。でも、プログラミングはググり力だからね。解決方法を直接教えてもらうというより、ググり方を教えてもらうのが吉です。
そして、つくりながらSwiftについての見識を深めていきます。ちょっと難しいけど、以下の本がおすすめ。
どの書き方を、どんなところで使うべきなのかが、この本を読むことでなんとなくわかってきます。Swiftらしい、綺麗なコードを書くための第一歩になるでしょう。
とはいえ、ちょっと初心者には難しいので、適当に流し読みしながら使えるところは使う、くらいで良いでしょう。何周かして、試していくうちに理解が深まってくると思います。
こっちの本もおすすめです。Swiftを網羅的に知りたいならこっちの本、という感じ。ちょっと辞書っぽい。
英語がそこそこ読める方は、一度A Swift Tourをこなしてみるのも良いでしょう。
適当なタイミングで、最初に読んだテキストを見てみると、発見があるかも。この辺で、大体書いていることの意味が理解できるようになっているはずです。
設計やテストを学ぶ
結構開発できるぜ!的な感じに自信がついてきたら、設計パターンやテスト手法を学ぶのが良いでしょう。
この辺の本がいいかなーって思います。
Swift UIについてまだ学んでいなければ、初心者だった人もそろそろ採用してみてもいいでしょう。以下の書籍とか、公式チュートリアルをこなすのがいいんじゃないかな。
まとめと後書き
いまからiOSアプリ開発を学ぶなら〜ということで色々調べてみたんですが、ちょっとややこしいタイミングかもしれませんね。Swiftのアップデートは落ち着きつつあるものの、Swift UIが出てきたおかげでどっちを学ぼうか悩みどころな感じはします。
新規のアプリ開発において、Swift UIの本格的な運用は今年の9月以降かな〜と思うのと、not Swift UIな開発手法も知っとくべきシーンがまだまだあるので、Swift UIではない開発をちょこっとでも学んでおくのが、今はベターかなって思います。
あとは、技術力と好みかな。
Flutter使ってAndroidと一緒に開発だ〜っていうのもいいと思うけど、日本語情報が少なくて初心者向けではないのと、Swiftでの開発を知っておくべきシーンがあるので、やっぱり最初は普通に学ぶのがおすすめかなー。
React.jsバリバリなWebプログラマーはReact Nativeでやってみるのもいいかもだけど、あなたは開発者なので判断材料もいろいろあるでしょう。自分で判断するのが吉。笑
ではでは。
この記事が気に入ったらサポートをしてみませんか?