AIをサポートする「Windows ML」APIと新しい「WebView」の登場で見えてくるもの:特集:マイクロソフトテクノロジーの現在と未来(2/2 ページ)
機械学習モデルをアプリで活用するためのWindows ML、Edgeベースの新たなWebViewコントロールなど、次期Windows 10に搭載予定の新機能を見てみよう。
デスクトップアプリのモダナイズ
「デスクトップアプリをモダナイズ」するためのポイントとしては、Edgeの描画エンジンを利用したWebView、MSIX、Adaptive Cardsがあった。
新しいWebView
WPFアプリやWindows Formsアプリで使われていた従来のWebView(WebBrowserコントロール)では、IEの描画エンジンが使われていた。皆さんご存じの通り、IEは既に時代遅れのものとなっていて、マイクロソフト自身がIEではなく、ブラウザとしてはEdgeを使用することを推奨しているような状況だ。そこで、アプリに組み込むWebビューについても、最新のWeb標準に準拠している(そして、準拠し続けていく)Edgeをベースとしたものにしようというのが、今回のWebViewコントロールの登場だといえる。
機能/速度/セキュリティなどの面で見劣りのするIEベースのWebBrowserコントロールではなく、モダンなWebブラウザであるEdgeをベースとしたWebViewコントロールを使用することで、ECMAScript(JavaScript)やその他のWeb標準を存分に活用したコンテンツを自分のアプリに取り込めるようになる。これまでアプリにWebブラウザライクな機能を持たせたくても、それがIEベースということで困っていた開発者には大きな福音となるはずだ。
デモでは、Windows Formsアプリの左半分に従来のWebBrowserコントロールを、右半分に新しいWebViewコントロールを貼り付けて、それぞれのコントロールでHTML5testページを表示するプログラムが披露された。
御覧の通り、HTML5に対する互換性はWebViewコントロールの方が圧倒的に上だ。
なお、新しいWebViewの使い方はデモの中でコードビハインドの形で示された(Windowsフォームに貼り付けただけだと、実感ができないからだろう)。
ここでは単にWebView.WebViewクラスのインスタンスを作成して、(恐らくはデモ用に)プレースホルダーとして用意したPanelコントロールに追加しているだけだ。後はWebBrowserコントロール、WebViewコントロールの両者で「HTML5test」ページを表示している。
なお、数カ月のうちには、これらのコントロールのオープンソースバージョンがリリースされるとのことだ。
MSIX
MSIXは、従来のMSI/Appxを包括する新しい形式のインストーラー。Windows Formsアプリ/WPFアプリ/UWPアプリのいずれにも対応する。
UWP(Universal Windows Platform)では、アプリはAppx形式のファイルにパッケージングされ、Windowsストアを介してユーザーに提供される。このことには、セキュリティや課金、アプリの更新などの面で大きなメリットがある。いわゆる「クラシックデスクトップアプリ」でもデスクトップブリッジを使いUWP化することで、そうしたメリットの一部を享受することはできたが、今回発表されたMSIXはこれをより一層推し進めたものと考えられる。
MSIX形式のファイルはWindowsストア経由で配布することも、その他のルートで配布することも可能だ。アプリのカスタマイズ機能やセキュリティオプションなどもサポートされる予定だ。何より、あらゆる種類のWindowsアプリに共通のインストール形式となるのは、これまでのデスクトップアプリ開発者にとっても大きなニュースだろう。
MSIXもオープンソースのプロジェクトとして運営されており、GitHubリポジトリも既にオープンされている。詳細についてはリポジトリを参照されたい。マイクロソフトは従来のデスクトップアプリの緩やかなUWP化を推奨しているが、MSIXもそうした流れの1つとして出てきた技術といえるだろう。
Adaptive Cards
Adaptive Cardsはシステムとユーザー、ユーザーとユーザーなどの間で小規模のコンテンツ(これを「カード」と呼ぶ)を共有するためのフレームワークだ。Windowsに限らず、iOS/Androidデバイスに対しても送信できる。
Adaptive Cardsもオープンソースのプロジェクトとして開発が進められていて、既に開発者が試せる段階にある。興味のある方はGitHub上のリポジトリやAdaptive Cardsの公式サイトを参照されたい。実際のカードがどんなものになるかを自分の目で確認することもできる。
Windows Developer Dayでは、Windows 10の次期アップデートに組み込まれる予定の新機能の中でも開発者の目を引く大きな発表があった。本稿ではそれらの概要をお伝えした。それらの幾つかについては、あらためて実際のコード例などとともに紹介したいと思う。
新たなWebViewコントロールやMSIXという新たなインストーラー形式、カード共有フレームワークのAdaptive Cardsは「より現代的なアプリ」を開発するという観点で役立つものだ。そして、もはやとどまるところを知らないAIの世界の拡大を、貪欲にもWindowsにまで取り入れてしまおうというWindows MLは「より先進的なアプリ」を開発する上で重要な要素となる。これらはともにアプリを一歩あるいは数段階、新たな地平へと引き上げるためのものだ。これに加えて、Windows IoTベースでインテリジェントエッジ開発を行うことで、クラウドから通常のWindowsデバイス、さらにはエッジデバイスにまで「知性」を埋め込んでいこうというのが、マイクロソフトが打ち立てた壮大なゴールなのだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.