アプリを開発してみたい!と思ったとき、
というところでつまづく人は少なくありません。確かにどのプログラミング言語を選ぶかで今後のエンジニア人生が決まると考える方もいらっしゃると思います。どのプログラミング言語を学ぶかによって、出来ることや、働ける業種、将来性など大きく変わってきます。
また、難しい言語を選んでしまうと挫折しがちです。そのような点から、
自分のやりたいことと違っていたらどうしよう..
と考えて、迷ってしまうことはごく自然なことなのです。
そこでこの記事では、
- スマホ・Webアプリの種類
- アプリ開発に必要な言語
- 目的別でおすすめな言語
こちらの内容を初心者にもわかりやすく解説します。
「どのアプリを開発するのか、そのアプリを開発するための言語選定」はこれから学習をするためにしっかり決める必要があります。なのでこの記事を読んで、アプリ開発に必要な基礎知識を学びましょう。
この記事の目次
まずアプリ開発の基礎を知ろう
アプリ開発を始める前に、アプリ開発に必要な基礎知識から見ていきましょう。
そこで、まずはスマホ・Webアプリの種類についてご紹介します。
スマホ・Webアプリの種類
まず、アプリの種類は大きく分けて3つあります。
- Webアプリ
- スマホアプリ
- ハイブリットアプリ
なんとなくイメージはできましたか?それでは、それぞれを詳しく見てみましょう。
Webアプリとは?
Webアプリとは、インターネット(ウェブ)などのネットワークから利用できるアプリケーションソフトウェアのことを指します。Webアプリは、Webサーバー上で動作します。GoogleやYahooなど普段よく使っているWebブラウザでそのWebアプリを操作することができます。
例えば、ランチに出かけるときなど「食べログ」を使う機会があると思います。食べログはインターネット上でレストランの情報をまとめているWebアプリで、回線さえあればどこでも見ることができますよね。
このようにインターネット上で動作するアプリがWebアプリに分類されます。
ネイティブアプリとは?
ネイティブアプリとは、アプリ自体をスマートフォンやタブレットにインストールし、端末上のみで作動するアプリのことです。
現在スマートフォン向けアプリと言えば、ネイティブアプリのことを指すケースがほとんどで、iTunesStoreやGoogle Playからインストールして、スマートフォンやタブレット上で使用するアプリは全て、ネイティブアプリケーションに分類されます。
端末へインストールするので、写真アプリやゲームはオフラインでも動き(アプリによってはオフラインで利用できない)、動作が速いのも特徴の一つです。
また、デバイス自体が持つプッシュ通知や位置情報などを使った機能を簡単に実装できるのもネイティブアプリのメリットです。
ハイブリットアプリとは?
ハイブリッドアプリは、今までに紹介したWEBアプリとネイティブアプリの特徴を兼ね備えたアプリです。ブラウザでも端末にインストールしても使用することができます。
例えば、GmailやGoogle Mapsなどはインターネット上でもアプリとしても使用できますよね。食べログやAmazonもアプリとインターネット上どちらでも使用可能です。
最近では、そういったハイブリッドアプリの開発が一般的になっています。

スマホ・Webアプリ開発に必要な言語
まずはスマホ・Webアプリを開発できるプログラミング言語(の名前)をざっと挙げてみました。
- Ruby
- PHP
- Python
- Java
- JavaScript
- Kotlin
- Swift
それぞれ、Webアプリ開発とスマホアプリ開発の2つに分けて、開発に必要なプログラミング言語をご紹介します。
スマホ・Webアプリ開発に必ず必要なスキル
まずは、スマホ・Webアプリ開発に必ず必要となるスキルをご紹介します。基礎となるスキルなので、しっかり覚えておきましょう。
HTML
HTMLとは、Hyper Text Markup Language(ハイパーテキスト・マークアップ・ランゲージ)の略で、Webページを作成するためのマークアップ言語です。
今あなたがスマホやPCでみている画面(WEBページ)は、基本的にはこのHTMLという言語(文字)によって作られています。つまりHTMLは、ハイパーテキストというテキストを使って印をつけて、文字、画像、表などを表示する言語ということになります。
CSS
CSSとは、Cascading Style Sheets(カスケーディング・スタイル・シート)の略で、ホームページの見た目を変えるための言語です。プログラミングの言語だと思われがちですが、正しくはスタイルシート言語という種類になります。
ホームページを作るとなるとまず必要なのは、先程紹介したHTMLです。しかしHTMLだけのサイトは色味もなくただ並んでいるだけの味気ないものです。しかし、これにCSSを組み合わせると、文字に色をつけたり、枠をつけたり、画像の位置を変更したりすることができます。
JavaScript
JavaScriptとは、Webサイトに動きをつけるために開発された言語です。
近年はWebサイトやアプリを開発をする上で無くてはならない存在になっており、昨今のWebサイトのほとんどにJavaScriptが使われています。
JavaScriptで作れるものは、基本的に以下のものになります。
- WEBページの動作
- WEBアプリ開発
- スマホアプリ開発
- ゲーム開発
JavaScriptの最も一般的な使われ方がWEBページに動きを付けることですが、他にもデスクトップアプリやスマホアプリ、ゲーム、IoTや人工知能開発など、様々な業界で利用が可能になっており、今後かなり用途の広がる言語として注目をされています。

