見出し画像

アプリ開発は儲かるのか?

最近モバイルアプリ開発の投稿ばかりしていてこんな質問をいただく機会が増えました

アプリ開発は簡単ですか?
副業としてどうですか?
稼げますか?
言語は何がいいですか?

この辺についてお答えできたらと思います


アプリ開発は簡単か?

難易度で言うとちょっとクセが強いかもとは思います
言語関係なくここは感じます

難易度的に言うと
低:Webデザインコーディング
中:Webフロント開発
高:Webバックエンド開発
高高:モバイルアプリ開発
という印象です
作るものにもよるのですが例えば下記の条件で考えてみましょう

  • Railsを使ってメモのWebアプリ作る

  • Kotlinを使ってメモのモバイルアプリを作る

この場合Railsの方が圧倒的に簡単です
Railsの仕様が強いということもありますがここは結構な差は感じます

入門的な話をするならどの言語でなにをしても大抵は同じです
ですが深いところに行くと当然難易度は上がります
その中で比べるとモバイルアプリの方が僕は難易度が高く感じます
RailsとKotlinの開発経験はありますので体験談です
個人差あるとは思います

ただパズルを組み合わせるようにやっていくので一番楽しいです
楽しさは保証します

副業としてどうか?

個人開発なのかフリーランスとして仕事を受けるのかって話がありますが個人開発で見ていきましょう
稼げる稼げないは一旦無視して副業としての始めやすさでいうと
めちゃくちゃ始めやすい
といい切れます
特に誰からの依頼を待つのではなく作りたいもの作ってリリースするだけなので
すべて自分で完結します
まぁこれはWebサービスでも言えますね

稼げるのか?

さぁ本題です
結論からいうとめっちゃ稼げるし、全然稼げないです
意味がわかりませんよね
ここで先程のこの一文を思い出してください

個人開発なのかフリーランスとして仕事を受けるのかって話がありますが

どちらを選ぶかで大きく変わります

ではまず個人開発から見ていきましょう

個人開発

結構厳しいです
僕はスマホが出てまだ数年という時にアプリ開発やっていましたがこの時はどれだけしょうもないものでも簡単にバンバン稼げてました
先行利益とでもいいましょうか
ほんとにアプリ作れたらそれだけでもう稼げるというとんでもない時代がありました
僕が大学生のときなので大体10年くらい前ですね

けど今はアプリって飽和状態なんです
基本的に揃っているということ
そして今アプリで戦えるのは資金を持っている人です
エンジニアやとってハイクオリティなシステムを組んでバンバン広告を出せる人です

今からシンプルな家計簿アプリを出したところでもうそれはあるし、高機能のものもあります
入る余地がないと言えますね

ちょっとYoutubeに近い印象です
昔は参入しやすく稼げたけど今は厳しい的なね
もうアプリ開発で一攫千金はきついです

ならどうやって稼ぐかって話ですがこれは違う項目にまとめておきます

フリーランス

ガッツリ稼げます
現在は大手が大規模な投資をして開発します
しかしエンジニアは不足しています
なのでしっかりとして技術があれば月に50万以上は固いです
いきなり50万いけるか?と言われたら違いますが、始めはもう少し安い単価の仕事で経験を積んでだんだん上がっていくものですから

モバイルアプリ開発のエンジニアだけの話じゃないですけど会社で経験積んだら結構な人が辞めてフリーランスになります
こういうこともあって結構人手不足なんですよねww
ちょっと悲しいです

どの言語を使うのか?

今回は4つ紹介したいと思います
お好きなものを選んでいただけたらと
僕はKotlin推しです

まず前提としてですがネイティブ言語というものが存在しています
それはIOS、Androidが公式に推奨している言語です
これを使えばパフォーマンスを最大限に活かすことが出来ます
逆にそれ以外の言語では少なからず制限がかかってしまうということです
どれくらいのアプリを作りたいかでここは変わってきます
IOSはSwift、AndroidはKotlinがネイティブ言語です

Monacaを使ったJavaScript

