今では、アプリといえばスマホのアプリが一般的になりましたが、そもそもはコンピュータでもパソコンでも、組込ソフトでも使われているアプリケーションソフトの略称です。今回は、アプリを含めたソフトウェアの構造とその変遷について纏めます。
アプリケーションソフト(以下APと略す)が動作する環境を提供するのがオペレーティングソフト(以下OSと略す)です。コンピュータ普及期のソフトウェアの構造は、OSとAPの二階層でした。OSの役割を極めて大雑把にいうと、メモリやディスクに情報を読み書きしながら各種計算をすることです。このOSに命令を伝える言語によって作成することがプログラミングで、作成されたプログラムがAPです。汎用機時代は、プログラミング言語(以下 言語と略す)もOS配下にありましたので、全てをOS次第で、OSはコンピュータメーカが開発しておりましたので、コンピュータを動作させるハードウェアとソフトウェアは一体で、コンピュータメーカ次第というのが汎用機時代でした。今では信じられないことですが、コンピュータメーカを変更すると、それまで作成されたAPも全て変更することが必要でした。
APは本来ユーザ固有のものですから、OSから言語を切り放して、同一言語で作成されたAPは、どのOSでも動作保証をする国際標準化が進みました。この頃(1980年代)からOSもハードウェアから切り放す動きがありUNIX(ユニックス)が登場しました。更には、コンピュータメーカにとってはハードウェアの核ともいえるCPU(中央制御装置)についても半導体チップとして独立することが始まりました。これらの動きにのって大きくシェアを伸ばしたのがPC(パーソナルコンピュータ パソコン)分野でのマイクロソフトです。つまり汎用機で絶対的シェアを誇っていたIBM社がインテル製CPUを使ったPCのハードウェア標準DOS/V発表し、マイクロソフトがDOS/V準拠の標準OSとしてWindowsを発表しました。現在でもメーカ各社が販売しているWindowsPCは、全てDOS/V互換機です。
この動きと前後して、汎用機OSのマニュアルで一番頻繁に使用されていたものにデータ管理仕様書「通称 デ管」がありましたが、このデータ管理をOSから切り放す動きがあり、この分野で最終的に生き残っているのがORCLE(オラクル)です。このように、本来OSが制御していたデータ管理やコミュニケーション管理などをOSから独立して行なうことで、APの汎用性を高める存在としてミドルウェア(以下 ミドルと略す)が登場しました。ミドルウェアはOSとAPの間に存在していますので、現在は、OS、ミドル、APの三階層構造になっています。加えて、階層間のソフトウェアを接続する結合部分(インターフェース)は標準化されていますので、それぞれの階層のソフトウェアは前後の階層のソフトウェアとの接続が保証されていますので、独立した別メーカが開発しています。ハードウェアと異なり大規模な製造ラインを必要としませんので、ソフトベンダーが乱立しています。又、ソフト開発の標準仕様を公開して、誰でも開発に参加出来るようにしたオープンソフトも存在し、OSのAndroidがその代表です。
上記のように、CPUのソフトウェアもそれぞれ独立していますので、IT機器を製造するハードウェアメーカの独自色を出すことが難しくなっています。この動きに待ったをかけているのがアップル社です。汎用機時代と同じくiOSでは、全てをアップル社が握っています。小生は長らくオープン派でしたが、全体主義が台頭し分断が発生している現在では、母国語Aiやセキュリティの面からアップル社のようなハード・ソフト一体開発の企業が登場するかもしれません。
以上