大きく変わるWindowsストア・アプリ開発 〜 そのほかの変更点:特集:次期Windows 8.1&Visual Studio 2013 Preview概説(後編)(4/4 ページ)
Windows 8.1で変更/追加されたWindows Runtime APIや、XAMLコントロールの改良点/新機能、Visual Studio 2013のデバッグ関連新機能などを紹介する。
そのほかの新機能
XAMLコントロール以外にも、新たな機能が多数追加される。ごく簡単ではあるが、主なものを順不同で紹介しておこう。なお、リンク先は全てMSDNの英語ページである。
- デバイスの追加:USB、Bluetooth、POS、ヒューマン・インターフェイス・デバイス(HID)
- Windows.Data.Pdf名前空間:PDFの表示
- Windows.Media.SpeechSynthesis名前空間:Text to Speechのサポート
- XAMLにDirectXの描画を組み込む機能の改善
- ファイルが無いときでも例外が出ないファイル取得や、ファイルの等価比較など、ファイル・アクセス関連の強化
- 指紋認証など、セキュリティ関連の強化
- RenderTargetBitmapクラス(Windows.UI.Xaml.Media.Imaging名前空間):XAMLのビジュアル・ツリーの画像をキャプチャできる
- WindowsRuntimeStreamExtensionsクラスのAsRandomAccessStream拡張メソッド(System.IO名前空間)(本稿執筆時点ではMSDNライブラリに未記載):MemoryStreamオブジェクトなどをIRandomAccessStreamに変換する。BitmapImageの構築に重宝する
- CoreApplication.UnhandledErrorDetectedイベント(Windows.ApplicationModel.Core名前空間):未処理例外のトラップが可能に
これら以外にも、多くの変更や新機能がある。詳しくは「MSDN:Windows 8.1 Preview 製品ガイド (開発者向け)」と「MSDN:Windows 8.1 Preview: 新しい API と機能 (開発者向け)」を起点として調べるとよいだろう。また、主な変更点は「API changes for Windows 8.1 Preview(Windows Store apps using C#/VB/C++ and XAML)」(本稿執筆時点では英語のみ)にもまとめられている。
デバッグ機能の進化
デバッグのための機能も進化している。MSDN blogsの「Announcing the .NET Framework 4.5.1 Preview」によれば、次のようなVS 2013の強化点が挙げられている。
- 64bitでのエディット・コンティニュー
- async/awaitのデバッグ機能向上
- メソッドの戻り値を表示
また、これは新機能ではないが、プロジェクト・テンプレートで自動生成されたコードで、デバッグ実行時のフレームレート・カウンタ表示がデフォルトで有効になっている(次の画像)。
この機能は、Win 8ストア・アプリから実装されていたのだが、なじみのない読者のために紹介しておこう*2。VS 2013が自動生成したWin 8.1ストア・アプリのプロジェクトでAppクラスのコードビハインドを見ると、OnLaunchedメソッドに次のようなコードがあり、これでカウンタ表示を有効にしているのだ。
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.EnableFrameRateCounter = true;
}
#endif
……省略……
この表示は、MSDNの「DebugSettings.EnableFrameRateCounter property」の説明によれば、次のようになっている*3。
- Cp fps:合成(レンダリング)スレッドのフレーム・レート(FPS)
- UI fps:UIスレッドのフレーム・レート(FPS)
- Memory:テクスチャのメモリ使用量
- Batch:GPUに渡されたサーフェイスの数
- Cp cpu:合成(レンダリング)スレッドで消費された時間(ms)
- UI cpu:UIスレッドで消費された時間(ms)
*2 筆者も長らく知らなかったので、偉そうなことは言えない。
*3 上の画像ではカウンタが4つしか出ていない。Win 8ストア・アプリではこの説明どおり6つ出ていたので、恐らくPreview版のために実装が間に合っていないのだと思われる。
まとめ
Win 8.1ストア・アプリにおけるビュー状態と検索コントラクトの廃止は、これまでWin 8ストア・アプリを作ってきた開発者にとっては大きな変更だ。また、数多くの機能の向上や追加がある。Windowsストア・アプリ開発者にとって、Win 8.1は「0.1」だけのマイナー・チェンジではなく、メジャー・バージョン・アップであると言える。
Copyright© Digital Advantage Corp. All Rights Reserved.