Logo white

ギークサロン ブログ
GeekSalon Blog

プログラミング初心者におすすめのアプリ開発言語

入門編

2019年03月25日

Appdev top

目次

1.アプリ開発とは

2.作りたいアプリ別おすすめ言語

3.アプリ開発に必要な言語を学べるプログラミングスクール

4.まとめ

1.アプリ開発とは

プログラミング初心者にとって、最初のゴールになる目安が、アプリを開発したという実績です。
では、具体的にアプリを開発するには、どのような事をすればよいのか。
今回は、初心者の方でもわかりやすいように、以下の手順で説明をしていきたいと思います。

アプリって?

そもそもアプリという言葉の意味からおさらいをしておきましょう。
アプリとは、アプリケーションの略であり、コンピューターの用途に応じて作られたソフトウェアのことを指します。
しかし、これはかなり広い意味での定義になるので、簡単にアプリの種類を紹介していきます。
細かく分類すると、いくつものアプリに分担できますが、今回は初心者が作りやすいアプリに限定して紹介していきます。

WEBアプリケーション

ブラウザ(SafariやGoogle GhoromeなどのWEBサイトを閲覧するツール)上で動作をするシステムのことをWEBアプリケーションと呼びます。
WEBアプリの特徴は、パソコンやスマートフォンなどにインストールすることなく、インターネットが使えれば利用することができます。
身近なところでは、twitterやYoutube、もっと幅広く捉えると、WEB上で閲覧できるホームページ全てがWEBアプリケーションということになります。
WEBアプリケーションは見た目の部分を補っているHTMLやCSSといったマークアップ言語と、クリックした時にどう動くのかを指示したプログラムを担うサーバーサイド言語で構成されています。
細かい仕組みなどは割愛しますが、私たちにとって身近なアプリケーションの一つと言えます。

WEBアプリケーションは、インターネットにさえ接続できてしまえば、パソコンやスマホなどの容量を使用することなく使える便利さがあります。
例えば、Youtubeなどはアカウント登録をしておけば、お気に入りの動画を記録しておくことができますが、自分のPCなどのダウンロードするなどして容量が必要になることはありませんよね。
twitterなどで、気に入ったツイートに「いいね」を押して、いつでも見れるようにするのも同じです。
そして、どの媒体から接続しても、同じように閲覧できるというのが大きな特徴です。

しかし、逆に、インターネットに接続できない環境では、WEBアプリは利用することができません。
また、WEBアプリをどのような環境や仕組みで作ったかといった製作者側の問題で動作が遅かったりしてしまう場合もあります。
さらに、インターネットに接続しているため、会員登録を必要とするWEBアプリではデータの流出に繋がってしまうリスクもあります。(Facebookでもありましたよね)

これらがWEBアプリの主な特徴です。

ネイティブアプリ

スマートフォンやタブレットにダウンロードして使うアプリケーションをネイティブアプリと呼びます。
スマホアプリと呼ばれることも多いですが、タブレットやパソコンなどにダウンロードして使うアプリの総称はネイティブアプリなので覚えておくとよいでしょう。
WEBアプリと違い、ブラウザを通して使用するものではなく、独自の言語によってデザインやプログラムがされています。
ネイティブアプリはスマートフォンが普及してからインターネットに携わった世代からすると、一番身近なアプリケーションかもしれません。
機動性がWEBアプリよりも早く、スマートフォンなどのデバイスと連携しているため使用しやすいのが特徴です。

ネイティブアプリはWEBアプリと比べると開発コストなどが高いです。
ユーザーの手に届くようにするためには、アプリをダウンロードできるプラットフォームに登録される必要があります。
つまり、サーバーさえ用意しておけば開発した段階で不特定多数の人が見てくれるWEBアプリと違い、審査をクリアするという壁が存在しています。
また収益を得るたびに、ダウンロード先のプラットフォームに手数料を取られてしまうという運営上のデメリットも存在しています。
しかし、一度ダウンロードされて使われるようになれば、一気に市場を勝ち取ることができる可能性も秘めています。

ハイブリッドアプリ

ネイティブアプリにはWEBサービスをより見やすくするために開発されているものが多く存在します。
例えばクックパッドというサービスは、スマホのアプリであっても、ヘッダー部分以外はWEBアプリのページを表示するといった使われ方がされています。
プラットフォームに対しての支払いなどのネイティブアプリのデメリットを打ち消すことができていますが、一方で表示しているのはWEBアプリのページのため、インターネットが使えない環境では機能しません。