Webアプリ開発に必要な言語
Ruby
Rubyは、自然な英語で読めるように工夫されており、複雑な部分が排除されていること、わずかなコードで多くの機能が実現できることが最大の魅力です。中でもテキスト処理機能が強力です。プログラミングの自由度も非常に高いので、初心者から上級者まで高い人気を誇っています。
生産性が高いRuby on Railsというフレームワークを使えることも、Rubyを習得する大きなメリットと言えます。Ruby on Railsが日本で普及し始めた2006年ごろは、ベンチャー企業を中心に採用されていましたが、最近では生産性が高いことを理由に、一般企業でも採用が増えています。
生産性が高いため1つあたりの仕事単価が高いこと、またRubyはプログラミングを楽しむことを目的に作られているので楽しく働いている方ばかりです。Rubyの詳しい解説については、以下の記事をご覧ください。

PHP
PHPは、WebサービスやWebアプリ開発で使用されるプログラミング言語で、国内でもPHP人口が10万人いると言われているほど人気のある言語です。そのため、ネット上にも情報が多く、仮にわからないことがあってもすぐに調べられます。
また、スクリプト言語であるため、すぐに動作を確認できることから比較的手軽に扱えて広く使用されている言語の1つと言えるでしょう。PHPの詳しい解説については、以下の記事をご覧ください。

Python
Pythonは、文法がシンプルでわかりやすい言語です。シンプルな文法でも非常に強力な言語で、Webアプリだけでなく、データ分析、人工知能、科学技術計算などの数学を使った専門的なモノも開発できます。
数学が使える専用のツールやライブラリなどが充実しており、数学的な難しい機能も楽に作れます。今の情報社会では情報分析や人工知能などの高度な技術に非常に関心が集まっています。
そのような高度な技術を取り扱えるPythonは、注目度が非常に高く、今後需要が上がっていく言語でしょう。また、これらの専門的な分野をこなせるエンジニアは非常に少ないので、Pythonには大きなチャンスがあると言えます。Pythonの詳しい解説については、以下の記事をご覧ください。

スマホアプリ開発に必要な言語
Java【Androidアプリ】
Javaは、オブジェクト指向と呼ばれる考え方がしっかりしている言語です。他のプログラミング言語に比べると、難易度は高いというデメリットはありますが、比較的動作速度が速く、堅牢性も高いので、挑戦に値する言語です。
Webアプリ開発用には、Play Frameworkというフレームワークもありますので、スムーズに開発できるでしょう。Javaの詳しい解説については、以下の記事をご覧ください。

Kotlin【Androidアプリ】
Kotlin(コトリン)は2011年ごろに発表されたプログラミング言語です。JVM上で動作する静的型付けのオブジェクト指向で、静的なnull安全が保証されているのが特徴としてよくあげられます。
また、Scalaなどの現代的な言語からも影響も受けており、Javaに比べてコードの記述量が少なく済むといわれています。Javaとの相互利用も出来るように配慮されている最新のプログラミング言語です。
2017年にAndroid公式開発言語に追加された事で、知名度がぐんと上がりました。Kotlinの詳しい解説については、以下の記事をご覧ください。

Swift【iOSアプリ】
Swiftとは、Apple社が2014年に発表した新しいプログラミング言語です。iPhoneやMacなどのApple製品のアプリをはじめ、Webアプリケーションまで開発することができます。
さらに2015年には、全世界にSwiftのコードが公開されました。それによって、Swiftは誰でも自由に改良できるようになったため、様々な可能性を秘めています。Swiftの詳しい解説については、以下の記事をご覧ください。

