はじめに
本記事では、プログラミングを始めたい方や、新しい言語で開発を始めたい方の中でアプリ開発に挑戦したい方を対象に、iOSアプリ(Swift)かAndroidアプリ(Kotlin)どちらを選ぶべきかを様々な比較を通して考察したものです。
iOSとAndroidとは
iOS
iOSは皆さんもご存知の通り、iPhoneというスマホ端末に入っているOS(Operatiing System)のことです。開発はAppleという会社が一括で行っており、iPod TouchやiPadなどのOSにも採用されています。OSには様々な機能が提供されており、タスク管理、メモリ管理、ハードウェア制御、画像・動画処理など様々機能があらかじめ盛り込まれています。また、Appleがデフォルトで搭載しているアプリとして、Safari、メール、電話アプリなど様々なアプリがOSに組み込まれています。
OSの開発はAppleが独占しているため、他のメーカーで開発やカスタマイズすることもできないですが、アプリ開発者用にApple Developer Connectionというアプリ開発者向けのサポートサービスを利用することで、Apple Storeから配布することが可能です。アプリ開発は以前はObject-Cという言語が主流でしたが、現在はSwiftと呼ばれる言語がメインとなっています。
Android
AndroidはiPhoneと比較して、様々なメーカが開発しているオープンソースなOSであり、各メーカーによってAndroid OSをカスタマイズしてAndroidスマホとして作られています。またOSとしての機能はiOSと大きく考えると同じですが、各メーカーによって開発可能な部分のため、京セラやソニーなどで出されている機種によって若干の仕様の違いがあります。スマホだけでなく、Kindle端末やAndroid TVなどにも使われています。
Android OSの開発は自由にカスタマイズ可能で、端末出荷も自由に行うことができます。ただしGoogle PlayにAndroid端末を掲載する場合には、GoogleのCTSと呼ばれる認証が必要です。Androidアプリを開発するにはAndroid Software Developer Kit(Android SDK)などが提供されています。アプリ開発は以前はJavaという言語が主流でしたが、現在はKotlinと呼ばれる言語がメインとなっています。
スマホ普及率
続いてはスマホ普及率から見て、iOSとAndroidどちらの開発をやっていくべきかを考えていきたいと思います。まずは日本におけるスマートフォンのOS別普及割合を見てみます。
日本における普及率
2020年4月~2021年4月の普及率を見てみましょう。下記は日本におけるモバイルOSの普及率は下記のようになっています。 PlayStationが0.07%ぐらいありましたが笑、こちらは一旦無視していただいて、2021年4月現在だと日本における普及率はiOSが65%、Androidが35%近くになっています。
グローバルにおける普及率
続いて日本だけでなく、グローバルで見てみたいと思います。下記がグローバルにおけるモバイルOS普及率ですが2021年4月時点だと、グローバルにおけるAndroidが72%、iOSが28%前後となっています。
スマホ以外の端末でのOSまとめ
日本における普及率では圧倒的にiOSでしたが、グローバルでみるとAndroidが圧倒的という結果になりましが。ここでどちらで開発を学ぶべきかという点に戻りますが、今後日本の人口が減っていき、世界の人口が増えていくるという点や、経済が日本だけにとどまらず世界に広がっていく点を考えると、スマホ普及率で考えると、ややAndroidを学ぶほうが良いという結論になりました。
スマホ以外での端末
続いてスマートフォンではない端末での比較を行ってみましょう。iOSやAndoid OSそれぞれでタブレット端末やスマートウォッチ(Wear OS)などが発売されていると思います。今後スマートフォンだけでなく、これらのタブレットやウェアラブル市場もかなり伸びてくることが予想されるため、こちらも比較してみます。
日本における普及率
まずは日本における普及率を見てみたいと思います。圧倒的にAppleですね。最近だとファーウェイのタブレットや製品もかなり人気になってきてはいますが、Appleには勝てない印象です。私の友人などものApple WatchやAir PodsなどApple製品で埋め尽くしている方たちも数多くいます。またApple以外のメーカーは全てAndroid OSを利用しているわけではなく、タブレットなんかだと独自のOSを開発されているメーカーも多々あります。
グローバルにおける普及率
次にグローバルで見た場合の普及率です。グローバルの場合も同様に圧倒的にAppleが高いですね。私も海外の方とたまにお仕事しますが、確かにApple WatchやiPadを持っている方たくさんおられます。またAndroidや独自仕様のOSを出しているメーカーのタブレットは、動作が重かったりアプリが上手く動かなかったりするので、多くの意味でAppleが優勢になると思います。
スマホ以外の端末でのOSのまとめ
スマートフォン以外でみると、こちらは確実にiOSが優勢です。今後スマートフォン以外のiPadやApple Watchなどの別デバイスでのアプリを開発も視野にいれる場合は、iOSを学んでいくのが良いと思われます。
年収比較
続いて皆さん気になる、年収で比べてみましょう。フリーランスの案件状況で見てみると、下記となりました。
フリーランスのiOSエンジニアの平均年収は800万~900万円です(2020年・レバテックフリーランスの公開求人・案件より)
引用 : レバテックフリーランス
続いて、Androidエンジニアですが、こちらも同様のサイトから引用しますと、下記となっていました。
2021年3月時点でレバテックフリーランスに掲載されているAndroidの求人・案件の平均月額単価は77万円となっており、これを12ヶ月分にして年収換算すると、Androidエンジニアの平均年収は924万円となります。
引用 : レバテックフリーランス
こちらについてはどちらも大きな差はありませんので、互角と言えるでしょう。
求人数
続いて求人数で比較してみます。アプリ開発を学ぶということはITエンジニアになりたい方や、転職を意識されている方が多いと思います。そういった意味でも、求人が少なければそれだけ働きづらくなってしまいますので重要な点ですね。いくつかの求人媒体で検索してみます。
Indeed
まずはIndeedで調べてみます。2021年5月11日現在で、iOSというキーワードで求人を検索してみると、16,457件となりました。続いてAndroidというキーワードで求人を検索してみると、 20,329件となりました。
Androidの方が4000件ほど多い結果となりましたが、大差はないと言えるでしょう。
求人ボックス
続いて、求人ボックスで調べてみます。2021年5月11日現在で、iOSというキーワードで求人を検索してみると、13,140件となりました。続いてAndroidというキーワードで求人を検索してみると、 17,691件となりました。
こちらもAndroidの方が4000件ほど多い結果となりましたが、大差はないと言えるでしょう。
doda
続いて、dodaで調べてみます。2021年5月11日現在で、iOSというキーワードで求人を検索してみると、1,339 件となりました。続いてAndroidというキーワードで求人を検索してみると、 1497件となりました。
こちらについてはほとんど変わりがありません。
求人まとめ
いくつかの求人サイトで比較してみましたが、それほど大きな差があるとは言えない結果となりました。どちらかというとAndroidの方が多めに求人が設定されていますが、1万単位の求人があるのであればそこまで食いっぱぐれることは少ないと言えると思います。
検索ボリューム
最後にSwift,Kotlinを検索ボリュームから見ていきたいと思います。どちらもプログラミング言語としてiOS,Androidのアプリ開発に使われるメイン言語としての位置づけですので、検索が増えているということは、それだけ開発者の数が増えてきているということを意味しており、開発者が多いということは競合が増えていくということを意味しています。
今回はGoogleトレンドで比較してみたいと思います。下記がSwiftとKotlinの検索ボリュームの比較結果です。
画像を見てみると検索数で言うと、Swiftの方がKotlinよりも多いということが読み取れると思います。また、過去1年を見てみると、どちらのボリュームも大きくは変わっていないことから、全体的に日本ではSwiftというキーワードが検索されているということです。
※ちなみにAndroidでは未だにJavaを使う現場も多々ありますが、今回はKotlinという点で評価しました。
よって、Kotilnが出来るエンジニアはSwiftエンジニアよりも少ないため、競合が少ないという点で、Kotlinを学ぶべきというのが優勢になります。
全体まとめ
今回はアプリ開発を始めて見たい方向けに、いくつかの比較を用いて考察してみました。結果的に述べますと、Android OSのグローバル的な普及率、求人数が若干多い点、エンジニアが不足していると考えられる点から、大きな差ではないですが、今から始めるのであればKotlinを学びAndroidエンジニアになるのが良いでしょう。
コメント