iOSは、いったい何をもたらしたのか?

iOSは、当初iPhone OSと呼んでいた。これは、当時AppleからはSmartPhoneとしてiPhoneしか販売していなかったので、iPhone OSと呼ぶのは、しごく当然のことであった。
その後iPadが発表され、その際にiPhoneiPadの両方のデバイスに搭載されるOSということで、さすがにiPhone OSとは呼べないのでiOSという呼び名にした、といった程度の理解しかなかった。
最近になって、このiOSというものが気になり始めている。ひとつには、昨年秋に、AppleはBack to the Macと称して、iOSの良い機能をMacOS Xにフィードバックすることを宣言し、先日のWWDCでLionの発表となった。
果たして、このiOSは、いったい何をもたらしたのだろうか?

iOSにはOSという文字が含まれている通り Operating Systemである。ただ、最近感じるのは、OSと称しているが、従来のOSと同じ概念なのかというと、ちょっと違う気がしている。
従来のOSといえば、真っ先にWindowsが思い浮かぶであろう。Windowsが登場したころのOSの概念は、PC本体内部のメモリや表示装置やPCに接続されたIO機器の資源管理が主目的であった。途中UIが改善され、ユーザ(オペレータ)にとって使い易くはなったものの、資源管理が主目的であったことには変わりがない。
OSの位置づけはどのようなものであるのか、分かりやすい図がWikipediaにあったので引用します。
この図を見ても分かるように、HardwareとApplicationをつなぐのがOSということになる。またOSはApplicationにHardwareを意識させない存在ともいえる。
これはWindowsMacOSOS Xも同じだ。MacOSOS XWindowsに対し、UIの面で一歩先を行っていたに過ぎない。OSの機能として、資源管理が主目的であったことに変わりがない。


 
iOSは、従来のOSと比べると、Hardwareの資源管理に重点を置くのではなく、よりApplicationとUI管理に軸足を移したOSなのではないかといえる。
上の図にならってiOSの階層(特徴)を描いてみた。

Greenの網掛け箇所がワンセットとなってiOSを形成していると言える。
Core OSは、従来のOSと同じようにHWの資源管理が主目的である。
iOSは基本的にiPhoneiPadのようなMobile Deviceを想定している。iPhoneiPadを利用してみれば分かるように、UserはDisplay(画面表示)を見てMulti Touch(入力動作)によってApplicationを操作している。Userが意識するのはDisplayとMulti Touch だけである。逆に言うと、iOSは常にDisplayとMulti Touchを意識する必要があるということだ。
ここで重要なのは、iOSがDisplayとMulti touchに関するAPIのみのサポートであった場合、アプリを作成するのはかなり大変な作業になるだろうことは想像するまでもない。そこで、SDKと豊富なUIKitが必要になるわけだ。SDKと豊富なUIKitがサポートされることにより、飛躍的にアプリの開発が容易になったのだ。
SDKと豊富なUIKitが、Applicationを生みだす大きな役割を担っているのである。
iOSとは、Core OSとDisplay&Multi touchとSDK&UIKitがワンセットとなって、初めてその価値を発揮することになる。
こう考えてみると、iOSはApplicationを生み出すこと、それも容易に生み出すことを主目的としたOSなのではないだろうか。iOSは、Applicationを誘発するためのOSなのである。
その結果が、いまの膨大なアプリ(40万タイトルを越えるアプリ)の流通に繋がっているのである。
App Storeという流通網があるからこそでもあるが、アプリを容易に生み出すことができる環境が誰にでも手に入ることが無い限り、いまの膨大なアプリの流通にはつながらないであろう。

また、iOSはアプリが誰でも作成できる環境を整えたことによって、膨大なアプリを生み出し、アプリの価格破壊を到来させた。
アプリの開発が専門のプログラマーでなくても、それなりの完成度でできてしまうのだ。膨大なアプリを流通させることによって、アプリのデフレ状態を引き起こしたといってよい。

iOSは、アプリを生みだすためのOSといってよいだろう。