【難易度】低
JavaScriptは入門言語としても人気です
Webに関する汎用性は抜群で、そのWeb開発のスキルをそのままモバイルアプリ開発に投入出来ます

【特徴】
HTML、CSS、JavaScriptというWeb標準技術でアプリ開発が可能
クロスプラットフォーム開発が可能(iOS、Android両方対応)
Monacaデバッガーで実機確認しながら開発できる

【言語の汎用性】高
メインはWeb系です
Webのフロントとバックエンド双方開発出来るのはこの言語だけです
他にもデスクトップアプリなんかも作れます
とりあえずこれを学べば色々出来るようにはなります
しかし後半になると覚えることがあまりにも多くこの辺りで挫折していく人を多く見ます
React、Vue、Next.js、Nuxt.js、jQuery、Node.js、Expressなどなどやらなきゃいけないことが多数あります
あとトレンドの入れ替わりがあまりにも激しいのがネック

Kotlin

【難易度】中
JavaScriptやRuby、PHPと言った入門者に人気の言語に比べると少しだけ難易度は高いと感じます
しかしあまりにも高いわけではなく入門者でも大丈夫です

【特徴】
Androidアプリ開発の公式言語
Javaとの互換性が高い
null安全に配慮した設計

【言語の汎用性】中

案件の数で言えばAndroidアプリ開発がほとんどですが他にも
・Webバックエンド
・データサイエンス
・システム開発
など様々な場面で使われています
Javaと互換性があるのでJavaで出来ることはKotlinでも出来ます
またなんといっても最近安定版が出た「Kotlin MultiPlatform」
これによりKotlinでIOSアプリの開発もできるようになりました
双方のアプリをネイティブに開発出来るのはあまりにも大きいです
ただこの技術はまだ成長過程ということと、情報が少ないので公式のマニュアルなどを参考にしましょう
今後情報は出てくると思います
将来性が非常に高い言語
そしてフリーランスの単価が高い

Swift

【難易度】中
JavaScriptやRuby、PHPと言った入門者に人気の言語に比べると少しだけ難易度は高いと感じます。しかし、習得難易度はKotlinと同程度で、構文も比較的わかりやすいため、入門者でも十分に学習可能です。

【特徴】
iOSアプリ開発の公式言語
安全性とパフォーマンスに配慮した設計
Xcodeという強力な開発環境が利用可能
近年SwiftUIというUIフレームワークが登場し、より直感的にUIを構築できるようになりました

【言語の汎用性】中
案件数で言えばiOSアプリ開発がほとんどですが、近年Swiftはサーバーサイド開発やWebアプリケーション開発にも利用されるようになってきています。VaporやKituraといったWebフレームワークも登場しており、SwiftでWebアプリケーションを構築することも可能です。
また、TensorFlowなどの機械学習ライブラリもSwiftに対応しており、データサイエンスの分野でも活用され始めています。
まだ発展途上の言語ではありますが、Appleが力を入れている言語であり、将来性も高いと言えるでしょう。フリーランスの単価も比較的高めです。

React Native

【難易度】中
JavaScriptの知識が必要になりますが、Reactの経験があれば比較的スムーズに学習できます。
Web開発の経験がある方にとっては、馴染みのある技術でモバイルアプリ開発ができるため、学習コストは低めと言えるでしょう。

【特徴】

クロスプラットフォーム開発が可能(iOS、Android)
JavaScriptとReactの知識を活用
大規模なコミュニティによるサポート
UIコンポーネントが豊富で、効率的に開発できる
"ホットリロード"機能により、コード変更が即座に反映され、開発効率が高い

【言語の汎用性】高
React Nativeは、iOSとAndroidの両方のアプリを開発できるため、汎用性が高いと言えます。また、Web開発の技術を応用できるため、Web開発者にとっては学習コストが低く、習得しやすいというメリットがあります。
近年では、WindowsやmacOSのデスクトップアプリ開発にも対応しており、さらに汎用性が高まっています。
FacebookやInstagramなどの有名アプリもReact Nativeで開発されており、実績も豊富です。
フリーランスの案件も多く、単価も比較的高めです。