サービスによって相性の良し悪しが分かれるアプリと言えるでしょう。

アプリは大きく分けると2つの型がある

先ほどはアプリの仕組みの分類を紹介しました

今度は、アプリの用途についてを解説していきます。
アプリは、それぞれサービスを運営するためのアプリなのか、ビデオゲームアプリなのかに分けられます。
それぞれがどのような特徴なのかを、実際のアプリの例を元に紹介していきます。

サービス型アプリ

twitter、Youtube、食べログ、Facebook、Amazonなど、我々が普段インターネットを使って利用しているサービスを運営するためのアプリケーションが該当します。
WEBアプリケーションとしてブラウザ上で使用することもできますし、専用のスマホアプリを使ってサービスを利用することもできます。

ゲーム型アプリ

一方、世の中には、ビデオゲームとして作られたアプリがたくさん存在しています。
特にパズドラやモンストなど、スマホアプリの中で人気を得ているものはゲーム型のアプリに多い特徴があります。
また、『ナイトメアクロス』やPC版の『遊戯王デュエルリンクス』などブラウザ上で動かすことができるゲーム型アプリも存在しています。

さらに、近年ではUnityというプラットフォームを使って、1人でも本格的なビデオゲームを開発することができるようになりました。
Unityで作られたゲームは誰でも世界中に公開ができるため、ゲーム型アプリの開発は今爆発的な人気を得ています。

アプリ開発って大学生でも出来るの?

結論、アプリ開発は大学生でも簡単に出来ます。(もちろん勉強は必要ですが)
もっと言えば、高校生や中学生、中には小学生でもアプリ開発に挑戦する人たちが増えてきています。
就職をして社会に出る前にアプリ開発に挑戦するメリットをご紹介していきます。

エンジニア不足はチャンス?大学生でも稼げます!

近年、インターネットやコンピューターを駆使したサービスを展開する企業が増えてきました。
しかし、そういった企業が抱えている問題が、エンジニア不足、つまりアイデアはあるけどアプリを作れる人がいないことなのです。
そのため、アプリ開発ができる人材は世界的にも重宝されています。それは社会人だけでなく、大学生も例外ではありません。
エンジニアの世界には年齢は関係なく、実力さえ磨けば、誰でも稼ぐことができるようになります。
特に、大学生の方にとっては、居酒屋や塾講師などの人気のバイトなどと比べても、比較にならないほどの報酬がもらえる可能性があります。

具体的な時給に換算すると、居酒屋は時給は1060円、塾講師は1200円ぐらいが平均的と言われています。
しかし、エンジニアとして仕事をもらえれば、時給換算で2000円から、すごい人では5000円くらいで仕事する人もいます。

そのままフリーランスのエンジニアとして月収50万円から100万円をコンスタントに稼ぐようになった大学生も珍しくないため、非常に夢のあるスキルだと言えるでしょう。

アプリ開発ができると就職に有利になる?

アプリ開発ができることは就職活動においても非常に有利になります。
エンジニアが不足していることで、エンジニア職でも未経験者よりは有利になりますし、マーケティングやカスタマーサポートなどの職種でもアプリ開発ができるほどプログラミングの技術をもっていれば重宝されます。アプリ開発でなくとも業務効率化の観点でプログラミングの技術はとても大事なスキルになるからですね。

また、プログラミングの技術を学ぶことは、論理的な思考を養うことにも一役買ってくれます。
特にアプリ開発ができるレベルまのでスキルになれば、何をどう設計するのか、どんな仕組みにしていくのかなどを自分で考えることにもつながるため、そのようなスキルを多くの企業は欲しがっています。
大学生の新卒では、こういったスキルは社会に出てから身につけるのが当たり前とされているため、頭一つ飛び抜けることができるのは間違いないでしょう。

アプリ開発の経験があれば、それが履歴書にもなります。
もしかしたら、有名なIT企業などに、真っ黒なリクルートスーツを着ずに訪問し、スカウトされるなんてことも夢ではありません。
実際にそういったケースで就職を決めていった人たちが数多くいるのも事実です。

