クールな Windows 8.1 New API #1: WebView for HTML
皆様、こんにちは!
Prism for Windows Runtime の連載を準備中ですが、並行して、こちらのガイドが出たので、新しいWindows 8.1 新しいAPIを一つずつご紹介していくシリーズを開始したいと思います。
Windows 8.1 Preview 製品ガイド (開発者向け)
今回の#1は、下記のセクションにある、WebView コントロール についてご紹介します。
---
WebView コントロール
WebView (英語) は、JavaScript 開発者にとって新しい機能であり、アプリ モデル間で類似の実装を共有します。WebView コントロールは、単なる簡単な<iframe>をはるかに超えて、ナビゲーション (戻る、進む、停止、再読み込みなど) をサポートし、タッチ入力に対するサポートが向上しています。
https://msdn.microsoft.com/ja-jp/library/windows/apps/bg182879.aspx#webview
---
HTML/JavaScript の開発者の方にとって、最も重要な Windows 8.1 Previewでの追加機能の特徴は、 x-ms-webview エレメントが HTML に追加されたことです。いままで、XAML を使って開発をしたことがない場合、この WebView こそが、自由自在に HTML、CSS、そしてJavaScript をレンダリングするコントロールです。
※ これは Web コンテンツ を自由に、https:// ソースから生成できます。また動的に生成された、あるいは、ローカルの HTML ファイル (CSS、JavaScript を含む)からも生成可能です。XAML の方は既に WebView コントロールが(それこそ WPF の頃から)存在しています。詳しくは、下記のWindows 8 ドキュメントをご参照ください。
https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.aspx
またこのコントロールにより、当該ストアアプリで、WebView とWebView の間でスクリプトを呼び出して、 イベントを発生させることができます。もちろん、このような処理のいくつかは、Windows 8 の iframe 要素を使って実現可能です。しかし、iframe には数多くの制約があります。たとえば、もしホストしようとしている当該サイトが frame 破壊的なコードを含んでいた場合は厄介です。HTML/JavaScript アプリケーションはまた、ダウンロード済み、あるいは、ローカルで生成された HTML/CSS/JavaScript を単一の iframe にロードする機能を持ちません。また、 iframe を bitmap にレンダリングすることもできません。しかし幸運なことに、上記のすべてをこの WebView を使って実現可能なのです。
このあたりについて詳しくはPDFでダウンロードできる書籍の、”Programming Windows Store Apps with HTML, CSS, and JavaScript, Second Edition”、特に Chapter 4 をご覧ください。
更に参考になるのは、Build 2013 の John Hazenのセッションです :
Webview: bringing the web to your app
以上です。いかがでしょう?次回は#2として、Windows.Web.Http.HttpClient をご紹介予定です。
鈴木 章太郎