Flutter

【難易度】中
Dart言語を使用するため、Dartの学習が必要になりますが、DartはJavaやJavaScriptに似た構文を持つため、これらの言語の経験があれば比較的スムーズに習得できます。
Flutter自体も、直感的なUI構築が可能で、学習しやすいフレームワークと言えます。

【特徴】

クロスプラットフォーム開発が可能(iOS、Android、Web、デスクトップ)
Dart言語を使用
独自のUIフレームワークで美しいデザインを簡単に実現
ホットリロード機能により、開発効率が高い
パフォーマンスが高く、ネイティブアプリに近い滑らかな動作を実現できる

【言語の汎用性】低
Flutterは、iOS、Androidだけでなく、Webやデスクトップアプリも開発できますが基本的にはモバイルアプリ開発しか案件はないです
Web作っても結構遅いので
ただIOS、Android双方作りたいと考える場合のファーストチョイスには現状なっています
Kotlin MultiPlatformがどこまで今後伸びるかにもよって将来性は変わります
日本では人気ですがアメリカではReactNativeの方がマルチプラットフォームでは採用されています
その波が日本に来るかもと思うとちょっと不安にはなります
単価は比較的高め

おすすめ言語

KotlinかFlutterです
高機能なアプリを作りたいならKotlin
手早く作りたいならFlutter
という感じです
Kotlinだとアプリ開発以外にも様々な用途があるのは強みです
Flutterだと手軽に手早くアプリが作れるのが強みかと思います

案件数ランキング

Monacaの開発はちょっと別枠になりますので省きます
レバテックやリクナビ、テクフリなどを対象としGeminiにランキングを出してもらったところ
1位Kotlin
2位Swift
3位Flutter
4位ReactNative
となりました

個人開発で稼ぐには?

先ほども言った通り厳しいです
一攫千金とはいかなくても稼ぐ方法はあります
すでに存在しているコミュニティに関連するアプリを作るという手があります
例えばゲーム
何かしらのゲームの掲示板、攻略情報などをまとめたものとかはそこそこいけます
SNSを使ってそのコミュニティのフォロワーを増やしてある程度増えたら「こういうの作りました!」とかね
もしくはそのコミュニティやコンテンツアカウントに対して広告を打ちましょう
そのコンテンツに公式SNSがあればそのフォロワーを対象に広告です

ニッチな部分を攻めたら一攫千金とはいいませんがそれなりに稼ぐことも出来ます

そんな感じで実務経験を積んでフリーランスになればもっと稼ぐことが出来ます

開発にかかるお金の話

まず前提としてIOSを開発するならMacが必要です
この時点で最低でも15万弱かかります

次に実機
練習段階では別に不要ですが本格的に作り込んでリリースしたいと感じたらやはり実機はほしいです
そうなると現行モデルを購入するさいIOSはかなり高いです
Androidだと2万代からあります

リリースについて
アプリストアに登録してリリースします
ドルでの請求なので変動します
GooglePlayストアはだいたい1万〜1.5万払って登録します
Appストアは毎年1万〜1.5万払って登録します

余談ですが開発したアプリをストアを通さずに個人利用する場合
Androidは永続的に実機で利用出来ます
IOSは1週間限定で実機で使えます
個人利用する場合でもストアに登録しないと永続的に利用は出来ません

こういった点から考えるととりあえずはAndroid開発から始めたほうがハードルは低いかと思います
実機は欲しくなったら買えばいいし

一旦アプリの作り方を学んでしまえば違うプラットフォーム開発にも移行し易いですし
まあKotlinかFlutterでAndroid開発して将来的にMac購入してマルチプラットフォーム対応させたらいいと思います

教材

ちょっと宣伝になりますが最新版の教材を用意しているのでご興味あればどうぞ
KotlinとMonacaを使ったJavaScriptでの開発資料です
どれも1000円未満です
もちろんAmazonとかにもたくさんあるのでそちらも検討してください
ただ発売日だけ気をつけてください
なるべく最新のにしておきましょう


この記事が気に入ったらサポートをしてみませんか?