アプリ開発ができると仕事に困らない

上記の話をさらにまとめると、アプリ開発ができれば仕事に困らないと言えます。
正直大学を辞めてもいいレベルかもしれません笑

それくらい、世界の需要にたいしてアプリ開発者の供給が間に合っていないのです。
つまり、大学生にとってアプリ開発に挑戦することは、人生を大きく変えることにつながると言えるのです。

プログラミング習得にかかる時間

アプリ開発ができるようになるまでにかかる時間はおよそ200時間と言われています。
200時間と聞くとすごく長いように思えますが、毎日2時間勉強して100日(3ヶ月ちょっと)で達成できます。
大学生は夏休みや春休みが長いので、さらに1日の勉強時間を確保することができれば、早い人で1ヶ月ちょっとで習得することもできるでしょう。

アプリ開発をすることを目指したプログラミングの勉強は、独学ではモチベーション維持が大変なので、スクールに通うとより効率的です。
この記事の最後でおすすめのプログラミングスクールを紹介していきます。

2. 作りたいアプリ別おすすめ言語

アプリ開発をすることのメリットは先ほどお伝えした通りですが、肝心の何をすればいいのかというお話をしていきたいと思います。
アプリ開発をするには、プログラミングを学習する必要があります。つまり、自分の開発したいものを思い浮かべ、それに適した言語を学習することから始めましょう。

ここでは、開発をしたいアプリに適した、おすすめのプログラミング言語を紹介していきます。

WEBアプリ開発に必須の言語一覧

WEBアプリ開発は初心者におすすめです。
ネイティブアプリのように審査もいらないため、簡単に世界中にアプリケーションを公開することができます。
また、サービスの垣根になるのがWEBアプリのため、起業を目指す方には基本的な作り方を知っておいて損はないです。

ここでは、WEBアプリを開発するのに必要な言語について解説をしていきます。

HTML

WEBアプリケーションの開発にチャレンジする方は、HTMLは絶対に必要な言語です。
これらはWEBアプリの見た目の部分を担当している言語でマークアップ言語と呼ばれています。

HTMLとは、WEBページの構造部分を担っている言語です。
例えば、ヘッダーの位置、メインになる情報部分、サイドバーをどこに置くかなどの骨組みの部分を担当しています。

HTMLは以下のように、タグと呼ばれるもので要素を囲っていきます。
何種類ものタグがあり、ヘッダーを意味するタグ、リストを生成するためのタグ、自由に使えるからの箱になるタグなどを使い分けながらWEBページの構造を作っていきます。

<タグ名>...</タグ名>

また、それぞれのタグには他の同じ用途のタグと区別をつけるために、idやclassといったものを付与することができます。
これは、それぞれのタグに名前をつけるようなイメージで、次に説明するCSSを使う際などに活きてきます。

CSS

CSSとは、WEBページの見た目の部分を担っている言語です。
HTMLとセットで使うことでその役割を果たします。
具体的には、HTMLで構築したそれぞれの部分の大きさや色、形などを指定していきます。
ヘッダーを大きくしたり、文字色を赤くしたり、マウスが当たっているときだけ光らせたりなど、見た目に関わるあらゆることを行なってくれます。
HTMLに反映させるためには、HTMLが書かれたファイルに、どのCSSファイルを適用されるのかを記述するだけです。

CSSは以下のようにタグの要素名を{}で囲い、その中にどのようなデザインにするのかを指定していきます。

タグの要素名 {
   プロパティ名:値;
}

タグの要素名とはHTMLタグそのものや、タグに指定したidやclass名が該当します。
プロパティ名には、具体的なデザインの指定を記入します。
例えば、colorというプロパティ名を指定し、値の部分にredと記入すれば、そのタグで囲われた要素が赤くなります。

HTMLファイル

<p>こんにちは</p>

CSSファイル

p {
  color:red;
}

このようにそれぞれに記述をすることで「こんにちは」という部分がブラウザで表示した際に赤くなります。
このようにしてWEBサイトのデザイン、見た目の部分を構築していきます。

JavaScript

JavaScriptはWEBアプリケーションをより動的なものにするために必要な言語です。
仕組み上、JavaScriptがなくてもWEBアプリは機能しますが、JavaScriptが扱えないWEBアプリのエンジニアでは仕事はもらえないため、稼ぐことを目的とするならば、必ず身につけましょう。

