検索の対応
Windows 8.0の頃は「検索は検索コントラクトを利用する」というガイドラインでしたが、Windows 8.1ではそのガイドラインは廃止され、検索用のコントロール「SearchBox」が用意されました。
SearchBoxコントロールは、以下のようにQuerySubmittedイベントハンドラーで検索に利用した文字列を取得します。
<SearchBox ・・・省略 QuerySubmitted="SearchBox_QuerySubmitted" />
コードビハインドでは、以下のように検索文字列を取得します。
private void SearchBox_QuerySubmitted(SearchBox sender, SearchBoxQuerySubmittedEventArgs args) { // 検索文字列を取得 var str = args.QueryText; }
ファイルピッカーの変更
Windows 8ではスナップ状態のストアアプリでファイルピッカーを呼び出すと例外が発生したため、スナップ状態だとファイルピッカーを利用できませんでした。しかし、Windows 8.1では分割された画面でもファイルピッカーを利用できるようになりました。Windows 8でファイルピッカーを制御していた人は、分割表示時の制御を外しましょう。
310ピクセル×310ピクセルの正方形ロゴを用意しよう
Windows 8.1からは新しく310ピクセル×310ピクセルのロゴ画像が利用可能になりました。スタートページに大きくあなたのストアアプリを表示することができます。
新機能の検討をしよう
Windows 8.1では新しくたくさんのAPIが追加され、Windows 8時代のストアアプリではできなかったことが実現可能になりました。
HIDプロトコルやUSBデバイスへの対応
ストアアプリからHID(ヒューマンインターフェースデバイス)プロトコルを用いた外部機器、例えばゲームのコントローラーなどが利用できます。また、USBへのアクセスを可能とするWindows.Devices.USB名前空間や、POS機器への接続をアクセスのためのWindows.Devices.PointOfService名前空間が利用できます。
Bluetooth対応
Bluethoothデバイスに接続するための新たな名前空間(Windows.Devices.Bluetooth.Rfcomm)も追加されました。
3Dプリンタ対応
ストアアプリからデータを3Dプリンタに送ることが可能です。
PDFサポート
ストアアプリからPDFファイルを扱うことができるようになりました。
音声合成
8.1からWindowsストアアプリでも音声合成が利用可能になりました。このほかにも、Windows 8からWindows 8.1への変化に際して、たくさんの新機能が追加されています。
せっかく、8.1用のストアアプリにアップデートするのですから、新しい機能を取り入れることも検討してみましょう。これらの新機能については、順を追って今後解説していく予定です。
2つのプロジェクトを並行して管理する
ここまでの流れから、「Windows 8.0用のストアアプリプロジェクトとWindows 8.1用のストアアプリプロジェクトの2つを並行してメンテナンスする必要があるのか?」とお思いになった方も多いと思います。
どちらのユーザーにもアプリを提供し続けたい場合は答えはYESです。もしくは、しばらくの間はWindows 8.0用のストアアプリを更新し続けて(これはWindows 8.1上でも動作します)、Windows 8.0から十分に8.1に移行が進んだタイミングで8.1用のストアアプリに切り替えて、8.0対応を切り捨てるというのも手でしょう。
もしあなたが、8.0と8.1用の2つのプロジェクトを管理したい場合、いろいろやり方はあると思いますが、素直に2つのプロジェクトを並行してサポートするのが(多少手間はありますが)シンプルな解放です。PCL(ポータブルクラスライブラリ)などを用いて、共通コードをライブラリ化するのも一考の価値があるかもしれません。
まとめ
今回は、Windows 8向けのアプリをすでに開発したことがある方を対象として、ストアアプリをWindows 8.1に対応する方法や、違いなどを紹介しました。
次回は、新しくWindows 8.1用のストアアプリを作成する人を対象として、Windows 8.1のプロジェクトの概要などを紹介します。
参考
Windows 8.1でのAPIの変更点(C#/VB/C++とXAMLを使ったWindowsストアアプリ)については、下記を参考にしてください。