Windows* 8 開発向け Ultrabook™ 機能の互換性
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Ultrabook Feature Compatibility Matrix for Windows 8 Development」の日本語参考訳です。
概要
この記事では、Windows* 8 デスクトップ・アプリケーションおよび Windows* ストア向けアプリケーションの開発に役立つ基本情報に関して説明します。
まず、モバイルデバイス (スマートフォン、タブレット) および Ultrabook™ デバイス向けアプリケーションで利用できるプログラミング・モデルを理解する必要があります。また、既存のアプリケーションを移植する場合も、新しいアプリケーションを作成する場合も、Windows* 8 対応アプリケーションの開発で利用可能な開発ツールとプログラミング環境を知っておく必要があります。
ここでは、既存のアプリケーションの可搬性だけでなく、新しいアプリケーション開発の方向性を決定する際に役立つ情報を紹介します。
はじめに
Windows* 8 を実行する Ultrabook™ では (特に、第 3 世代インテル® Core® プロセッサーを搭載している場合)、多くの新機能を利用できます。Windows* 8 の開発フレームワークでは、2 つの新しいアプリケーション・モードが導入されています。開発者は、Windows* 8 デスクトップまたは Windows* ストア (新しい UI 環境) 向けにアプリケーションを作成できます。デスクトップ・アプリケーションの開発はこれまでとあまり変わりませんが、Windows* ストア・アプリケーションの開発環境には新しい要件がいくつかあります。主要なツールと開発環境を使用して、両方の環境 (デスクトップと UI) で Ultrabook™ の機能を利用するアプリケーション開発について考えてみましょう。
Windows* 8 のアプリケーション・モードに対するアーキテクチャー・サポート
使用する開発言語と Windows* 8 のアプリケーション・モードに応じて、利用できる機能は異なります。図 1 の開発環境は、Microsoft* Developer Network で紹介されているものです。WinRT API を使用するアプリケーションは、Windows* ストア・アプリケーションと呼ばれています。Windows* ストア・アプリケーションを作成する唯一の方法は、Microsoft* Visual Studio* 2012 のプロジェクト・テンプレートを使用することです。デスクトップ・アプリケーションの作成にはこのような制限はありません。
図 1— Windows* 8 アプリケーションで可能なハイレベルの開発環境
既存のアプリケーションを Windows* 8 環境に移植する場合は、現在使用しているツールを利用できることと、実装する機能がサポートされていることを確認しなければいけません。例えば、Unity* はアプリケーション開発者の間で非常に人気のあるゲームエンジンですが、まだ Windows* 8 のすべての機能に対応していません。
さらに、図 1 では WinRT とデスクトップ API の間にはクロス機能が全く存在しないように見えますが、実際は、次の WinRT API が Windows* 8 デスクトップ環境と共有されます。
- Windows.Sensors (加速度計、ジャイロスコープ、環境光センサー、傾きセンサー…)
- Windows.Networking.Proximity.ProximityDevice (NFC)
- Windows.Device.Geolocation (GPS)
- Windows.UI.Notifications.ToastNotification
- Windows.Globalization
- Windows.Security.Authentication.OnlineId (LiveID 統合を含む)
- Windows.Security.CryptographicBuffer (バイナリー・エンコーディング/デコーディング関数)
- Windows.ApplicationModel.DataTransfer.Clipboard (Windows* 8 クリップボードへのアクセスと監視)
デスクトップ・アプリケーションで WinRT API を利用する方法については、Xavier Halladeのブログ「Using Windows* 8 WinRT API from desktop applications (デスクトップ・アプリケーションでの Windows* 8 WinRT API の使用)」 (英語) を参照してください。
次の表は、主要な言語と開発モードで利用可能な機能の一覧です。リンクをクリックすると詳細を参照できます。
Windows* 8 デスクトップ・アプリ | Windows* ストアアプリ | |||||
機能/ツールセット | C++ | C#/VB | JavaScript/HTML5 | Unity* | C++、C#、VB と XAML、JavaScript/HTML5 | Unity* |
インテル® ワイヤレス・ディスプレイ | ○ | ○ | ○ (ブラウザープラグイン) | × | × | × |
タッチ・ジェスチャー | ○ | ○ | ○ | ○ | ○ | ○ |
傾きセンサー (加速度計、傾斜計、ジャイロメーター) | ○ | ○ | ○ | 対応予定 | ○ | ○ |
光センサー | ○ | ○ | ○ | 対応予定 | ○ | ○ |
OpenGL* (WebGL) | ○ | ○ | ○ (WebGL) | ○ | × | × |
DirectX* | ○ | ○ | ○ | ○ | ○ | ○ |
インテル® スマートコネクト | ○ | ○ | ○ | ○ | ○ | × |
NFC | ○ | ○ | ○ | ○ | ||
GPS | ○ | ○ | ○ | ○ | ||
Intel AppUp® センター | ○ | ○ | ○ | ○ | × | × |
Windows* ストア | × | × | × | × | ○ | ○ |
Windows* ストア・アプリケーションは、ソフトウェア開発者に大きな変化をもたらすでしょう。Windows* ストアは全く新しいインターフェイスなので、利用するツールがこの環境をサポーしていることを確認する必要があります。表 2 に Windows* ストア・アプリケーションの開発要件を示します。Microsoft* デベロッパー・センターの「Windows* ストアアプリの概要」もご覧ください。
インテル® スマート・コネクト・テクノロジー (ISCT) には開発環境固有の API がありません。ISCT を利用するには、BIOS で ISCT を有効にし (通常はデフォルトで有効)、OEM のユーザー・インターフェイスで設定する必要があります。ISCT に最適なアプリケーションとアプリケーションで ISCT を実装する方法については、「Developing for Intel Smart Connect Technology (インテル® スマート・コネクト・テクノロジー向けの開発)」 (英語) を参照してください。
表 2— Windows* ストア・アプリケーションの開発言語について
言語サポート | 入門ガイド | 利点/説明 |
JavaScript および HTML | JavaScript を使った初めての Windows* ストアアプリの作成 | 標準に準拠した最先端の Web テクノロジーを利用できます。HTML マークアップ、JavaScript、および CSS3 を使用してネイティブの Windows* アプリケーションを作成できます。Visual Studio* Express 2012 for Windows* 8 は、アプリケーション開発を合理化し、高速化するアプリケーション・テンプレート・ライブラリーも提供します。 |
C# または Visual Basic* と XAML | C# または Visual Basic* を使った初めての Windows* ストアアプリの作成 | WinRT API は、JavaScript、C++、C#、Visual Basic* を含む、サポートされているすべての言語で利用できます。また、.NET Framework や Windows* C ランタイム・ライブラリーのような Microsoft* のほかのプログラミング・フレームワークにアクセスすることもできます。Windows* デスクトップ・アプリケーションは、Win32* と .NET API に加えて、新しい Windows* ランタイム機能のサブセットも利用できます。 |
C++ と XAML | C++ を使った初めての Windows* ストアアプリの作成 | 新しい Windows* 8 のコントロールはすべて XAML で実装されています。ネイティブの C++ 開発者は、XAML を利用してインタラクティブな UI を作成できます。 |
C++ と DirectX* | DirectX* を使った初めての Windows* ストアアプリの作成 | 優れた柔軟性とシステムリソース (特に、グラフィック・デバイス) へのアクセスを提供します。 |
Windows* 8 向けアプリケーション開発に関する詳細は、『Windows* 8 開発者向け製品ガイド』 (http://msdn.microsoft.com/en-us/windows/apps/hh852650.aspx) を参照してください。また、Windows* 8 App Samples から C++、C#、JavaScript、および VB.Net のサンプルコードをダウンロードできます。
次に、主要な開発ツール/インターフェイスの互換性について見てみましょう。
Windows* 8 ストアアプリに関する考慮事項
- Win32* API: ほとんどの Win32* API は Windows* 8 UI に対応していません。また、既存の多くのツール/ライブラリーには依存関係があります。
- WinRT API: 既存の PC アプリケーションおよびインテルのツールは新しい API を認識できません。
- グラフィックスおよびメディア: テクノロジーのサブセット (DX11.1、HMFT、DXVA) のみをサポートしています。
- アプリケーション・モデル: インテルのツールは新しいスレッド化モデルを認識できません。
- Windows* 8 ストア: 証明書により、Windows* 8 UI アプリケーションがバリアを超えて API/ライブラリーにアクセスしないように防ぎます。
- Windows* ストア・アプリケーションは Windows* 8 上でのみサポートされています。(Windows* 7 または Windows Server* 2012 ではサポートされていません。)
表 3— 主要な開発ツールの互換性
Windows 8* デスクトップ・アプリ | Windows* ストアアプリ | |
プログラム可能な GFX- OpenGL* | ○ | × |
プログラム可能な GFX – OpenCL* | ○ | × |
プログラム可能な GFX-OCL, CM | ○ | × |
DirectX* | Windows* 8 UI で Win32* DX11 GFX サポートを利用可能 | Win32* DX11 GFX サポート(ゲームおよびメディア) |
Microsoft* コンパイラー | Win*32 のフルサポート | WinRT のフルサポート: XAML/C++、XAML/VB+C#、HTML/JavaScript |
インテル® VTune™ Amplifier | 全機能をサポート | WinRT アプリで一部の機能をサポート。スレッドモデルは未サポート。WinRT アプリの hotspot/ロック/コンカレンシー解析は未サポート。WinRT API は WIP をサポート。 |
インテル® グラフィックス・パフォーマンス・アナライザー (インテル® GPA) | 次を除く全機能をサポート: IE10、WinRT アプリ解析、Frame Analyzer での DX10 (15.28 ドライバー + 新しい OpenCL* SDK) | × (WinRT はインストルメンテーションを未サポート) |
Microsoft* xPerf/xRay | 全機能をサポート | システム全体でサポート。ただし、一部制限あり (ETW データ収集はコマンドラインのみ。Viewer Desktop UI のみ)。 |
インテル® Performance Bottleneck Analyzer (インテル® PBA、別名 xIF) | サポート。デスクトップ・アプリ解析をサポート。デスクトップでビューアをサポート。 | WinRT で一部機能をサポート (スレッドモデル、WinRT データ、JIT は未サポート) |
開発環境 (Visual Studio*、Eclipse*) | ○ | 一部サポート |
HTML 5 のハードウェア・アクセラレーション | ○ | ○ |
DirectX* 11.1 サポート | ○ (C++) | ○ |
アプリから購入 | × | ○ (アプリのフルバージョンを購入した場合) |
関連情報
- Windows* 8 製品ガイド: http://msdn.microsoft.com/en-us/windows/apps/hh852650.aspx
- Windows* デベロッパー・センター: http://msdn.microsoft.com/ja-jp/windows
- タッチ: Windows* ストア向け C# アプリケーションでのタッチの使用 (英語)
- サンプル Windows* ストアアプリ: JavaScript、C/C++、C#/VB 用センサー API
インテルの関連ブログ
- デスクトップ・アプリケーションでの Windows* 8 WinRT API の使用: http://software.intel.com/en-us/articles/using-winrt-apis-from-desktop-applications (英語)
- インテル® デベロッパー・ゾーンから入手可能な新しい Windows* 8 サンプルコード: http://software.intel.com/en-us/blogs/2012/10/09/new-windows-code-samples-on-intel-developer-zone (英語)
- Ultrabook™ アプリケーションでインテル® コンパイラーを最大限に活用: http://software.intel.com/en-us/blogs/2012/09/14/get-the-most-out-of-intel-compilers-for-your-ultrabook-apps (英語)
- Ultrabook™ 向けインテル® ソフトウェア開発ツール: http://software.intel.com/en-us/blogs/2012/08/17/intel-developer-tools-for-ultrabook (英語)
著者紹介
![]() |
Gael Hofemeier はインテル社のデベロッパー・リレーション部門のビジネス・クライアント・テクノロジー担当のソフトウェア・エンジニア。ニューメキシコ大学で数学の学士号と MBA を取得しています。趣味は、ハイキング、サイクリング、写真です。 |
Intel、インテル、Intel ロゴ、Intel Core、Ultrabook、VTune は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。
© 2012 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の使用許諾を受けて使用しています。
OpenGL は、アメリカ合衆国および / またはその他の国における Silicon Graphics, Inc. の商標または登録商標です。
パフォーマンスに関する注意事項
* パフォーマンスおよびベンチマークの結果に関する詳細は、www.intel.com/benchmarks (英語) を参照してください。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。