JavaScriptには、様々なフレームワークと呼ばれる使い方のようなものが存在しています。
例をあげるとキリがないのですが、自身の作りたいアプリをより良いものにするために必要になりそうなフレームワークを勉強しましょう。

JQuery、React、AngularJS、Vue.jsなどは抑えておくと色々な場面で役に立つでしょう。

サーバーサイド言語

そしてWEBアプリケーションに必須になってくるのがサーバーサイド言語です。
サーバーサイド言語とは、WEBアプリがどのように動くのかなどのロジックを担当している言語になります。

世の中のWEBアプリには、データーベースとロジックが必要不可欠です。
例えばFacebookでいうと、ユーザーのデータや投稿のデータなどです。
さらに、Facebookのタイムラインには、リロードされたら常に最新の投稿データが表示されるというロジックが必要になります。

データベースへのデータの保存や取り出し、また、取り出したデータをHTMLやCSSに加工して表示させるといった役割を担っているのがサーバーサイド言語です。

サーバーサイド言語には種類がたくさんありますが、書き方が違うだけで、大きな役割は同じです。
方言の一種のように捉えるとわかりやすいと思います。
どれか一つの言語に精通すれば、他の言語も、最初に取得した言語よりも短時間で身につけることが可能です。

おすすめのサーバーサイド言語は?

サーバーサイド言語は数多く存在しますが、多く存在するだけ何から始めればいいのか迷ってしまう要因にもなります。
そこで、初心者が学ぶ上でオススメのサーバーサイド言語を紹介させていただきます。

Ruby

Rubyは、まつもと ひろゆき さんという、日本人が作ったサーバーサイド言語で初心者におすすめできる比較的簡単な言語です。
RubyはRuby on Railsという、とても優秀なフレームワークが存在しており、これを使うことでHTML.CSSと組み合わせて非常に簡単にWEBアプリケーションの開発ができます。

アプリ開発を行う上で、初心者が挫折するポイントがエラーが解決しないことです。
しかし、Ruby on Railsはエラーの文章もわかりやすい(といっても最初は難しいです笑)ため、初心者が挫折しにくいのがオススメできるポイントです。

デメリットとしては、稼ぐといった観点では案件がたくさんあるわけではない(日本はまだ多い方です)という点です。
初心者がWEBアプリ開発を学ぶ入門用の言語として学習してみると良いでしょう。

PHP

PHPも初心者におすすめできるサーバーサイド言語の一つです。
世界でWEBサイトの大きなシェアをもつWordpressもPHPで動いていることや、Laravelといった優秀なフレームワークが存在するため稼ぐといった観点でもおすすめできるサーバーサイド言語です。

しかし、LalavelはRuby on Railsよりも少し難易度が高い(高機能であるがゆえに複雑)面もあるので、プログラミングが本当に初心者の方はRailsから勉強するのがおすすめです。
Railsでフレームワークの感覚をつかみ、Laravelに挑戦して稼げるエンジニアになるというのがいいでしょう。

もちろん、自信がある方はいきなり挑戦してみてください!

一方Wordpressを扱えるようになれれば大きな一歩になります。
比較的簡単なPHPコードさえできれば、こちらは扱えるため、初心者の案件獲得に役立ちます。(厳密にはアプリ開発ではない)

その他の言語

サーバーサイド言語には、他にもJavaやPythonなど人気の言語が存在しています。
しかし、これらは複雑かつ難しいため、初心者には向いていません。
まずは比較的簡単なサーバーサイド言語から挑戦し、その後腕を磨いてから挑戦するのがよいでしょう。

スマートフォンアプリ

次にスマートフォンアプリ開発をする際におすすめの言語を紹介していきます。

Swift

SwiftはiPhoneアプリを開発するための言語です。
XcodeというMac専用ツールを使用しなくてはいけないため、Macユーザーでないと取り扱えない言語です。
アプリの言語としては、初心者向きであり、UI上で見た目の部分も調整しながら開発を進めていきます。

またiPhoneアプリ開発を行っている企業も多いため、大学生の方などはインターンシップのチャンスもたくさんあります。
iPhoneアプリエンジニアになれば、その後の市場価値も高まると考えられるので、ぜひチャレンジしてみてください。

