アプリ開発って興味あるけど、どんな感じなのかな?
プログラミング自体初めてなんだけど大丈夫かな...
このような悩みに答えていく記事です!
こんにちは趣味でアプリ開発をしているなべやまです!
アプリ開発って先生もいないし、身近に教えてくれる人もいないし、最初は不安ですよね。私もそれで3日間悩んでいたので気持ちがよくわかります。
この記事では”プログラミング?なにそれ食べたことない”の私が約4ヶ月半(2020/4~2020/8)でアプリをリリースした流れと感じたことをまとめていきます。
アプリ開発の流れを知りたい方や効率よく学びたい方は是非ともこちらの記事を参考にしてください!
私自身がかなり効率の悪い学び方をしていたので、同じ失敗をしないことを願います。
当記事を書きました。独学、4ヶ月半、毎日2時間半でリリース。
リリース後半年で1000人がダウンロードしてくれました。
私がアプリ開発で行ったロードマップ
作りたいアプリを考える
まずは作りたいアプリのデザインや機能を大まかに決めます。
高い技術レベルを要するデザインを作っても思い通りに作れないため、デザインとか機能は大まかな感じでOK。
色などをやると完成イメージがしやすく、iPadが非常に役に立ちました。
私に関しては作りたいアプリが元々あったので期間として含んでいません。含むとしても1日くらいですね。
「アプリ開発」系の書籍をかう(1ヶ月)
右も左も分からない私はまず書籍を買ってみることにしました。
正直書籍をやっている時が一番楽で、「アプリ開発は簡単なのでは?」と思う時期です。
この時に買った書籍はこちら
- 本気ではじめるiPhoneアプリ作り
- 詳細!SwiftUI
- SwiftUI徹底入門
”本気で始めるiPhoneアプリ作り”は情報が古く、そのまま動かしてもエラーが出て挫折したため、SwfitUI系の本に切り替えました。
もしswiftUIをやる人で、書籍から学び始める人は”SwiftUI徹底入門”は必須だと思います。難易度は少し高いですが、この書籍のChapter10(著作権の関係から内容は伏せる)の知識を知らないとswiftUIでアプリ開発は不可能。Bの本にも少し説明されていますが、内容がスカスカです。
書籍に関しては大体2週間〜1ヶ月もあれば1冊終わります。ちなみにアプリ開発系の書籍は何冊もやる必要はありません。
理由としては内容がほとんど同じで、あくまでもアプリ開発に慣れるためのものだから。3冊やろうが10冊やろうが知識の量に変化は無いでしょう。
アプリ開発系の本は分厚いですが、サンプルコードが大半なので内容は結構少ないです。
オリジナルアプリ作成に取り組む(2週間)
書籍を終えた私は実際にオリジナルアプリ開発を始めました。書籍を終えて少し自信が出てきた頃ですね。
結論から言うとこの時期はほとんど何も進みませんし、ほとんど何も成長しなかった。
原因ははっきりしています。それは検索して出てきたコードを全く理解できなかったからですね。
「プログラミングの急成長する学び方」とかをネットであさっていたら”やりながら学ぶ”っていうのがあるはずです。今だからわかります、基礎をせずに応用に取り組んでも何も成長しません。
正直何が応用すらもわからない状態で何回も心が折れましたね。この期間はかなり無駄な時間でした。
文法の書籍をかう(2週間)
アプリ開発系の書籍を終えた後に気づく事があります。
それは”いざ書こうとするとほとんど何もかけない、一体何からコードを書けばいいのか?”ということ。検索しても理解できない上に自分でコードを書くことが一切できません。
原因は文法を知らないからです。
アプリ開発系の書籍は文法がほとんど説明されないのでいざ自分でコードを書こうとすると全く手が進みません。とりあえず書いてみてもエラーが出るだけで途方に暮れます。
そのため私は文法の書籍をかうことにしました。
買った書籍はこちら(後々かなり役に立ちました)
私はアホなので「この書籍を端から端まで学び尽くせばswiftについて最強になれるのでは!」と当時は思っていました。まさに脳筋。
結果はこの書籍を4/5までメモをしながら読んだだけで、全く頭に入らなかった。気づいたことは文法書を端から読んでいくのは無謀だということです。文法書は辞書のようなもの。凡人はすぐに忘れます。
気になった文法を探して理解する使い方が一番おすすめですね。この時間は無駄だとは思いませんが、かなり効率が悪かったです。
オリジナルアプリ作成に取り組む(1ヶ月)
なんとなく文法の知識を蓄えた私は文法書を傍におき、再びアプリ開発をしました。
おそらくここが一番成長した時期ですね。
検索で出てきたわからないコードを片っ端から文法書で調べるので身につきやすく、だんだん自分でコードをかけるようになってきます。
文法書でもわからないことはteratail(無料で質問できるとこ)で質問していました。
ですがどうしてもわからないことは出てくるものです。Apple公式ドキュメント(英語)は専門用語だらけでわからず、teratailでは回答がなく、ネット書いてある情報のレベルが高すぎたりする場合ですね。何日も考えてダメだったら逃げる勇気も必要。
妥協できずに普通に2週間何も進まない時もありました。
UdemyのYutaさんのコースで学んでみる(2週間)
そこでまた学び直そうと思い、Udemyという学習サイトがあることを知りました。
その中のYutaさんのコースを受けてみると驚きました。
「わかりやすさが段違いすぎる!」と。
正直、1、2ヶ月前の自分にタイムスリップして教えたくなりましたね笑。ちなみにswiftUIとstoryboardで違うんじゃないか?と思う人がいますが、言語はswiftで同じなので、文法は一切変わりません。
ただ、Yutaさんの動画はstoryboardを扱っているのでswiftUIで学んだ私は所々理解できなかったです。
オリジナルアプリ作成に取り組む(1ヶ月)
ずっとわからないところが少しだけ解決したので再び開発を進めます。
ここからは挫折、復活、妥協の繰り返しですね。
毎回「こんなの作れるわけないじゃん」と思うのですが、1週間後には出来ちゃったりするんです。もちろん作れないものは諦めましたが...
この期間でアプリを開発が完成して、リリースという感じで私のアプリ開発は完了しました。
もし私が0からアプリ開発の勉強方法を教えるなら
ここは独学の人向けです。
もし私がプログラミング未経験者に教えるならこのようなロードマップになります。
なぜアプリ開発系の書籍ではなくUdemyのYutaさんのコースを選んだかというと、UdemyのYutaさんの方が書籍よりわかりやすいし、内容も濃く、量も多いから。割引時に購入すれば書籍より安いので金銭面でも上回ります。
文法書を傍らにUdemyを受ければ十分な基礎力がつくので、Udemy終えればオリジナルアプリの開発に向かえるだけの力を得られます。
もちろん最初は難しく感じるので「この勉強方法であってるのかなぁ?」と不安になることもあるでしょう。ですが大丈夫!その不安はどんな学習方法でも訪れます。それなら効率の良い勉強をした方がいいですよね。
もし私が独学で知識0から始めるならUdemy一択です。そのくらい私はUdemyを推します。
本当にそんな良いの?回し者とかじゃ無いの?
このように思う方は書籍から始めてみてください!書籍の後にやればUdemyのわかりやすさがわかるので笑。
アプリ開発は簡単なのか?
「アプリ開発は決して簡単ではない」というが私の答えです。
プログラミング未経験者が「プログラミングは簡単!」と言う言葉を鵜呑みにすると必ず挫折します。よく「アプリ開発最短」みたいな感じで調べると1週間、1ヶ月と出てくることがありますが無理です。
そもそもネットで言う「簡単」と言うのがどこまでの技術レベルなのか定義されてませんし、何をやるにしても最初は必ず難しく感じるものです。
そのため決して簡単だとは思わない方がいいです。
アプリ開発のメリット3点
このままではアプリ開発のやる気がなくなりそうなので、ここからはアプリ開発のメリットを紹介していきます。
1つ目:達成感が半端ない
自分でコードを書いてそのアプリが動いた時の達成感は半端じゃありません。試行錯誤が開発における醍醐味。
そしてアプリをリリースした時、Apple Storeに自分のアプリが表示され、なんとも言えない気持ちになります。
これは実際にやってみないとわからない嬉しさ。
4ヶ月半は自分でも効率が悪く時間がかかってしまったと思いましたが、4ヶ月半でApple Storeに自分のアプリがずっと残るって結構凄くないですか?
2つ目:スキルが身につく
自分が成長する感覚はかなり楽しいです。
オリジナルアプリはある程度のスキルがないと制作できません。
そのためオリジナルアプリをリリースした際はあなたのスキルの証明になり、大きなアピールポイントになります。アプリ開発系のインターン、就職、転職するにしてもアプリ開発経験と言うのは重要になので。
そしてそのスキルはものです。
3つ目:swiftが比較的新しい言語
swiftは2014年に登場した比較的新しい言語です。7年前は古いと思いますか?
そんなことはありません。
例としてかの有名なPythonが登場したのは1991年。swiftがどれだけ新しいかわかるでしょう。
そのためいくらプログラミングの上位プレイヤーだとしてもswift歴は6年を超えることはありません(2021現在)。
プラスして世界の時価総額ランキング1位のAppleが発表している言語です。ニーズも安定していて平均年収も高い傾向になります。
メリット3点
- 達成感が半端ない
- スキルが身に付く
- swiftが比較的新しい言語
アプリ開発は素晴らしい
以上、私がアプリ開発をした道のりと感じたことでした。
いかがでしたか?
アプリ開発をするのは決して簡単な道のりではありません。ですが、それを上回るぐらいの楽しさやスキルアップなどのメリットが存在します。
プラスして上手くいったらお金も稼げますね。
やってみると意外と楽しいものです。まずは一歩踏み出してUdemyをやったり、書籍をやってみましょう!プログラミングは初期投資がかなり低いので自分に合わないと思ったらすぐにやめればいいのです。
≫UdemyのYutaさんのコースが最強すぎる!超初心者は絶対受講して
「Udemyで効率よく学びたい」と考えている方は以下から進んでください!
(セールで1000〜2000円台になっていたら買いです)
※追記:Yutaさんのコースは終了したみたいです。なので他のコースがおすすめ!私自身他のコースもやったことがありますが、動画媒体でわかりやすいですよ!