「あのアプリ使えるよね~」、「アプリが固まった!」、「アプリの課金が凄い」と言った感じで、「アプリ」って言葉は老若男女問わず日常的に使われているかと思います。
そんなアプリですが、「アプリとソフトウェアの違いって何?」そんな疑問が湧いてくる方もいると思います。
そこで、今回は「アプリとは何か?」、「どんなものをアプリと呼ぶのか?」、そんなことをソフトウェアの違いを踏まえて解説していきます!
コンピュータにおけるアプリケーションの位置付け
冒頭「アプリ」という言葉を使っていましたが、正確にはアプリケーション(application)ですね。
英語をそのまま訳すと「応用、適用」なんて意味がありますが、コンピュータ上では固有名詞的な意味になるかと思います。
では、アプリケーションのコンピュータの中での位置付けを理解しましょう。
アプリケーションの位置付け
- ソフトウェアのハードウェアに分けた場合のソフトウェア側
- ソフトウェアの中でシステムソフトウェアに含まれない部分
- WordやExcel、写真加工アプリ、ゲームなど特定の機能や目的のためのもの
- OSやミドルウェアとやり取りを行う
「ソフトウェア=アプリケーション」と捉えがちですが、アプリケーションはソフトウェアの一部という点は重要ですね。
また、アプリケーションとプログラムも、若干意味合いが違っていて、一つ一つの作業をするものがプログラムで、それらをまとめたもの(設定なども含めて)がアプリケーションとなります。
さて、アプリケーションは先ほど「特定の機能や目的のためのもの」と説明しましたが、実際どんなものがあるのか見てみましょう。
アプリケーションの5つの種類
アプリケーションの種類は何かの規格で定義されているわけではありません。
ですので、人それぞれ定義は違いますが、ここでは大きく「5つの種類」に分けて説明します。
汎用系
メールソフト、Webブラウザ、ファイル管理アプリ、画像ビューアなど、汎用的なコンピュータの機能として使われているアプリケーションです。
PCにもスマートフォン、タブレットにも標準で付いているようなアプリケーションなので、非常に馴染みがあるアプリケーション群ですね。
業務系
文書作成、表計算、勤怠管理、会計処理、製品管理など、主に仕事で使うようなアプリケーションです。
MicrosoftのOfficeを代表として、毎日に業務で使うようなアプリケーション群ですね。
ゲーム・趣味系
ゲームアプリ、音楽アプリ、動画閲覧アプリ、マッチングアプリ、写真加工アプリ、動画作成アプリ、ソーシャルアプリなど、趣味や娯楽として使うアプリケーション群です。
ゲームをしたり動画などを見たりするためにはお金を払ったりすることが多いですね。
これらは人によって、使う使わないが分かれると思います。
生活系
ポイントアプリ、決済アプリ、交通系アプリ、電話アプリ、地図アプリなど、日々の生活を便利にしてくれるアプリケーション群ですね。
全く使わない人もいると思いますが、使うことのメリットは多いですよね。
その他専門系
上記のアプリケーション群の他にも色々と専門的なアプリがあり、これらを「その他専門系」と私は区分けしてます。
ニッチなものに特化したアプリケーションが多いイメージですね。例えば台風のシミュレーションアプリケーションやAppleの「Siri」やMicrosoftの「Cortana」のようなパーソナルアシスタントも専門的なアプリケーションになるかと思います。
このようにアプリケーションは日常の中で当たり前のように使われていて、突然アプリケーションが使えなくなると困ったりするものも多いですね。
繰り返しになりますが、アプリケーションの種類はアバウトなので、覚えるというよりは、何となく分類できる、くらいで掴んでいくのが良いですね。
アプリケーションの形態
上記で説明したアプリケーションを使う形態には大きく二つの方法があります!
それは「Webアプリケーション」と「クライアントアプリケーション」です。
それぞれの特徴は以下の通りです。
Webアプリケーション
- 定義:Webの仕組み・機能を使ったインターネット、もしくはイントラネット上で提供されるアプリケーションソフトウェア(プログラムの集合体)のこと
- メリット:
- クライアントマシンに専用ソフトウェアをインストールする必要がなく、管理が容易
- クライアント側の負荷が少ない
- クライアントの構成変更(バージョンアップ)に対して考慮が少なくて済む
- アップデートが容易
- デメリット
- UIがブラウザの機能に限定されるため、操作性が犠牲になる場合がある(ただし、近年はAjaxなどの利用により、専用ソフトウェアと同等の使い勝手を実現する例も増えている)
- ブラウザのバージョンに依存されてしまう(GoogleChromeなどは勝手にVerが上がる)
クライアントアプリケーション
- 定義:クライアント側で各種処理を実行するアプリケーションのこと。クライアント端末にアプリケーションをインストールし利用する
- メリット:
- 処理をクライアントとサーバで分担することにより、負荷の集中を軽減できる
- 専用のクライアントソフトウェアにより、ユーザフレンドリなインタフェースを実現できる
- デメリット:
- 専用ソフトウェアを各クライアントマシンにインストールする必要があり、運用や管理が煩雑となる
- 構築費がWebアプリに比べて高い アップデートの仕組みが難しい
それぞれ一長一短ですが、近年のクラウドサービス等の普及を考えるとPCを使う時はWebアプリケーション、スマホやタブレットはクライアントアプリケーションのイメージが強いですね。
それぞれを区分けしてみると以下のような形になります。
その他にもメインフレームやRIA(リッチ・インターネット・アプリケーション)というアプリケーションの形態もありますが、これら含めての詳細は別の記事で解説したいと思います。
まとめ
今回はアプリケーションの位置付けや種類、形態に関して解説してきました。
アプリケーションのまとめ
- アプリケーションはソフトウェアの中の一分類
- 用途に応じていくつかの種類に分けられる
- Webアプリケーションとクライアントアプリケーションがある
日々の生活において、コンピュータ(PCやスマホ、タブレットなど)は当たり前のように存在し、その中で様々なアプリケーションを当たり前のように使っています。
そして、アプリケーションを使うことで、生活が非常に豊かになったり、便利になったりしていますね。
そんなアプリケーションの位置付けや種類、形態を理解しておくことも重要だと改めて思いました。(しみじみ)
「ありがとう!アプリケーション!」
以上です。