Kotlin

KotlinはAndroidアプリを開発するための言語です。
歴史のある言語ではないので、初心者におすすめできるかと言えばYesとは言い難い言語です。
しかし、Androidアプリのメイン言語にこれからなっていくため、Androidでアプリを開発したい方は避けては通れません。

こだわりがなければアプリ開発に関してはiPhoneアプリのSwiftを学ぶほうが良いでしょう。

ゲームアプリ

ゲームアプリを開発するには、先ほどWEBアプリやスマホアプリで紹介した言語でも可能です。
しかし、本格的なゲームアプリを開発したい方はUnityを学ぶべきでしょう。

UnityとC#

Unityとは、誰でも無料で利用できるゲーム開発環境サービスです。
WindowsとMacの両方に対応しているのも特徴です。

ゲームを開発すると聞くと、ハードルが高く感じますが、それを誰でも簡単に開発できるようにしたのがUnityというサービスです。
UnityはPS4やXboxOneなどのコンシュマー機から、iPhoneやAndroidなどのスマホゲームの開発まで行えます。
言語はC#という言語を使用します。

2Dゲーム、3Dゲームどちらにも対応しているため、PS4などで遊ぶ本格的な3Dゲームから、スマホで遊ぶ簡単なゲームなども開発できます。
ゲームの中身を作る際にはプログラミングが必要ですが、オブジェクトなどを生成する際にマウス操作で直感的に開発ができるのも特徴です。
3Dゲームを作る際に、3Dのモデルを作るのは専門的な技術が必要ですが、それらも無料のツールとして用意してくれています。

近年ではUnityを使ってゲームを開発する会社も増えているため、ゲームが大好きでゲーム製作者になりたいという方はチャレンジしてみてください。

[](../_images/appdev_lang_recom/Appdev_04.jpg)

3.アプリ開発に必要な言語を学べるプログラミングスクール

最後に、アプリ開発に必要な言語を学べる、おすすめのプログラミングスクールを紹介します。

GeekSalon

GeekSalonは大学生限定のプログラミングコミュニティです。
料金は月額¥29,800を3ヶ月間支払うような形になっています。
つまり、3ヶ月で¥90,000以下(税抜)という値段なので、大学生にとっては一番お得なプログラミングスクールです!

コースはiPhone,ゲーム開発,WEBサービス,WEB EXPERTの4つのコースが用意されており、
言語もRuby、Swift,C#など、今回紹介をさせていただいた言語が多数学習できます。

メンターと呼ばれる講師がいて、教室が空いている時間はメンターが常駐しているため、いつでも質問することができるため、エラーの解決に手こずっている時や、どうしても言葉や概念の意味がわからない時などすぐ解決することができるのが特徴です。

またSlackというチャットアプリを用いてオンラインでの質問をすることも可能なため、家でも学習することができます。

オンラインカリキュラムに関しては受講後も閲覧可能で、教室スペースも受講後も使用可能なため、アプリ開発をさらに極めて行きたい方にとってはより良い環境と言えるでしょう。

受講後にもサポート可能という点とコミュニティのシナジーは 一緒に何かを開発する仲間を見つけることなどにも役立つかもしれません。

GeekSalonの詳細

|料金 |¥89,400(税抜)|

|受講期間|3ヶ月|

|学習方法|教室で質問orオンラインで質問|

|メンター|GeekSalonの卒業生|

GeekSalonの料金は他と比べても非常に良心的な値段です。
3ヶ月で¥90,000しかかからない上に、コミュニティ型スクールなので、多くのプログラミング学習をしている大学生とも繋がることができます。

GeekSalonではアプリ開発やゲーム開発の無料体験なども行っているので、大学生の方で気になる方は是非足を運んでみるといいでしょう。

TECH::CAMP

TECH::CAMPも教室とオンライン形態を兼ね備えたスクールです。
教室は開講時間のみ、オンラインは13-22時までの間で質問し放題となっています。
特徴的なのはサブスクリプション型のモデルを取っており、卒業という概念はなく、ジムのように好きなだけ通い続けることができます。

学べるのはWEBアプリケショーン、デザイン、AIの基礎の3つになっています。
WEBアプリケーションのコースに関しては、オリジナルサービスやアプリケーション開発のフォローも行なってくれるようです。
そして、このWEBアプリケーションコースで扱っている言語はRubyなので、初心者おすすめのスクールと言えます。

