7から進められてきたWindowsプラットフォームの統合が
ついにWindows 10で結実
Windows 10は、これまでマイクロソフトが開発してきたOSを統合したものだ。Windows 10登場以前には、以下の表のようなOSがあった。これらのOSは、これまで段階的に統合の準備が行われてきた。
まずWindows自体、Windows 7でOSを構成するモジュールが整理され、起動できる最小構成となるminiWinが定義された。つまり、最も小さなWindowsが作られ、これにモジュールなどを追加していくことで、OSを構成できるようになった。またAPIを整理し、APIを処理するDLL(ダイナミックリンキングライブラリ)との関係を整理した。これにより構成の変更が可能になった。
これを受け、Windows 8(2012年8月)、Windows Phone 8(2012年10月)、Xbox OS(Xbox One用、2013年11月)では、同じNTカーネルを採用した。ただし、APIや実行環境など、カーネル以外の部分は、それぞれのプラットフォームで別々になっていた。
次のWindows Phone 8.1(2014年7月)では、Windows 8.1(2013年8月)のモダンUI環境と同じ「アプリモデル」を採用する。アプリモデルとは、ソフトウェアを開発する方法を定めたもので、 モダンUI環境には「.NETフレームワーク/C#」「ネイティブコード/C++」「WinJS/HTML5+Javascript」の3つのアプリモデルがある。
これにより、Windows 8.1とWindows Phone 8.1は、同じ言語、同じ開発環境を使って開発することが可能になった。ただし、Windows Phoneでは、Windows 8.1とソースコードを共有できる部分もあったものの、APIの違いなどから、完全に同一にすることはできなかった。実行環境の違いやストアの違いなどから、別々のパッケージを作成してWindowsストアとWindows Phoneストアに別々に登録する必要があった。
そもそも、Windows Phoneのアプリモデルは、Windows Phone 7/8/8.1でそれぞれすべて異なる。AndroidやiOSに比べて、アプリが少ないと言われるのは、そもそも、Windows Phone 7の時点で過去との互換性がなく、その後2回もアプリモデルが変更になったということもあるだろう。
もちろん、Windows Phone 7用のアプリを後継のWindows Phone 8で実行することはできたが、開発者からみると、プラットフォームとしての変動が激しすぎた。AndroidやiOSでもシステムのバージョンが変わるとAPIやGUIが変わることはある。しかし、アプリケーションの開発方法までもが、ガラリと変わることはなかったはずだ。
(次ページでは、「OSの中核となるWindows CoreとWindows 10で共通のAPIであるUWP」)
この連載の記事
-
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 -
第433回
PC
Windows 11の2つのウィジェットを調べる -
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 -
第430回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した - この連載の一覧へ