これからアプリ開発にチャレンジしてみたいと考えている方は多いと思います。ちなみに市場的にまだまだアプリ開発へのチャレンジは遅くないですし、年齢も気にする必要はないでしょう。
40代からチャレンジされる方も多く、老後の趣味としてスマホアプリ開発を始める方もいます。これはもともとプログラミング経験者の方だけではなく、プログラミング自体完全未経験の方がスマホアプリ開発にチャレンジするケースも多々あります。
誰でも積極的にチャレンジすれば良いのですが、そこで出てくる疑問は「何から始めれば良いのか?」ということです。このページでは、スマホアプリ開発完全初心者の方に向けて、スマホアプリ開発の始め方を解説します。
またプログラミング経験者の方はスマホアプリ開発自体が初めてでも、やるべきことの目途は立つかと思います。そのためこのページではプログラミング自体完全未経験者、もしくはあまり経験のない方を対象としています。
一番大切なのは楽しく継続すること
最初に精神論から入るのは胡散臭い感じがして抵抗があったのですが、おそらく一番重要なことかと思います。理由としては、嫌になって挫折してしまうケースが非常に多いからです。
明確なことはわかりませんが、スマホアプリを含めたとえば10人がプログラミングを始めたら、継続できるのは2~3人程度かと思います。過半数は数日~数ヶ月程度で挫折してしまうということです。
さらに残りの1~2人程度も、時間が取れなくなった、儲からなかった、バグが嫌になった、などの事情である程度スキルが付いてから辞めてしまう可能性が考えられます。そのため、自由にいろいろなものを作れるレベルまで持って行けるのは10人中1人、2人程度と考えられるでしょう。
アプリ開発は効率的にスキルアップすることや正しい方法を取ることもたしかに重要ですが、「楽しく継続すること」が何より重要です。
特に最初のうちはわからないことが多くて投げ出したくなるかと思うので、完璧に理解できなくてもOK、まずは楽しもう、という気持ちで臨むのが良いと思います。
また何回失敗しても、継続さえしていれば確実にスキルは上がっていきます。よほど間違ったことを続けない限り、これは断言できることです。ある程度開発を経験しているのに間違った方法を続けることは逆に難しいので、継続した人が最後に上手くなります。
スマホアプリ開発を始める具体的なステップ
次に具体的に何をすれば良いのか解説します。やるべきことは以下です。
- ステップ①AndroidかiOSかを決める
- ステップ②勉強方法(書籍、Webサイト、動画、など)を決める
- ステップ③考えて手を動かす
- ステップ④自力で作ってみたいアプリを決める
- ステップ⑤トライ&エラーで頑張る
流れとしてはシンプルで、上記のような感じです。ただし順番はこの通りでなくても良くて、たとえば先に目標とするアプリを決めるのも一つの手です。
実際に勉強を始める前に、ネットやSNSで世の中にどのようなアプリがあるのか、初心者でも作れそうなのはどんなものか、などをリサーチし、そこを目標にやっていくのも効率的です。
目標が明確になっていた方がモチベーションになり、また身に付けるべきスキルが明確になるからです。ただし、絶対に作りたいアプリが必要かと言えばそうでもなくて、特に最初のうちは基本を学んでサンプルを作ればそれでOKです。
というのも、初期の頃に勉強する内容はだいたい決まっていて、それは最終的に作りたいアプリがあろうとなかろうと変わらないからです。そのため特に目標となるアプリがなくても勉強を継続できそうであれば、目標設定の前に基本の勉強に取り掛かって問題ありません。
逆に目標があった方が頑張れそうなら、勉強を始める前に最終的に作りたい理想のアプリを設定しておくと良いでしょう。ただしこの段階では厳密な構想ではなく、「こんな感じのアプリを作ってみたい」程度で良いと思います。
ステップ①AndroidかiOSかを決める
スマホアプリ開発を始めるにあたって、AndroidにするかiOSにするかという問題があります。私自身はiPhoneを使っていたのでなんとなくiOSから始めましたが、どちらでも良いかと思います。
また他の方の意見を見ていても、どちらでも良いという意見が大半に思えます。ただし迷っているのであれば、どちらかというとAndroidの方がおすすめです。私自身はiOSから始めたので矛盾しますが、当時今の知識があればAndroidから始めたと思います。以下その理由についてご説明します。
リリースする場合Androidの方が安く済む
私自身当時知らずに始めたのですが、もしもアプリをリリースするとなると、iOSの場合年間11,800円が必要です。一方で、Androidの場合登録料25ドル(2,700円程度)を一回支払えばそれでOKなので、コストパフォーマンスに優れています。
AndroidならWindowsでもMacでも開発できる
AndroidはMacとWindowsどちらでも開発可能ですが、iOSの場合Macだけです。厳密にはWindowsでiOS開発をすることも不可能ではないのですが、一部機能が欠けているうえに環境を用意するのがはっきり言って面倒です。
Windowsで開発するならAndroidを選択した方が良いかと思います。
Androidの方が端末を安く用意できる
また本体端末がなくてもアプリ開発は可能ですが、実機で動かしてみたいということもあるでしょう。リリースする場合は実機でテストもした方が良いです。
すでに端末をお持ちの場合は良いのですが、端末を用意する場合、iOSよりもAndroidの方が安く済みます。この点でも一応Android開発に軍配が上がります。
Androidで主流のJavaはPCのアプリ開発でも使える
あとは、言語的なメリットもあります。iOSとAndroidで主流の言語はそれぞれ以下のようになっています。覚える必要はないのでざっと見てみてください。
iOS |
|
Android |
|
iOSはもともとObjective-Cが主流言語でしたが、現状はSwiftが主流です。いずれにしても、iOS開発以外で使用する機会が少ない言語です。
AndroidはJavaが主流で、Kotlinのシェアが徐々に伸びているイメージです。まだまだJavaの活躍機会が多い状況です。Javaはプログラミング言語の中でもトップクラスに有名かと思いますが、それだけいろいろなシステムで使われているからです。
Javaは汎用性が高く今後PC用のシステム開発でも役立つので、練習しておくメリットが大きいと言えるでしょう。Javaをメインで学びつつ余裕が出てきたらKotlinも学ぶことで、Android開発のスキルを高めつつPCアプリにも対応できるようになります。
ステップ②勉強方法(書籍、Webサイト、動画、など)を決める
OSが決まったら次に勉強方法ですが、これについてもどれでも良いです。書籍でもWebサイトでも動画でも好きなものを選べば良いでしょう。よほど残念な教材を選ばない限り、まず基本は身に付くはずです。
基本の解説を大きく外す教材はそう多くありません。ただし人によってどの解説がわかりやすいかに違いがあるので、口コミの良いものや直感的に自分に合いそうなものを選択すると良いでしょう。
それぞれのメリット・デメリットを比較すると以下のようになります。
メリット | デメリット | |
書籍 |
|
|
Webサイト |
|
|
動画 |
|
|
私自身はどれも経験がありますが、書籍やWebサイトでの学習が中心です。動画は基礎の基礎に関する解説がメインなので、ある程度レベルが上がると書籍とWebサイトでの学習が中心になるはずです。
とはいえ初心者のうちは、動画の方が受動的に学習していても頭に入りやすいというメリットはあるでしょう。個人的にはアニメを見ながら勉強したかったのですべて動画で学習する、動画を長時間見る、といった経験はありませんが、動画は有効な手段です。
ただし私のようにアニメを見ながら勉強したい方や、音声や映像よりも読んだ方が速いという方は、書籍やWebサイトでの学習もおすすめです。
ちなみに書籍での学習を検討されている方は、以下の記事をご参照ください。
初めてのAndroid開発&kotlinを学ぶのにおすすめの書籍を紹介
初めてのiPhoneアプリ開発&Swiftを学ぶのにおすすめの書籍を紹介
Webサイトに関しては明確なおすすめは特にありませんが、ネットでAndroid、iOSアプリ開発について初心者向けに解説しているサイトをいくつか比較し、気に入ったサイトで学習を進めれば間違いないかと思います。
繰り返しになりますが、基本的な内容はどの媒体、情報源を見てもそこまで大きく変わりません。
動画で基礎を学ぶのであれば、ドットインストールが間違いないでしょう。
他にも動画サイトは複数ありますが、切り口としてプログラミング言語で区切っている動画サイトが多いです。ドットインストールには「Androidアプリを作れるようになろう」「iOSアプリを作れるようになろう」といったスマホアプリが切り口の動画も配信されています。
基礎の基礎の講座は無料でも見れるので、見てみると良いでしょう。ドットインストールの機能をフルに使いたい、すべての動画を見たい、ということであれば月額980円掛かります。そこまで高くないので支払って動画を見ても良いかと思いますし、月額を支払うのが嫌な場合は書籍やWebサイトで学習するのも良いかと思います。
学習方法は複数ありますが、組み合わせるのもありです。計画的に組み合わせても良いですし、たとえば、今日はここの単元を勉強したいけれど、なんとなく文章を読むのが面倒だから動画で勉強しよう。
逆に今日は動画を見る気分ではないから本で勉強しよう、など気分で決めても良いと思います。各媒体ごとに勉強個所が重複しても良いですし、ここは本を読んでわかったから動画は見ない、などでも良いかと思います。
そもそも最初から最後まですべてきっちりやる必要はなくて、まずは基本的なことをざっくり理解できればそれでOKです。
媒体やすべてをきっちりやらなければならないという固定観念に捉われず、臨機応変に肩の力を抜いて取り組むのが学習を楽しく継続させるコツです。細かいことは、実際に開発を始めてから調べる形で学んでも遅くはありません。
ステップ③考えて手を動かす
書籍でもWebサイトでも動画でも、基本を学習しているとサンプルプログラムを作ってみよう、といった感じのコーナーが出てきます。ここでいろいろ試してみるのがおすすめです。
ただソースコードを書き写すだけだと頭に入らないうえに理解していなくても動くので、どこか一カ所でも良いので自分で考えて変えてみると良いでしょう。
スマホアプリを含めプログラミングの上達には考えて手を動かすことが重要です。ボーっと眺めていたり、考えずにソースコードを書き写しているだけだと時間が無駄になってしまいます。
基礎学習はどうしても受動的な学習になるのでボーっとしてしまいがちですが、そうならないためにも考えて手を動かすということです。
ステップ④自力で作ってみたいアプリを決める
媒体に関わらず考えて手を動かす学習を継続していけば、基礎が身に付きます。基礎が身に付いたら、いよいよ自分で作るアプリを決めます。すでにそれが決まっている方はこの工程を飛ばしてすぐに取り掛かると良いでしょう。
アプリを決める方法は自由ですが、まず趣味として作るのか、収益化を目指すのかによって内容は変わってくるでしょう。趣味で作る場合は何でも良くて、既存のアプリを参考にしたり、ネットやSNSで作ってみたいと思ったものを実際に作ってみると良いでしょう。
収益化を目指す場合は、単に作りたいアプリを作るだけでは儲かりません。いわゆるマーケティングが必要で、どのようなアプリに需要があるのか、どのようなアプリなら競合が少ないのか、などを本格的にリサーチする必要があります。
需要があり、ライバルに勝って始めて収益化が可能になります。つまり技術力とマーケティングの両方が必要なのです。
とはいえ、最初からいきなりヒットするアプリを作るのは難しいです。アイデアというよりは技術的に難しいので、アイデアがすでにある方はそれをどんどんブラッシュアップしつつ、同時に技術力も高めていくイメージです。
最初に作ったアプリからいきなりリリースしても良いですし、とりあえず辞めておいて次にチャレンジするのもありです。
ステップ⑤トライ&エラーで頑張る
目標が決まったら、あとはひらすらトライ&エラーです。具体的には以下のループです。
調べてわかったら手を動かし、エラーが出てはまた調べ、解決策がわかったらまた手を動かし、完成を目指します。
やることは非常にシンプルで、ひたすらこの繰り返しです。ハマって集中しているときは、時間を忘れて熱中できるので楽しいです。
しかし、バグで詰まって前に進まないときはイライラしますし、辞めたくなるでしょう。残念ながら、バグに詰まってもがく経験を避けることは不可能です。
ずっとベテランエンジニアが横に付いてすべてバグを解決してくれるなら話は別ですが、そんな状況はありえませんし、仮にあったとしてもそれだと自分の成長につながりません。
バグにハマって調べて問題解決する工程は避けては通れず、むしろこの過程で一番スキルアップすると言っても過言ではないでしょう。
なのですべてスムーズに対処することばかりを考えるよりは、バグは発生するという前提で、そこの試行錯誤も含めてアプリ開発を楽しむのがおすすめです。というよりそうするしかないと思います。
アプリ開発はトライ&エラーを楽しむことが重要です。
熱が冷めないうちに始める
スマホアプリ開発の流れがざっくりとわかったら、すぐに始めた方が良いです。早めに始めないと、熱が冷めてやる気がなくなるかもしれません。仮に今すぐ始めて途中でやる気がなくなったのであれば、それはそれで仕方ありません。
しかし、すぐに始めればそのまま軌道に乗ってどんどん前に進めていく可能性もあるでしょう。逆に後回しにしていると、たぶんやる気がなくなって終わるだけです。
個人の性格にもよるので一概には言えませんが、後回しにすればするほど「面倒臭い」と思う回数が増えるはずなので、結果余計に面倒臭くなります。後回しにして面倒臭いという気持ちが蓄積される前に、深く考えずに速攻でやってみるのが良いのではないでしょうか。
特にリスクもなくて、仮に挫折しても強いて言うなら書籍代が少し無駄になる程度でしょう。また取り組んだ時点で0ではなく1になり、「アプリ開発の勉強ってこんなもんか」とわかります。そのため、仮に挫折したとしても無駄ではなく、一度挫折した人が時間を置いて再度チャレンジするようなケースもあります。
悩んだり迷う時間がもったいないので、リスクがないことなら速攻でチャレンジするのが成功への近道だと思います。失敗してもトライ&エラーをすればプラスの経験になります。