プログラミング言語を覚えて自分でアプリやゲームを作りたい!
でも、どのプログラミング言語を使えば作れるのか分からない、、、
という方もいるのではないでしょうか?
今回は、
・プログラミングで作れるものはどんなものがあるか
・どのプログラミング言語を使えば作りたいものが作れるのか
をご紹介します!
プログラミング開発のカテゴリ
プログラミング言語は、世界中で200種類以上あるとも言われています。
そしてプログラミングで作れるものは大きく次の6つのカテゴリーに分けることができます。
・Webアプリ/Webサービス
・スマホアプリ(ネイティブアプリ)
・ハイブリッドアプリ
・ゲーム
・システム
・AI/機械学習
それぞれのカテゴリーについて簡単にご紹介します。
Webアプリ/Webサービス
Webアプリ、Webサービスとは、スマホアプリなどのようにインストールする必要がなく、ブラウザ上などWeb上に公開されている全てのアプリやサイトを指します。
SNS | Facebook |
---|---|
ECサイト | Amazon 楽天 |
仕事関連 | Skype ChatWork |
情報 | メルカリ クックパッド |
WebアプリやWebサービスには、「HTML」と「CSS」でWebサイトなど見た目の部分を作成します。
そして、Webサイトに動きを持たせたい場合に「JavaScript」、サーバー側には「PHP」が主に使用されています。
他には「Ruby」や依存の少ない「Java」を使用することもあります。
スマホアプリ(ネイティブアプリ)
ネイティブアプリケーションは、アプリ自体をスマホやタブレットにインストールし、端末上でのみ動作するアプリを指します。
スマホアプリはOSによって使用する言語が異なり、アンドロイドとiOSの両方で使えるアプリでも中身は違った言語が使われています。
チャット | LINE カカオトーク |
---|---|
決算アプリ | PayPay QUICPay |
その他アプリ | 音楽や写真、マップなど |
iPhoneなどのiOS向けアプリの場合は、「Swift」や「Objective-C」が主に使用されています。
また、Android向けのアプリの場合は「Java」や「C#」が主に使用されています。
ハイブリッドアプリ
ハイブリッドアプリは、Webアプリとネイティブアプリの特徴をもっています。
ブラウザ上で使用でき、さらに端末にインストールしたアプリでも使用できるアプリを指します。
SNS | Facebook |
---|---|
動画 | YouTube U-NEXT |
ECサイト | Amazon 楽天 |
情報 | メルカリ クックパッド |
このカテゴリーでは「Java」や「JavaScript」が主に使用されています。
ゲーム
ゲームは、SwitchなどのTVゲームやスマホゲーム、PCゲームなどあらゆる媒体で開発されています。
それぞれ開発する媒体によって必要となるプログラミング言語が違います。
TVゲーム | PS4 Switch |
---|---|
リアルゲーム | VR(仮想現実) MR(拡張現実) |
PCゲーム | Windows Mac |
スマホゲーム | ポケモンGo パズドラ グラブル |
ゲーム開発会社の多くでは「Unity」という統合開発環境が使用されています。
「C#」や「JavaScript」が「Unity」に使われることの多いです。
システム
システムとは、携帯電話やテレビ、洗濯機、自動車、製造ロボットなど私たちの周りにある電子製品や電気製品に組み込まれているコンピューターシステムを開発するものです。
組込み系 | 電子製品 医療機器 |
---|---|
スマホ | iPhone Android |
自動車 | ETC カーナビ |
ソフトウェア | 銀行システム 業務システム |
特に定められた言語があるというわけではありませんが、「C言語」「Java」「Python」辺りがよく使用されています。
AI/機械学習
人工知能は現代社会において、様々な場面で使われています。
車の自動運転やSNOWなどの画像認識アプリ、音声認識でいえば「Siri」などが有名です。
音声/画像認識 | Siri 監視カメラ |
---|---|
データ分析 | 天気予報 相性診断 |
AIなどで使用されている言語は、「Python」や「R言語」があります。
ですが、人工知能を開発するためにはプログラミング言語以外にも数学の知識など様々な要素が必要なため、難易度はかなり高い分野になります。
またエッジAIやAIに必要なセンサーの開発では「C言語」が使われる場合もあります。
まとめ
プログラミングで作れるもの/開発業務について調べた内容を簡単にまとめました。
プログラミング初心者で参入しやすいのはこの順番かなと思います。
1. Webアプリ/Webサービス
2. ハイブリッドアプリ
3. スマホアプリ(ネイティブアプリ)
4. ゲーム
5. システム
6. AI/機械学習
Webアプリ/Webサービスの分野については、ブログ/アフィリエイトに関係するので、私はこの辺りから勉強を進めて何かアプリやサービスが作れたらいいなと思っています。
(勉強記録としての記事も作成予定です)