料金は入会金が初月に¥148,000発生し、その後は1ヶ月ごとに¥14,800を支払う形で通い続けることができます。
GeekSalon同様にメンターは大学生エンジニアや、過去に通っていた受講生などが中心です。実務レベルという点では他のスクールに劣りますが、同じ初心者だったころの気持ちを汲み取りながら教えてくれる点は、心強いと感じられるでしょう。

TECH::CAMPの詳細

|料金|¥148,000|

|受講期間|1ヶ月|

|学習方法|教室での質問orオンラインで質問|

|メンター|卒業生や現役エンジニア|

1ヶ月あたりの料金は安いですが、入会金が発生するため、少し高めの値段設定になっています。
大学生が通うスクールとしてもオススメですが、どちらかというと社会人でさらにキャリアアップしていきたい層にオススメのスクールという印象です。
TECH::CAMPはプロのエンジニアを育成することを目的としたTECH::EXPERTも運営しています。
TECH::CAMPを過去に受講した受講生はTECH::EXPERTを¥100,000割引で受けられる特典があるので、さらに極めたいという人はそちらにアップグレードするのも良いかもしれませんね。

TECH::CAMPでも無料の体験会を行っているので、興味がある方は是非行ってみてください。

Tech Academy

Tech Academyはオンラインスクールの代表的なスクールです。
何よりもカリキュラムの豊富さが特徴的で、目的にあわせて様々なことが学べます。
大学生の方には、学割制度も導入されており、3ヶ月受講しても¥149,000で受講できます。
また、複数のコースをセット受講などもできるので、色々な技術を学んで活かすこともできます。
メンターは実務経験のあるエンジニアが対応してくれます。
唯一欠点があるとすると、定期的なビデオ通話による指導はあるものの、基本的にはチャットでの質問対応になってしまうという点です。パソコンスキルは必要最低限持っていると良いでしょう。

Tech Academyの詳細

|料金|¥89,000(学生)|

|受講期間|1ヶ月|

|学習方法|オンラインで質問形式|

|メンター|現役エンジニア|

コースは29コースと豊富で、もちろん今日紹介した、Ruby、PHPなどのWEBアプリケーション開発を学ぶコースもありますし、iPhoneなどのスマホアプリコースやUnityのコースも存在しています。

Tech Academyでは1週間の無料体験入会を行なっています。
こちらも気になる方はチェックしてみましょう!

Code Camp

Code Campの特徴は、講師によるレッスンを何度も受けることができるという点です。
レッスンはあらかじめアプリを用いて予約をすることで、時間になったらビデオ通話をもとにレッスンが始まります。
Code Camoで学ぶことができるカリキュラムはWEBアプリケーションの開発です。
また、スマートフォンのアプリ制作も受講ができます。
料金は一番安いコースで2ヶ月¥148,000です。
Tech Academyより単価は高いですが、その分レッスンし放題な点は初心者にとって安心できます。

Code Campの詳細

|料金|¥148,000|

|受講期間|2ヶ月|

|学習方法|オンラインでマンツーマン|

|メンター|現役エンジニア|

コースは全部で11コースありますが、やはりここでもPHPとRubyを学ぶことがおすすめです!

スクールでアプリ開発を学習したあとは

スクールでアプリ開発の流れを学習し、何かしら自分でオリジナルのアプリを開発することができたら、ぜひ仕事の受注を目指しましょう。
クラウドソーシングサイトで探してもいいですし、大学生の方はインターンシップなどに応募してみるのもおすすめです。

とくにインターンシップに行けば、現場でアプリ開発を学ぶことができます。
スクールでは限界のある最先端の技術などを実務を通して学ぶことは、とても効果的で、さらに自身の市場価値を高めることになるでしょう。

4.まとめ

今回はアプリ開発ができるようになることのメリットや、おすすめの言語を紹介させていただきました。
本文中にも述べましたように、プログラミングスキルを習得し、アプリ開発ができるようになることは大学生でも可能ですし、今後大きく稼げるようになることも可能です。
最後まで読んでいただいて、アプリ開発に興味が湧いてきた方は、是非プログラミングについて調べてみてください!

GeekSalonの説明会のお申込みはこちらから!