連載
» 2015年05月20日 15時00分 UPDATE

鈴木淳也の「Windowsフロントライン」:「Windows 10」は従来型デスクトップアプリも次世代へ導けるか? (1/4)

次期OSの「Windows 10」は、Webアプリケーションや従来型デスクトップアプリケーションも新しい共通アプリ実行基盤「UWP」に取り込もうとしている。これらは現状のWindowsでも動作するアプリだが、Windows 10世代でどのように変えようというのか?

[鈴木淳也(Junya Suzuki),ITmedia]

4つの開発環境でWindows 10にアプリを集めようとするMicrosoft

 MicrosoftはBuild 2015(米Microsoftの開発者会議)にて、「Write once, run anywhere(一度記述すれば、どこでも動作する)」というキーワードが入ったスライドを掲げ、次期OS「Windows 10」で目指すアプリ環境について紹介した。新ブラウザの「Microsoft Edge」に関する解説を行うセッションでのことだ。

 この言葉は、あらゆるアプリを自身のプラットフォームに取り込もうとする「Windows 10」の思想の一端を如実に表したものだろう。

 かつてOracleが「NC(Network Computer)」、Sum Microsystemsが「Java」で実現しようとしたプラットフォーム中立の世界は「Webアプリケーション」という形で実現しつつある一方で、折からのスマートフォンやタブレットの興隆による「モバイルアプリ」の世界は、独自のプラットフォーム環境を構築している状況だ。

 この独自のモバイルプラットフォームを構成しているAndroidとiOSのアプリをWindows 10に取り込むための施策が、前回の連載で紹介した「Project Astoria」と「Project Islandwood」ということになる。

tm_1405_win10J_3_01.jpg 変革を続けているMicrosoftが目指す新しい世界、それは「Write once, run anywhere」

 MicrosoftはBuild 2015の基調講演において、Windows 10共通のアプリ実行基盤である「Universal Windows Platform(UWP)」では、4つのアプリ開発環境が存在することを紹介した。

 1つはWin32 APIならびに.NETを利用した従来ながらの開発手法、2つめはWeb技術で動作するアプリケーションをそのままWindowsストアアプリ化する開発手法、3つめはJavaまたはC++で開発されたAndroid向けアプリを移植する手法、そして4つめは最大のサプライズとなったObjective-Cを開発言語としてサポートすることで、iOSアプリのWindows 10への移植を容易にする試みだ。

 後者2つは言うまでもなくProject AstoriaとProject Islandwoodのことだが、今回は前者にあたる残り2つの手法である「Project Centennial」と「Project Westminster」にフォーカスを当てていく。

tm_1405_win10J_3_02.jpg Universal Windows Platform(UWP)を実現する4つの開発手法
tm_1405_win10J_3_03.jpg Windows 10世代のストアはあらゆる種類のアプリやコンテンツを包含する

すべての鍵は「Microsoft Edge」が握っている

 まずは「Project Westminster」に注目しよう。これを簡単に言うならば、HTML+CSS+JavaScriptで記述されたWebアプリケーションをそっくりそのままWindowsのアプリストア(Windowsストア)で公開可能なアプリ形式に変換する技術だ。ここで作られるアプリは「Hosted Web App」などと呼ばれることもある。

tm_1405_win10J_3_04.jpg Hosted Web Appの仕組みでは、特に手を加えなくてもWebアプリケーションをUWPのストアアプリに変換できる

 本来は、一般的なWebブラウザであればプラットフォームを選ばずに実行可能であり、Webサイト上にアップロードするだけで公開可能なWebアプリケーションだが、それをなぜわざわざアプリストアに登録させようというのか?

 理由は大きく2つあり、1つはハードウェア特有の機能(センサーなど)やOS固有の機能(Cortanaやライブタイルなど)が利用可能になること、もう1つはストアに登録することによってユーザーが発見しやすくなったり、あるいはインストールやアプリ内課金(In-App Purchase)により、リテンション率の向上やマネタイズの可能性が上がる点にある。この辺りの事情は過去の連載でも触れているので、興味ある方は参照してほしい。

 ストアアプリとして実行はされるものの、Project Westminsterで用意されるのはアプリとしての“ひな形”であり、実際のコードの実行はWindows 10に内蔵されたWebレンダリングエンジン「EdgeHTML(.dll)」に委ねられている。

 MicrosoftはWindows 10以降のプラットフォームにおいて、Webブラウザのエンジンを新たに開発した「EdgeHTML」と、旧型の「MSHTML」の2つに分割している。今後の新技術投入を含む開発リソースの多くをEdgeHTMLと、これをベースに動く新ブラウザのMicrosoft Edgeに注力していく計画だ。つまり、Hosted Web Appと呼ばれるWebアプリケーションは、EdgeHTMLやMicrosoft Edgeと表裏一体の関係にある。

tm_1405_win10J_3_05.jpg Project Westminsterの核になるWindows 10の新ブラウザ「Microsoft Edge」とそのレンダリングエンジンとなる「EdgeHTML」

 Microsoftは、MSHTMLベースの従来型ブラウザ「Internet Explorer(IE)」において、後方互換性を維持することが開発の足かせになっているという反省があった。これがより素早く新技術を導入して軽量動作が可能なレンダリングエンジンとWebブラウザを開発するモチベーションにつながっているのだ。

 Web標準技術に沿って記述されたWebアプリケーションは、すべてのWebブラウザ(レンダリングエンジン)でコードの変更なく等しく動作することが望ましい。ゆえにMicrosoft Edgeの方向性も「標準への素早い対応」と「(標準準拠のうえでの)競合と比較してのパフォーマンスや使いやすさ」という形で開発が進んでいる。この辺りのステータスは逐次、Modern.IEのサイトで公表されている。

       1|2|3|4 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.