近年では先進国から発展途上国まで、ほぼ全ての国で使用されているスマートフォン。
スマホアプリを作れば世界中の人に自分のプロダクトを見て、使ってもらうことができる時代です。
そんな時代だからこそ、実際にスマホアプリを作ってみたい!と思っている方も多いのではないでしょうか?
しかし、初心者が一からスマホアプリを作るために、一体何をすれば良いのか、そのロードマップが多すぎて、途方に暮れてしまう方もいらっしゃるかと思います。
そこで、ここでは最低限必要な、スマホアプリを開発する上で必要な「言語」や「ツール」などについてご紹介します。
まずは簡単なアプリを作れる環境作りから始めてみましょう!
目次
そもそもスマホアプリってどうやって開発するの?
「スマホアプリを開発するぞ!」と意気込んでも、「結局何から始めればいいんだっけ?」となる方は多いと思います。
お金があればスマホアプリ開発のスクールにエントリーすることも可能ですが、数十万というお金を払うのは相当なリスクですよね。
なので、ここでは「個人でスマホアプリをなるべくお金をかけずに開発する」という前提で話を進めます。
個人でのスマホアプリ開発は可能か?
可能です。
個人でも自宅に開発環境を整えることで、スマホアプリを開発することができます。
スマホアプリを開発するには次のアイテムが必要です。
- パソコン
- プログラミング言語
- (IDEなどの)開発支援ツール
たったこの3つです。
スマホアプリの開発にお金はかかる?
スマホアプリを開発するには一体どれくらいのお金が必要なんでしょうか?
ここではお金のかかる部分をピックアップしてみましょう。
パソコン
スマホアプリに限らずですが、ソフトウェア開発にはパソコンが必須です。
スマホにはAndroidとiOSがあります。Android開発の場合はWindows、Macどちらでも問題ありませんが、iOS(つまりiPhoneやiPadで使えるアプリの開発)にはMacが必要になります。
WindowsPCは安価なものであれば6〜7万円で購入可能です。ですがMacの場合は最安のMacBook Airでも約11万円と、結構お高めです。
Windowsの普及率をみても、Androidアプリの方が開発のハードルは低そうですね。
ご自身がどちらのOSのパソコンを所持しているかは、スマホアプリ開発では重要です。
スマートフォン
こちらも必要です。といっても今では持っていない人の方が珍しいくらいですが…。
ここで重要なのはパソコンの時と同じく、自分が持っているスマホがAndroidなのか、iOSなのか、という点です。
もしiOSアプリが開発したいのにAndroidしか持っていない場合は、新しくiPhone等のiOS製品を用意する必要があります。
ただし、ただアプリ開発を通してプログラミング学習がしたいだけなのであれば、パソコン内でスマートフォンのエミュレータ(仮想のスマホのようなもの)を動かしてアプリの動作チェックができるので、それで十分でしょう。
反対に、しっかりしたアプリを開発してGoogle PlayやAppStoreに自分のアプリを公開したい場合は、実機でのテストは必須でしょう。その場合は機種代も必要になります。
書籍
プログラミングスクール等を利用しないで自宅で開発する場合は、まず一通りアプリ開発の流れを抑える必要があります。その時役に立つのは書籍です。
現時点ではまだpaizaラーニングやProgateといった有名なプログラミング学習サイトでもスマホアプリ開発の講座は取り扱っていません。
Amazon等でざっと見てみると分かりますが、スマホアプリ開発の本は大体2,000円〜3,000円ほどで購入できるので、そこまでの出費ではないでしょう。
スマホアプリを公開する場合
作ったスマホアプリをGoogle PlayやAppStoreに公開する場合、さらに費用がかかります。特にiOSは年間11,800円かかるので、かなりの出費です(Androidの場合は約3,000円1回限りでOKです)。
また、アプリを設置するサーバ代も必要になります。こちらはユーザーが少ない内は無料のサーバで問題ありませんが、ユーザー数が増えてくるとより強いサーバにする必要があります。
スマホアプリ開発に必要なプログラミング言語
ここではスマホアプリ開発で使われているプログラミング言語を見ていきましょう。
AndroidとiOSでそれぞれ使われる言語が異なるので、作りたいスマホアプリに応じた言語を選択しましょう。
Androidアプリのプログラミング言語
Androidアプリを開発する最もポピュラーな言語はJavaですが、近年Kotlinという新しいプログラミング言語が台頭しています。
Java
Javaは1985年に開発・リリースされたプログラミング言語です。
スマホアプリだけでなく、Webアプリ、デスクトップアプリなどの開発も可能で、金融、工業、小売、官公庁など、ありとあらゆるサービスがJavaで動いています。
Androidアプリは初期の段階ではJavaでの開発が完全に主流でしたし、その資産は現在も残り続けているので、Javaを使ってAndroidアプリを開発する場合は、インターネット内の情報量の多さや豊富なライブラリのおかげで「自分がやりたいことを実現する方法が見つけやすい」といった利点があります。
Kotlin
KotlinはJetBrainsという会社が開発・提供しているプログラミング言語で「Next Java」の立ち位置に収まっています。
KotlinはJavaと同じJVMという仮想環境で動作するので「Javaで作ったものは全てKotlinで使うことができます」。例えばJavaで作られているライブラリなどですね。
またKotlinは後発の言語ということもあり、その他の言語の良いところを抽出して作られた言語で、Javaでは難しい表現になってしまうコードも比較的綺麗に書けたりといった「かゆいところに手が届くのがKotlinの良いところ」です。
iOSアプリのプログラミング言語
iOSでのアプリ開発は、新規に始めるならSwiftがベストでしょう。ただし、仕事に繋げるならObjective-Cの取得も視野に入ってきます。
Swift
Swiftは2014年に開発されたかなり新しいプログラミング言語です。
RubyやPHPといった有名なスクリプト言語の良いところを取り入れており、簡単にアプリ開発ができるように工夫されています。
また、SwiftはLLVMというコンパイラ(プログラムを使えるようにするシステム)を使っているので、従来の開発言語であるObjective-Cよりも最大で約2.6倍のスピードアップが可能です。
Objective-C
Objective-CはSwiftよりも前からiOSアプリの主要な開発言語でした。
現在でも使われていますが、言語自体に癖が強く、学習コストの高い言語です。
現在動いているiOSアプリはObjective-Cで動いているものも多いので、仕事として活用したい場合はObjective-Cを覚えると良いでしょう。
クロスプラットフォーム開発とは?
ここでは深く触れませんが、AndroidとiOSの両方の環境に適応するアプリを一発で作る方法もあります。
例えば次のようなものです。
- Xamarin
- React Native
- Flutter
これらの技術を使えばAndroidでもiOSでも動くアプリを作ることができますが、反面両方のプラットフォームの仕様に引っ張られることになるので、個別開発よりも自由度が下がる傾向にあります。
また、本当に両方同時にリリースする必要があるのか(必要ないならどちらかのプラットフォームの言語だけ覚えれば良い)、すでにJavaScriptやC#などのプログラミング言語に精通しているか(これも覚えていないならKotlinやSwiftを覚えるのと同じ)といった視点から、始めてアプリ開発する方向けではないと判断します。
しかし、これらの技術は必要ないと言っているわけではありません。特にReact NativeはJavaScriptでアプリ開発できるメリットが非常に大きいですし、Flutterは2つのプラットフォームのデザインを統一するのに重宝します。
もし気になるようであれば一度調べてみてください。
スマホアプリ開発に必要なツール
次にスマホアプリを開発するのに必要なツールを見てみましょう。
Androidアプリの開発にはAndroid Studio、iOSの開発にはXCodeが必要になります。
Android Studio
先ほど紹介したKotlinを開発したJetBrains社のIDE(システム開発に便利なソフトウェア)を、GoogleがAndroid用に直したAndroid開発専用のIDEです。
https://developer.android.com/studio/intro?hl=ja
Androidアプリ開発はAndroid Studio以外でも可能ですが(実際Android Studio出始めの時はあまり使われていませんでした)、その後使いやすさが向上し、現在はAndroidアプリ開発のスタンダードとなっています。
Android StudioはAndroidスマホのエミュレーターを簡単にインストールできるようになっているので、これ一つで出来ないことはありません(そもそもAndroidを開発したGoogleが提供しているソフトウェアなので当然と言えば当然ですね)。
XCode
こちらはApple社が開発・提供していiOSアプリ開発用のツールです。アプリを構成しているファイルや、実際にアプリを動かしたりすることができます。
https://developer.apple.com/jp/xcode/
XCodeは内部に各iOS製品(iPhone、iPadなど)のエミュレーターを持っているので、むしろ「XCodeがないとiOSアプリの開発ができません」
XCodeはApp Storeから取得できるので、iOSアプリ開発にはMacが(ほぼ)必須です。
OS別のスマホアプリ開発環境まとめ
最後に各アプリの開発環境をまとめておきます。
Androidアプリ開発
Androidアプリ開発で必要なモノは次の通りです。
- パソコン
- Androidスマホ(タブレット)
- 書籍
- JavaまたはKotlin
- Android Studio
パソコンはWindowsでもMacでも問題なく開発できます。ご自身が持っているパソコンで十分開発可能です。
Androidスマホやタブレットは実際に手元の端末で試してみたい方には必要です。特にカメラなどの機能を使う場合は必須です。
Androidアプリ開発の書籍は種類が豊富にありますが、なるべく新しいものを選んだ方が開発環境の違い(バージョンなど)に悩まされる心配は減ります。
開発言語は個人的にはKotlinを推したいですが、情報が多いのはJavaかなと思います。購入する書籍の内容にもよるところです。
最後に開発環境(IDE)はAndroid Studioが良いでしょう。無料で使えて高機能なので、Android Studioがあれば十分です。
iOSアプリ開発
iOSアプリ開発で必要なモノは次の通りです。
- MacPC
- iPhone、iPad
- 書籍
- swift
- Xcode
パソコンはMacがおすすめです。Windowsでも開発できなくはないですが、アプリを公開するにはXcodeが必要になるので、初めからMacで開発する方が良いでしょう。
エミュレーターはXcode内に入っていますが、実際に動かしたい場合はiPhoneやiPadが必要になります。
iOSアプリ開発の書籍も種類豊富です。なるべく新しいものを選んだ方が開発環境の違い(バージョンなど)に悩まされる心配は減ります。
開発言語はswiftをおすすめしますが、仕事で使う場合はObjective-Cも覚える必要があるでしょう。
最後に開発環境(IDE)はXcodeになります。swiftやObjective-Cを使ったアプリ開発に必須です。
スマホアプリ開発が難しい場合はスクールの活用も検討してみよう
スマホアプリの開発は、Webアプリ開発よりも情報量が少なめな傾向にあり、かつpaizaラーニングやProgateといったプログラミング学習サイトで取り扱っていないので、少々敷居が高いと感じる方もいらっしゃるかと重ます。
どうしても独学が難しいようであれば、スマホアプリ開発ができるプログラミングスクールにエントリーすることをおすすめします。
例えば「TECH ACADEMY」ではAndroidアプリやiPhoneアプリ開発のコースを開講しています。それに加えてUI/UX(アプリのデザインや使いやすさ)のコースも開講しているので、ロケットスタートしたい場合はTECH ACADEMYなどのプログラミングスクールを活用することも検討してみましょう。
https://techacademy.jp/iphone-bootcamp
それでは、良きエンジニアライフを!