アプリケーションソフトウェア (英 : application software )あるいはアプリケーションプログラム (application program)は、ある特定の機能や目的のために開発・使用されるソフトウェア [ 1] [ 2] で、コンピュータ の操作自体のためのものではないもの[ 2] 。コンピュータ・プログラム の一種であり、たとえば、ワープロソフト 、表計算ソフト 、イラスト作成(お絵かき)用ソフトウェア、写真加工用ソフトウェア などを指す。
日本語 ではアプリケーションソフト 、アプリケーション 、または単にアプリ とも略される[ 1] 。「アプリケーション」は「応用 」の意で応用ソフト 、応用プログラム とも呼ぶ[ 1] 。英語ではapp (アップ)の略語が用いられる。日本語では「アプリ」という略称の用例は1980年代から存在する[ 注釈 1] 。マイクロソフト もWindows 10 あたりから、アプリケーションソフトウェアのことをアプリと呼ぶようになった(初心者向けの説明書や宣伝パンフなどの場合[ 注釈 2] )。
ソフトウェアの階層図
概要
アプリケーション・ソフトウェアという用語・概念と対比されている用語・概念というのは「システムソフトウェア 」であり、システムソフトウェアのほうは、計算機 のきわめて基本的な機能や資源を管理・提供する役割のソフトウェアであり、譬えて 言えば「裏方的な存在」である。
アプリケーションソフトウェアの例としては、たとえば一般的な事務所(オフィス)での基本的な事務 作業を支援する分野では、ワープロソフト、表計算ソフトウェア、プレゼンテーションソフトウェア (会議資料作成)、データベース管理システム (DBMS) などが挙げられ、その他の分野では、映像・音声などを再生するためのメディアプレーヤー 、ペイントソフト 、画像編集 ソフトウェア、動画編集ソフトウェア 、ゲームソフト ...と、現在では網羅的に列挙することは困難なくらい膨大な種類のアプリケーション・ソフトウェアがある。特にスマートフォン (という電話 機能も持った携帯可能なコンピュータ)が登場し、スマートフォン上で動くアプリが流通するようになってからは、数(個々のソフトウェアの数、本数、個数)もジャンル の数も爆発的に増えてきており、最初はそれぞれ数百個程度の数で始まったのに、2020年時点で、Android 上で動きGoogle Play Storeで流通しているアプリは約256万(個、種)、iPhone 上で動くアプリは約185万(個、種)という状況である[ 9] 。ジャンルも、個人が仕事抜きで、きわめて私的に使うようなものの比率が圧倒的に増えてきている。→#モバイルアプリケーション
(アプリケーション・ソフトウェアの能力はさまざまであり)テキストを操作するアプリケーションもあれば、数式、グラフィックス、あるいはこれらの組合せを操作するアプリケーションもある。ワードプロセッサ のように特定の作業に特化することで強力な計算能力を提供するものもあれば、個々の作業をこなす能力は低くても、いくつかのアプリケーションを統合したソフトウェアもある[ 10] 。
組み込みシステム やデジタル腕時計 、簡易的なゲーム機 などでは、アプリケーション・ソフトウェアとシステムソフトウェアは利用者から見て区別できない場合がある。例えば、ビデオテープレコーダ 、DVDプレーヤー 、電子レンジ などの制御は、アプリケーションソフトウェアとシステムソフトウェアの組み合わせによって実現されることがあるが、そのような機器内部の組み合わせは、利用者には区別することができない。また、アプリケーションとシステムソフトウェアを分けずに作成されている場合も有る。
なお、世の中の多くの人が共通的に利用できるものとして、汎用化して売り出したものをパッケージソフトウェア と呼ぶ。会計処理や給与 計算、製造業 ・小売業 などの多くの分野に対して、業務用や会計用、人事や査定用のパッケージソフトウェアが販売されている。
近年のパッケージソフトウェアには、Jakarta EE とApache Struts を利用した、ウェブアプリケーションサーバ上で稼働するものがある。2000年代 初期より、Iアプリ など、携帯電話上で動くアプリケーションソフトウェアも登場した。
制作方法
アプリケーション・ソフトウェアの制作(開発)というのは、近年では一般に統合開発環境 を使って行われている。このアプリケーションを作成するソフトウェアもアプリケーションの一種でもある。→#アプリケーションソフトウェアの制作
用語論
OSとの線引き
オペレーティングシステム (OS)などのシステムソフトウェアとアプリケーションソフトウェアの境界は様々であり、OSの製造者によって異なる。利用者の間でも境界をどう見なすか判断が分かれることがあり、自分が利用しているOSの製造者と同じ考えを採ろうとする人もいるが、OSの製造者ごとに見解が異なるので人々の間でも見解が異なるという結果になり、またOSのインストールパッケージに含まれる物をアプリケーションとするのかしないのか、小規模なソフトウェアもアプリケーションとするのかしないのか、シェル をアプリケーションとするのかしないのか、などは、しばしば議論の元となる。
コンテンツとの関連
コンテンツ は広義には全ての具体化されたソフトウェアを含むことがあるが、アプリケーションソフトウェアと対比される場合には、該当ソフトウェアが作製、編集、出力、管理する対象物を指す。多くはコンテンツ自体がデジタルデータである。例えば、画像処理ソフトウェア はアプリケーションソフトウェアであり、作製・編集されたデジタル画像 をコンテンツと称する。
該当ソフトウェアがコンテンツと称し、実行ファイル 形式で出力する場合もある。また、開発環境と呼ばれるアプリケーションからはコンテンツとしてアプリケーション(実行ファイル)が出力される。
分類
さまざまな分類法がある。
たとえばコンピュータなどの種類で分類して、スーパーコンピュータ 用 / メインフレーム 用 / 汎用PC 用(Windows 用 / Macintosh 用) / スマートフォン ・タブレット端末 用 (Android 用 / IOS 用) / 携帯電話 (フィーチャーフォン )用...などと分類する方法がある。
目的とする機能や仕事の大まかな分類にもとづいて以下のような分類が行われることもある。
コンテンツ開発ソフトウェア / コンテンツアクセスソフトウェア - コンテンツの作成を行うか
プロダクティビティ・ソフトウェア - 以前は「Officeソフト」などと分類していたが、最近はproductivity(software)と分類することが一般的になってきている。[要出典 ]
プロダクティビティ・スイート [ 11] [ 12] [ 13] (オフィススイート ) - 文書を作成するワープロソフトや、表計算ソフト、プレゼン資料作成ソフト、等々がひとつのパッケージにされているもの。かつては各社とも「オフィス・スイート」と呼んでいたが、その後近年になりそれがどのように使われているか実態調査したところ、実際に使われている回数・頻度というのはオフィス(事務所)ばかりでなく、むしろ個人・学校・家庭などでも使用され、というより、世の中全体ではむしろ個人・学校・家庭のほうが使用頻度が上回る場合があるということが判ったので、マイクロソフト社やアップル社でも「office suit」という呼称を止めて、「productivity suit 生産性スイート」と呼ぶようになってきており、業界全体がそれに追従しはじめている(日本では追従がワンテンポ遅れる傾向があるが、MSやAppleや大手の開発会社のサイトなどでは最近では日本語の説明でも「プロダクティビティ・スイート」や「生産性スイート」と呼び始めている。)。
企業ソフトウェア / 企業基盤ソフトウェア
エンジニアリングソフトウェア / シミュレーションソフトウェア
おおまかに見れば以上のような分類があるわけだが、細かく見てゆけば、この世で行われている仕事の種類や、タスクの種類、あるいは(特にスマートフォンやタブレット向けのアプリケーション開発が活発化してからは)一般的な仕事上の必要性だけでなく、個々人の趣味や興味の種類の数に対応するほどの、膨大な種類のアプリケーションが日々作られているような状況になっている。
モバイルアプリケーション
まず、最近特に台数が圧倒的に増え、アプリケーションの数も他の種類のコンピュータよりも圧倒的に増えてきており、その開発に従事しているエンジニアの人数もすでに他種のアプリケーションを圧倒する状態になっている、スマートフォンやタブレット用のアプリケーションから解説することにする。
近年のスマートフォンでは、購入時に、数十ほどのアプリケーション・ソフトウェアがあらかじめインストールされている(プリインストール)状態になっている。たとえば今仮に、Androidスマートフォンのうちシャープ 製でソフトバンク から販売されているものを例にとると、以下のような状態である。
これでも実際のリストのまだ一部にすぎないが、ともかくこのように、スマートフォンのアプリでは、1980年代 や1990年代 にアプリケーションソフトウェアを分類していた時の、オーソドックスな(古臭い)カテゴリ枠ではもはや簡単に分類することができないような種類のアプリケーションが多数出現してきている。
Androidを搭載している端末ではGoogleアカウント でログイン すれば、Google Play Storeに掲載されている250万種類以上のアプリケーションから自由に選んでダウンロード およびインストール して使うことができる。しかも、一部に広告が少し表示されることを我慢すれば、ほとんどが無料である。開発者によっては、広告表示も一切無しで、アプリケーションを無料で人々に公開している。
オープンソース や自由ソフトウェア のAndroid向けアプリケーションを扱う、F-Droid というアプリケーションストアも存在する。
AppleのiPhoneやiPad では、App Store から多くのアプリケーションを入手できる。
携帯電話用アプリケーション
携帯電話(フィーチャーフォン)用のアプリは携帯アプリ と呼ばれていた。
コンテンツ開発ソフトウェア
コンテンツ開発ソフトウェア (contents development software) とは、他者に発信するための印刷 コンテンツや電子コンテンツを制作するためのソフトウェア。グラフィックアート、電子出版 、マルチメディア開発などが含まれる。
コンテンツアクセス・ソフトウェア
コンテンツ・アクセス・ソフトウェア (contents access software) は、基本的には編集することなくコンテンツにアクセスするソフトウェアだが、コンテンツ編集機能を持つ場合もある。デジタルエンターテイメントの消費を目的としたり、デジタルコンテンツを出版するのに使われることもある。
教育ソフトウェア
教育ソフトウェア (educational software) は、コンテンツアクセスと似ているが、教材を提示するだけでなくテストを課すことで学習状況を管理する点が特徴的である。また、グループウェア的要素を持つことが多い。
プロダクティビティ・スイート(オフィス・スイート)
有名なアプリケーションスイート の一例としてはOpenOffice.org を挙げることができる。ソフトウェアスイートであり、そこにはワープロソフト、表計算ソフト・プレゼン用ソフト・データベースソフト・ドロー用ソフトなど複数のアプリケーションソフトウェアがまとめて入っていて、しかもオープンソース であり、無料でダウンロードして利用できた。現在はLibreOffice とApache OpenOffice とに分派しており、現在も使える。
複数のアプリケーションがひとまとまりにされたもの、一種のパッケージに同梱されたような状態になったものを、アプリケーションスイート (application suite) と呼ぶことがある。例としては、ワードプロセッサや表計算ソフトなどを同梱した、Microsoft Office とOpenOffice.org が挙げられる。スイート内の各アプリケーションの特徴としては、操作のユーザインタフェース に一貫性があり、表計算ソフトで作成したスプレッドシートをワードプロセッサの文書内に埋め込むなど、相互のデータ のやりとりが考慮されていることが挙げられる。
インフォメーションワーカー向けソフトウェア
インフォメーション・ワーカー・ソフトウェア (information worker software) とは、組織内の個々のプロジェクトで、個人が情報 を生成し管理するニーズに対応したソフトウェア。例えば、時間管理、資源管理、ドキュメンテーションツール、解析ツール、グループウェアなどがある。ワードプロセッサ、表計算ソフト、電子メールクライアントやブログクライアント、個人情報管理システム、各種メディアエディタなどは、様々なインフォメーションワーカーの仕事で使われる。
企業ソフトウェア
企業ソフトウェア (enterprise software) は、組織のプロセスやデータフロー のニーズに対応したもので、大規模な分散環境であることが多い。例えば、財務管理、顧客関係管理 (CRM)、サプライチェーン・マネジメント (SCM) などがある。部門ソフトウェア (departmental software) は企業ソフトウェアの一種であり、大きな組織内のより小さな部分を扱う。例えば、出張旅費管理、ITヘルプデスク などがそれに当たる。
企業基盤ソフトウェア
企業基盤ソフトウェア (enterprise infrastructure software) とは、企業ソフトウェアシステムをサポートするために必要な共通機能を提供するものを指す。例えば、データベース 、メールサーバ 、ネットワーク管理 、セキュリティ管理などがある。
シミュレーションソフトウェア
シミュレーションソフトウェア (英語版 ) は、シミュレーション するためのソフトウェア。使用目的は多種多様であり、予報、予測、研究、訓練、娯楽など。航空工学 での航空機の流体力学的分析、天体物理学 での利用(たとえば個々の惑星や小惑星の動きの予測や過去の位置の再現、銀河の回転のシミュレーション)、気象予報 全般(たとえば天候、雨雲位置の予測、気温・風向の予報 等々等々)、気象 現象の予測、気候変動 の長期予測・研究(たとえばCO2 の放出量に応じた気温上昇の具体的な数値の算出など)、応用化学 、製薬 、マクロ経済 やミクロ経済 の予測、交通量 の予測、感染症 が社会や集団に属する人々の間で相互に感染してゆく過程や程度の予測...等々、現代では数えきれないほどのシミュレーションが行われている。たとえばここ数十年の精度の高い気象予報というのは、スーパーコンピュータ上で走るシミュレーションソフトウェアの上で、架空の大気空間と地表などを(数億マスなど)多数のマス目で区切り、各マスの気温、気圧、水蒸気量、風向、風の強さ、日照...等々に関するデータを設定し、その膨大な量のデータに対して膨大な量の演算を高速に行い、各マス内の変化と周辺のマス目への影響など、相互作用 を、細かい時間に分割して計算することで実現できている。1950年代 や1960年代 のようにコンピュータシミュレーション抜きの手法、つまりわずかなデータを用いて人の頭脳で大まかな推論や経験や勘で行っては、優秀な予報官ですら、気象予報のおよそ数割から半分強ほどがハズレになってしまう。
現代では、各分野ごとに、さまざまなシミュレーションソフトウェアが開発されている。具体的なシミュレーション・ソフトウェアについてはen:List of computer simulation software (英語版の一覧)が参照可であり、各ソフトの特徴や使用分野も分かる。シミュレーションソフトの英語版の記事も読め、(日本語版があるソフトウェアならば)日本語版の記事へとリンクも張られているものもある。
なお訓練目的のシミュレーションソフトウェアなどもある(フライトシミュレーション 、ドライビングシミュレーター など)
またゲーム 形式に仕立てたシミュレーションゲーム もPlayStation など市販のゲームコンソールやPCなどで動くので、ゲーム愛好者(ゲーマー)たちにさかんに利用されている。
エンジニアリングソフトウェア
エンジニアリングソフトウェア (engineering software) は、各種製品開発に使われる。
マネジメントソフトウェア
英語:Management software は、各種管理(マネジメント)に使われる。
スーパーコンピュータ用アプリケーションソフトウェア
この節の
加筆 が望まれています。
(2021年4月 )
アプリケーションソフトウェアの制作
近年では一般に、アプリケーションソフトウェアは統合開発環境(IDE)を使って制作(開発)されている。IDEというのは、プログラマがソースコード を記述する「エディタ」、ソースコードから実行プログラムを生成する「コンパイラ 」、コードの不具合を発見・修正するための「デバッガ 」など、プログラム開発のためのソフトウェア群(ツール群)をひとまとめにしたもののことである。
無料のものもあり、有料のものもある。複数のプラットフォーム向けに使えるIDEもある。特定のプラットフォーム専用のものもある。
ものすごく原始的で単純な(少ない文字数、バイト数の)ソフトウェアならば、テキストエディタ (と、PCなどにインストールされた素朴なコンパイラ)だけでも書くことは一応でき、コンピュータの歴史の初期にはそうしたやりかたが行われることは多々あったわけで、今日でも初心者に対するプログラミング 講習の「最初の一歩」だけは、あえてそうした段階を一度踏ませることでコンピュータ内部で行われていることの現実を初心者にも理解してもらうという手順がとられることも多いが、今日では、その次の段階以降の「アプリケーション・ソフトウェア」と呼ぶにふさわしいくらいの機能を持ったソフトウェアを制作する場合は、基本的に統合開発環境を使って制作するものだと考えてよい。
WindowsやMac,Linux など一般的なファイルからOSに読み込まれ実行 される形式のOSであれば、上記開発環境で作成されたファイルを実行できる。
Androidアプリの場合
Androidアプリ、つまりAndroid上で動くアプリの開発環境としては、たとえば以下のような選択肢がある。
開発に使われるプログラミング言語 は、主にJava やPython など。
iOSアプリの場合
iOS上で動くアプリの開発環境は、
開発に使われる言語は、Swift 、Objective-C など。
Windowsアプリケーションの場合
Microsoft Windows の上で動くアプリケーションの制作(開発)を行う開発環境としては、たとえば以下のような選択肢がある。
Visual Studio (Microsoft社製の統合開発環境。Professional版は有料であるが、Visual Studio Communityというバージョンならば個人使用は無料。)
言語の選択肢としては(2019年版時点で)、C++ 、C# 、Visual Basic 、F# 、Python 、Node.js 、HTML/JavaScript 、TypeScript といったところである。
この節の
加筆 が望まれています。
(2021年4月 )
脚注
注釈
^ 「アプリ」の1980年代〜1990年代初頭の用例は[ 3] [ 4] [ 5] [ 6] [ 7] [ 8] など。
^ 中・上級のエンジニア向けの文書では、従来どおり「アプリケーションソフト」や「アプリケーション」としていることが多い。
出典
関連項目