ハイブリットアプリ開発に必要なスキル
ハイブリットアプリの基本的な作り方はWebアプリをベースとしているので、HTML/CSSやJavaScriptなどの言語を主に使用します。必要な知識は以下の通りです。
- HTML/CSS
- JavaScript
- ネットワーク関係の処理
それと、Webアプリにネイティブアプリの機能を追加するには、フレームワークを使用します。そのためフレームワークに関する知識とスキルが必要とされます。
フレームワークは数多く存在し、用意されている機能はフレームワークによって違うので、開発したいアプリに合わせて最適なものを選択する必要があります。
なので、初学者にとってハイブリットアプリをいきなり開発するのは無理ではありませんが、難易度は高いでしょう。
サクッと作りたいモノから言語を選ぶ方法
今まで、それぞれのアプリ開発に必要な言語を紹介してきました。ですが、いっぱいあって正直どの言語を学ぶか悩んでしまいますよね。
このように思う人は、弊社の「学習プラン診断」を活用してください。あなたの作りたいものや目指したい働き方から最適な言語と学習プランを提案致します。
1分程度でサクッと終わるので、下のボタンより気軽に診断してみてください。
目的別で選ぶおすすめの言語は?
年収で選ぶならどの言語がおすすめ?
みんなのスタンバイによると、Pythonが2位の601万円で最も平均年収が高く、次いでRubyの562万円、PHPの522万円となっています。PythonはWEBアプリ以外にも機械学習や統計学の分野でも広く使われており、需要が高まっているためと予想されます。
スマホアプリ開発でいうと、3位のKotlin、4位のSwiftが年収ベースで考えるとおすすめと言えます。
Webアプリ開発はPython
年収ベースで、Webアプリ開発の言語を選ぶならPythonがおすすめです。
上でも紹介した通り、Pythonは機械学習の分野で使用されることが多く、AIを開発を目的とする人が多く学んでいる言語です。もちろんWebアプリの開発も行うことができるし、将来的にAIの開発を目指すことも可能になります。
スマホアプリ開発はKotlin
年収ベースで、スマホアプリ開発の言語を選ぶならKotlinがおすすめです。
Kotlinは、主にAndroidアプリの開発を目的として学ぶ人が多いです。特徴としては、Javaと同じオブジェクト指向言語で、Javaと相互利用することができます。JavaのコードをKotlinで呼び出したり、その逆もできます。すでにJavaで作られている資産を活用することができるのもメリットの一つです。
仕事の案件数で選ぶならどの言語がおすすめ?
順位 | 言語名 | リクナビ | DODA | paiza | indeed |
1位 | Java | 592件 | 3850件 | 852件 | 1327件 |
2位 | PHP | 337件 | 1962件 | 771件 | 858件 |
3位 | JavaScript | 226件 | 1218件 | 819件 | 404件 |
※各2019年5月22日時点での計測値
Webアプリ開発はPHP
求人数の多さでWebアプリ開発の言語を選ぶならPHPがおすすめです。
PHPはWEBで動いている様々なサービスやページ作りがとっても得意なプログラミング言語です。初心者から上級者までいろいろなレベルのエンジニアが使用しています。プログラミング学習の目標がWEBアプリ開発なら、PHPは適した言語だと言えます。
スマホアプリ開発はJava
求人数の多さでスマホアプリの言語を選ぶならJavaがおすすめです。
Javaは昔から良く使われている言語で日本でも未だに人気が高い言語です。その人気の理由として、Javaは基本的にどんな環境でも使える言語で、システム開発やWeb開発、アプリケーション開発など多岐にわたる用途で様々な開発に利用されているという理由があります。
学びやすさで選ぶならどの言語がおすすめ?
順位 | 言語名 | 情報量 | 学習サイト数 | 難易度 |
1位 | Ruby | ◯ | ◎ | ◎ |
2位 | JavaScript | ◎ | ◯ | ◯ |
3位 | PHP | ◎ | ◎ | ◯ |
4位 | Python | ◯ | ◎ | ◯ |
5位 | Swift | ◯ | ◯ | ◎ |
※QA学習情報サイト「teratail」で情報量を調査(調査日:2019年11月26日)
情報量2万件以上→◎、1万件以上→◯、1万以下→△
※サイト数は無料で学べるサイトがどのくらいあるかで評価しています。
例)ドットインストール、Progate、Udemyなど
5個以上→◎、3個以上→◯、3個以下→△
Webアプリ開発はRuby
学びやすさでWebアプリ開発の言語を選ぶならRubyがおすすめです。
Rubyは日本で開発されたプログラミング言語で、初めて国際規格に認証された言語です。そのため他の言語に比べて圧倒的に日本語で理解出来る情報が多いので、初学者の方にもぴったりです。

