こんにちは、ネコ好きフリーランスエンジニアのsiroです。
皆さんは、スマホアプリを開発したことがありますか?
エンジニアとして働いていなくても、興味がある人は多いのではないでしょうか。
- 無料でアプリを作るための準備ができる
- ネットにプログラミングを学ぶためのサービスが増えてきた
という、現代だからこそアプリ開発をするためにプログラミングを始める人が増えてきましたよね。
もし、自分が思い描いたスマホアプリを作ることができたら?
ワクワクしますよね。


と悩む方もいるかもしれないので、スマホアプリを開発するための言語・ツールなどについてまとめてみました!
スマホアプリ開発の種類とは?
開発用の言語・ツールの分類として、大きく分けて3つのタイプがあります。
- iPhoneアプリ専用
- Androidアプリ専用
- iPhone・Androidどちらも可
では、それぞれどんな開発方法があるのかご紹介しますね!
iPhoneアプリ専用
iPhoneアプリ開発言語としては、Objective-c、Swiftがあります。
Objective-cが古株で、Swiftは2014年6月に公開された割と新しい言語ですね。
で、どっち使えばいいの?って話なんですが、結論から言うと、、、
Swiftの方がいいです!
「これからアプリ開発をする人」の場合、挫折せずに頑張れる環境が重要ですよね。
Objective-cは使えるまでの学習コストがとても高く、初めて使うと挫折しやすい言語でもあります。
一方Swiftは、RubyやPHPのような設計思想を取り入れていて、取り組みやすいのでお勧めです!
Swiftについてはこの記事が超まとめられていて、おすすめです!→https://www.sejuku.net/blog/curriculums-swift
Androidアプリ専用
Androidアプリ開発専用言語としては、Javaですね。
AndroidStudioという開発ツールを使って開発することができます。
少し前までは、EclipseにAndroid開発環境を作って開発していく流れでしたが、今はAndroidStudioを使うのが主流です。
JavaはAndroidアプリ以外にもいろんなアプリに使えるかつ、くいっぱぐれない言語の一つです!
それなりに学習コストはかかりますが、ゆくゆくはJavaをマスターしてエンジニアの道を突き進みたい!という人にもおすすめです!
どちらも開発可能な環境
さて、今までそれぞれ開発できる言語をご紹介しましたが、、、ぶっちゃけ、ここからが本題です。笑
先ほどご紹介した、Objective-c、Swift、JavaはiPhone、Androidそれぞれのアプリしか作ることができませんでした。
でも今は、どちらのアプリも開発することができるツール・言語があります。
Unity
2015年からメキメキと有名になってきたゲームエンジンです。
Androd、iPhone以外にも次のようなアプリを作ることができます。
URL:https://unity3d.com/jp/unity/features/multiplatform
今流行りのAR、VR、switchなんかも開発することができますね。
コーディングしなくても3Dキャラクターを動かしたり、ステージを作れたり、当たり判定などを決めることができたり、ゲームを作るために必要な要素を直感的に指定して作ることができます。
また、専門知識がなくても物理エンジンを導入できるので、重力操作、跳ね返りとかも簡単に設定できます。
そのため、初心者でも直感的にアプリを作っていけるので、おすすめです!
ゲームじゃないですが、Unityの機能を最大限使いこなして作られた面白い動画があるので最後にご紹介しておきますね。
Cocos2d-x
こちらは、2Dゲームアプリを作るためのフレームワークです。
ソースコードをゴリゴリ書いて作っていくツールなので、今までもプログラミングしてきたしとにかくソースコードを書いて2Dアプリを作っていきたいんだ!という人におすすめです。
言語はC++なのでちょっと敷居が高めですが、その分処理もめちゃくちゃ速いので、リッチなアプリでもストレスなく動くゲームを開発することができますね。
Unreal Engine
Unreal Engineは、よくUnityと比較されるゲーム開発エンジンですね。
Unityと同じく、コーディングをしなくてもゲームを作るために必要な要素を、直感的に作ることができます。
Unityとの違いはいくつかありますが、大きな違いとしては「リアルさ」ですね。
リアルさがわかる動画はコチラ
光、風景、景色、人物、建物、自然などリアルさが、Unreal Engineの方が強いです。
ただ、Unityでも機能を駆使したり、高機能のツール(Asset)を入れたりすれば同じようなことはできるので、好みの問題ですね。
- なるべく軽く、シンプルな機能から使い始めたい
- 開発するときはとりあえず無料で使いたい
- 必要なものを自分で入れてカスタマイズして使っていきたい人
- 高スペックのパソコンを持っている
- 月額2000円でもいいから、高機能なツールが使いたい
- リアルさ命
という使い分けで良いと思います。
さらに詳しいUnityとの詳しい比較は、、、ググってみてくださいね!笑
Xammarin
Xammarinは、.NETでスマホアプリを作ることができる仕組みのことです。
もともとXammarin社が有料ツールとして年間12万(Android、iPhoneどちらもだと24万)もかかるツールとして提供していましたが、2016年にMicrosftが買収し、2016年6月に無料開発ができる仕組みとして提供を始めました。
MacだとXammarinStudio、WindowsだとVisualStudioで開発することができます。
C#で開発することができるため、今まで.NETでWindowsアプリ、ASP.NETでWebアプリを作っていた人におすすめな開発方法ですね!
また、Mincrosoftテクニカルエバンジェリストのちょまどさんが激押ししているツールでもあります。
ちょまどさんの動画はコチラ
同じ言語、ツールでスマホアプリ、Windowsアプリ、WEBアプリが作れるようになるので、とってもおすすめです!
ReactNative
ReactNativeとは、プログラミング言語JavaScriptのフレームワークですね。
今まで紹介したほかのツールや仕組みとの大きな違いとしては、書いたコードの結果を待ち時間0で確認しながら開発を進めることができるという点ですね。
2. ビルドして実行する
3. アプリ画面がゆるりと更新されて、動作が確認できる
2. 結果が0秒で反映されて即確認できる
最近だと、プログラミング学習サービスのProgateがリリースしたスマホアプリもReactNativeで開発されていましたね。
ReactNativeはReact.jsの知識を生かして作ることができるので、これからjavascriptをどんどん覚えていきたい人にもおすすめですね!
最後に
今回はスマホアプリを作るための方法に特化してご紹介しました。
LINEで連絡が当たり前になり、スマホ普及率は恐ろしく高いです。
スマホアプリ開発はこれからも伸びていく分野なので、ぜひお気に入りの開発方法でチャレンジしてみてくださいね!
Siro
開発、技術、働き方、ツールなどについて発信しています。
楽しく、開発しようぜ!
最新記事 by Siro (全て見る)
- 記事の企画時・執筆時覚えておくと幸せになれるテクニック・考え方とは? - 2019-07-16
- リモートワークで体がなまっている方へ。運動を楽しい時間に変える爆笑Podcast2選 - 2019-06-25
- Slackの機能をフル活用して学習を加速させる方法とは? - 2019-06-05