自分でアプリを作ってみたいと思う人は少なからずいると思う。
そういう人にとって気になるのは、「3ヶ月くらい勉強したらiOSアプリ開発ができるようになるのか?」とか「アプリ開発って稼げるのか?」ということではないだろうか。
今回は、その疑問に現役のiOSアプリ開発エンジニアである僕が答えてみようと思う。
iOSアプリは独学3ヶ月で作れるようになるか?
正直に言う。
iOSアプリは1〜3ヶ月の独学で作れるようになる。
そして、大半の人は3ヶ月もかからないと思う。
なぜ、こんなにハッキリ断言できるかといえば、僕自身が1ヶ月の独学を経てiOSアプリ開発エンジニアとして働き始めた過去があるから。かかった時間は200時間(10時間×20日)ほど。
僕が以前働いていた会社では『独学でiOSアプリ開発スキルを身につける』的な訓練期間があり、その訓練を10人中9人がパスしてエンジニアデビューしている実績がある。
ということで、やる気があれば9割くらいの人はいけるはず。1割くらいの人は1ヶ月以上かかってしまうか、比較的早い段階で挫折するだろう。
ちなみに僕は、以下の状態から独学を開始した。
・iPhoneに触ったことがない
・iOSアプリ開発に興味がない(笑) ※Androidの方に興味があった
・Macは使ったことがあり抵抗がない
なお、確かに1ヶ月の独学でアプリは作れるようになる。
だが、それは単に『アプリを作れる』というレベルの話に過ぎない。市場で高評価を得られるような『良いアプリを作れる』こととは違うことはきちんと認識しておいて欲しい。
何をどんな順に学べば良いか
iOSアプリを作れるようになるには、
- 開発用の言語を扱えるようになる
- iOSアプリの実装方法を学ぶ
このあたりが必要になる。
順序通りに解説していこう。
言語を学ぶ
現在では、Swiftという言語を扱えればiOSアプリは開発することができる。
学習方法としては、Googleで「Swift 基本」みたいな感じでSwiftの解説をしている良い感じのサイトを見つけて、解説を1〜2日くらいでザッと読んでいけば良い。
どうせ実装方法を学ぶ時にたくさん書くので、この時点ではプログラムを書かなくて良い。どんな言語なのかとか、よく出てくるキーワードなんかをなんとなく把握しておけば良い。
必要なのは、あとで実際にプログラムを書く際にどこのどの情報を参照すれば良いかの目星をつけておくこと。
プロトコル、デリゲート、クロージャあたりは理解しにくいと思うので、いちいち丁寧に覚えようとしていたら進まないし、とても1ヶ月で終わらない。
なので、必要になった場面で必要なことを理解していけば良い。
iOSアプリの実装方法を学ぶ
まず、大前提としてアプリ開発にはMacが必要になる。また、開発ツール『Xcode』が必要なので最新版をインストールすること。「xcode dmg」で検索すると、リンクがまとめられているページが見つかるので、そこからDLすれば良い。結構ファイルがでかい。
そこまでできたら、iOSアプリ開発の基本を学んでいく。
以下のことを順番に学んでいけば、とりあえずOK。なお、全部ネットに情報が載っているので、本などは購入しなくても学ぶことができる。全部自分で方法を調べて実装しても1ヶ月はかからないでできるはず・・・。
標準のUIを扱えるようになる
UIの標準的な部品を使ってみて、実装方法と使い道を学ぶ。(XibまたはStoryboardを使って部品を配置して、ViewControllerに処理を書く感じで)
UILabel、UIImageView、UIButton、UIAlertController (Alert/ActionSheet)、UITextField、UITextView、UIPickerView、UIDatePickerView、UITableView、UICollectionView、UINavigationController、UITabBarController、UIPageViewControllerなど
iOS標準のUI部品に何があって何がないのか、アプリを作る際にどの部品を使えば良いか、どの部品は独自に作らなければならないか、などなど把握していく。
なお、iPhone/iPadも画面サイズが色々あるので、UI部品の配置やサイズに関してはAutoLayoutによる制約づけによる制御が必要なため、どんどん触って慣れるべき。
ライブラリを扱えるようになる
誰かしらが作って公開してくれている便利なプログラム(ライブラリ)を、自分のアプリに導入できるようになろうぜって話。
・Cocoa Podsを導入する (ライブラリ管理に使う)
・ネットワーク通信、プログレス表示、DBなどの便利なライブラリを実際に使ってみる
データ保持を扱えるようになる
・UserDefaultsでデータの保存・取得をしてみる
・データベースでデータの保存・取得をしてみる (CoreData, Realmなど)
通信を扱えるようになる
・Cocoa Podsを用いて通信ライブラリ(Alamofireなど)を導入する
・通信ライブラリを用いて非同期通信して、Livedoorのお天気APIからJSONを取得する
・取得したJSONから情報を取り出して画面表示する(概要文、予報日、天気、天気アイコン)
その他
・WEBページを表示する (WKWebView)
・カメラ起動、カメラロールアクセス (UIImagePickerController)
・地図を表示して現在地にピンを立てる (MapKit / CoreLocation)
・ローカル通知(5分後に通知がくるようにする)
・プッシュ通知(準備に手間がかかるので、仕組みだけ理解したら良いと思う)
・URLスキームによるアプリ起動(パラメータ有・無)
とりあえず、これくらいをおさえておくと基本としてはOKかと。
iOSでできることはもっとたくさんあるけど、それは勉強しながらなんとなく把握しておけば良い。詳細は必要になった段階で学べば良いだろう。
大事なのは、開発の基本的な方法・手順を把握すること、実装に必要な情報の探し方を知ること、必要な情報にたどり着くために必要なキーワードを把握することだ。
それさえ出来ていれば、あとはネットで少し調べるだけで、必要な機能をアプリに組み込むことができる。
僕自身、開発をしている中でわからないこと、忘れてしまうことが多々あるが、どの情報を参照すれば良いのか、どんなキーワードで探せばサクッと解決できるかなどを把握しているので、特に大きな問題もなくやれている。
iOSアプリ開発者として稼ぐ方法
iOSアプリ開発者としての知識・技能が身につけられた場合、アプリ開発スキルを用いて稼いでいくことも可能である。
代表的な方法としては個人アプリ開発、エンジニアとして働くの2タイプある。ちなみに僕自身は両方の方法で稼いでいる。
個人アプリ開発
個人アプリでは、ガッポリ稼げている人もいれば、月1,000円さえ稼げていない人もいる。というか稼げていない人の方がおそらく多い。
稼げない理由としては、市場に出ているアプリがあまりに多く、自分の作ったアプリが発掘されにくいのと、アプリの品質が年々高くなっていることから、それなりのものを作らないと使ってもらえない現実がある。
僕個人のアプリ収益の詳細は以下の記事で書いている。
エンジニアとして働く(フリーランス)
iOSアプリ開発エンジニアはそこそこ稼ぐことができる。
というのも、アプリを作りたい会社が結構あってiOSエンジニアの需要があるから。もちろん実力次第ではあるんだけれど。
ちなみに僕の場合、大体75万円くらいの報酬でゆるく大した負荷なく働いている。基本的に残業とかもしない。仮にお願いされても断る(笑)
まとめ
iOSアプリは、1ヶ月あれば独学でも作れるようになる。ただし、ハイレベルなアプリを作るには1ヶ月の独学ではとても足りないのが現実だ。そのレベルなら3ヶ月はやはり欲しい。
どうにかアプリを作れたところで、個人レベルで作ったアプリで大きく稼げる可能性はかなり低い。稼いでいくつもりならフリーランスのエンジニアになるのが手取り早いだろう。
ということで、個人でちょっと簡単なアプリを作って儲けたいなんて人には軽い気持ちで独学するのはオススメしない。ものすんごいアイデアがあるとか、時間が余ってるというならやってみたら良いとは思うけど。
なお、プログラマとしての学び方は就職して学ぶ以外では、独学や職業訓練で無料で学ぶ方法と、スクールを利用して有料で学ぶ方法の2パターンある。
個人的には、プログラミング学習にお金をかける必要はないと思っているので、スクールの利用は否定的だったりする。ただ、挫折を避けたいとか無駄を省きたいって人なら、やはりスクールを利用するのがベターだろう。
スクール利用に否定的な僕ではあるが、それでもギリギリこのスクールはオススメというのを紹介していたりする。参考まで。
コメント