スマホアプリ開発はSwift
学びやすさでスマホアプリ開発の言語を選ぶならSwiftがおすすめです。
Swiftは、言語自体としても優れていて、「コードが書きやすく読みやすい」ようなモダン設計になっているので初心者にもわかりやすく、高速で安全な動作をするようにつくられています。Webアプリケーションを開発できる有用なフレームワークやライブラリが充実してくると、「WebアプリケーションをSwiftで開発する」ということも当たり前になってくるかもしれません。
どのアプリを開発するか迷ってしまったら?
開発しやすさを重視するならWebアプリ
どのアプリを学ぶか迷ってしまったらWebアプリ開発を学んでみましょう。Webアプリは比較的に学びやすいRubyで開発することができます。
基礎となる仕組みやスキルを覚えることができるので、まずがその基礎を身につけるところから始めてレベルアップしていきましょう。
需要を考えるならスマホアプリ
需要を考えてアプリ開発をしたいのであれば、スマホアプリがおすすめです。現在、ほとんどの人がスマホを利用してインターネットを見れる時代です。
今後はもっとその需要も伸び、より良いサービスが求められます。そのために新しいスマホアプリがどんどんでてきます。
ですが、まだまだスマホアプリ開発者が足りてない状況です。SwiftやKotlinは、他の言語と比べて比較的新しい言語です。この言語を扱える人もまだまだ少ない状況なので、未経験開発者が参入できるチャンスがあります。
ハイブリットアプリは難易度が高い
ハイブリットアプリの基本はWebアプリをベースとしています。そのため、Webアプリの知識やスキルがないと、初心者ではいきなり開発するのは難しいと言えます。
無理ではないですが、まずはWebアプリの開発から始めてスキルを磨き、ハイブリットアプリを開発するステップを踏みましょう。
初心者がスマホ・Webアプリ開発言語を学ぶ方法
独学で自力で学ぶ
こんなことを思う人は多くいると思います。そんな時、独学で学ぶ方法はいくつかあります。
- 無料学習サイト
- 本などの参考書
- スマホアプリ
などがあります。
しかし、プログラミング学習はとても難しくエラーを直す時間が約8割と言われています。
独学で学習する298名の人に侍エンジニアでは、アンケートを実施いたしました。その結果、独学での学習に挫折や行き詰まりを感じると答えた人は87.5%もいることがわかりました。
なので、大半の人は挫折してしまうという現実があります。挫折してしまう理由としは、
- エラーが解決できない
- モチベーションが保てない
- 不明点を聞けない
この3つが主な原因となっています。
独学で学ぶことは決して無理ではありません。ですが、挫折してしまうリスクがあることを覚えておきましょう。

プログラミングスクールで本格的に学ぶ
先程、独学の挫折率についてご紹介しました。それを見て独学のリスクを感じたかと思います。誰もが「挫折しない方法」を知りたいですよね。
そこで、侍エンジニアでは「挫折を感じた時にあったらよかったと感じたこと」についてもアンケートをとっています。

その結果、1番多かったものとして「不明点を気軽に聞ける環境」があげられています。プログラミング学習には必ずエラーがつきものです。そういったエラーで挫折する人が多いんです。
プログラミングスクールではそういったエラーのサポートをする体制が整っているため、挫折しにくい環境になっています。なので、未経験の人にプログラミングスクールがおすすめなんです。
このように感じる人は、サクッと話の聞ける「無料体験レッスン」に参加してみましょう。あなたの悩みや疑問点を解決することができます。
無料体験レッスンを予約する
まとめ
この記事を読んでも選べない!となったらPHPです。重要なことですのでもう一度お伝えします。私は1つのプログラミング言語で何かしらのアプリを開発していれば、他のプログラミング言語の習得も非常に容易になることを経験的に知っています。
まずは1つのプログラミング言語を習得し、アプリを開発することが本当に大事です。さあ、もう迷わないで、プログラミング習得へ向けた第一歩を踏み出してみましょう!