はじめに
先日、こんなツイートをしてみたところ、予想通り(?)最近の若い人たちは 「アプリ=スマホ用アプリ」と思い込んでる人が一定数いるようでした。
いつのまにか「アプリ」っていうと「スマホにインストールして使うアプリケーションソフトウェア」のことを指すようになってきたような。本来は「アプリケーションソフトウェア全般」を包括する用語のはずなんだけど。狭義の用法が広義の用法を食っちゃってるのがややこしいのよねー。
— Junichi Ito (伊藤淳一) (@jnchito) 2021年5月19日
日常生活においてはそれでも支障がないかもしれませんが、プログラミングを勉強する上では「アプリ=スマホ用アプリ」と思い込んでいると、他の開発者と話が噛み合わないシチュエーションが出てきます。
というわけで、このエントリでは「アプリ」という用語の語源を考えると「アプリ=スマホ用アプリ」にはならないんですよ、という話を書いてみます。
「アプリ」って何の略語?
「アプリ」という言葉は「アプリケーションソフトウェア(Application software)」の略語です。英語の"application"には「応用」という意味があるので、Application softwareのことを「応用ソフトウェア」と呼ぶこともあります。
「スマホ用アプリ」と「パソコン用アプリ」
近年、スマートフォン(スマホ)が普及してきたことから、日常生活では「アプリ」というと「スマホにインストールして使うソフトウェアのこと」を指すことが多くなってきました。ですが、本来はスマートフォンに限らず、MacやWindowsといったパソコンにインストールして使うソフトウェアも「アプリ」です。(例:Word、Excel、Chrome、Photoshop等々)
厳密に呼び分けるなら、スマホで使うアプリは「スマホ用アプリ」ですし、パソコンで使うアプリは「パソコン用アプリ(もしくはMac用アプリ、Windows用アプリ)」となります。そして、「アプリ」という用語は「スマホ用アプリ」や「パソコン用アプリ」も包含しています。
ブラウザの中で動くアプリは「Webアプリ」
インターネット回線とブラウザを利用して使うアプリを「Webアプリ」と呼ぶことがあります。パソコンのブラウザを立ち上げて、ブラウザの中でFacebookやGmailを使うときはWebアプリ版のFacebookやGmailを使っていることになります。「Webアプリ」もやはり「アプリ」という用語に包含されます。Amazonや楽天のようなECサイトも一種のWebアプリです。Webアプリは「Webサービス」や「Webシステム」と呼ばれることもあります。
Webアプリはブラウザさえあればどこでも動くので、スマホ上でもパソコン上でも使えます。
Railsで作ったアプリは「Railsアプリ」
アプリがどんな技術を使って作られているかに着目して「○○アプリ」と呼ぶこともあります。たとえば、WebアプリがRuby on Railsを使って作られている場合は、「Railsアプリ」と呼ばれます。WebアプリとRailsアプリという用語を組み合わせると、次のような例文が作れます。
「このWebアプリはRailsアプリなんだね」
上の例文を言い換えるなら、「このWebアプリはRailsを使って作られているんだね」という意味になります。
図解するとこんな感じ
ここまでの説明を図解すると次のようになります。
まとめ
このように、プログラミングを勉強していると「アプリ」という用語はあちこちに出てきます。これまでスマホしか使ったことがなく、プログラミングを勉強するのも初めてという人は、「アプリ=スマホ用アプリ」のことだと勘違いしているかもしれません。ですが、プログラミングの勉強をするときは必ずしもそうとは限りません。むしろ、「アプリ=スマホ用アプリ」であることの方が少ないので、注意してください。