APIセットの再定義を
新たな形で実現したWindows 8
タッチパネルのために作られたWindows 8スタイル環境だが、最大の特徴はUI自体よりも、Windows 8スタイルで使うAPIセット「WinRT」にある。WinRTは.NET Frameworkを最近の流行に合わせて作り直したものといってもいい(関連記事)。
しかし、WinRTの多くの機能は、Windowsストアアプリだけでなくデスクトップ側でも利用可能だ。Windows 8スタイル環境とデスクトップ環境は分離されているが、Windows 8スタイル向けAPIの多くは、デスクトップ側でも利用できる(利用できない機能も存在する)。また、HTMLとJavaScriptを実行するアプリ環境(WinJSと呼ばれることも)は、Windows 8スタイル側にしかない。
もちろん、Windows 8スタイル側でもWin32 APIセットは利用できるが、利用できるものは限定されている。APIセットでみるとWindows 8スタイルもデスクトップも大きな違いはなく、違いがあるのはアプリケーションの構造などだ。
これまでマイクロソフトはずいぶんと、.NET Frameworkの普及につとめてきた。しかし現状では、.NET Frameworkは「便利なライブラリ」でしかなく、相変わらずWin32 APIセットを使ったアプリケーションが作り続けられている。
WinRTはそこに高レベルなAPIセットを持ち込んだ。さらにWindows 8スタイル環境では、Windowsストアという流通配布の仕組みを用意した。iOSやAndroidが急速にアプリを増やして開発者を引きつけた理由のひとつは、Windowsに比べるとアプリを作るのが簡単で、しかも販売と配布の仕組みが最初から用意されているという点だ。個人が開発したアプリで世界中を相手にできる。また、お金に関わるつもりがなくとも、同じプラットフォームを使う世界中のハードウェアに簡単にプログラムを配布できるというのは魅力的だ。Windows 8は、iOSやAndroidが採用した仕組みをそのまま取り込んだ。
Windows 8は、タブレットやスマートフォンのソフトウェア流通を取り込み、そこに新しいアプリケーション構造とAPIを持ち込んだ。ここに関わる開発者が増えることで、自然にWinRTは普及していく。デスクトップ環境側のAPIとしても、WinRTは使われると想定(あるいは希望)しているのだろう。タブレットをテコに新しいAPIセットの普及を図り、結果的にデスクトップ側のAPI移行の「推進剤」として使おうというわけだ。
マイクロソフトはWinRTを、「従来のWin32 APIを置き換えるもの」とは言ってない。2つは並列なものという主張だが、それはWindows 8スタイルとデスクトップという2つの環境にそれぞれのAPIがあるということではなく、2つの環境に同じWinRTというAPIセットがあり、Windows 8スタイルでも「一部の」WinAPIは使えるよ、という意味なのだ。
マイクロソフトはWindows Vistaで、APIを.NET Frameworkに切り替えることを計画していた。このときには.NET Frameworkを「WinFX」と呼び、次期APIセットであると述べていたし、Win32 APIによる機能拡張は凍結するとも宣言した。しかし、並行して多数の機能拡張を行なおうとしたため、プロジェクトは破綻。APIの切り替えは不可能となり、WinFXは幻となった。WinRTはこれからの多くのアプリの標準APIとなる可能性があり、そういう意味では「WinFX Ver.2.0」なのかもしれない。
この連載の記事
-
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