Windows* 8 開発向け Ultrabook™ 機能の互換性

同カテゴリーの次の記事

Ultrabook™ およびタブレット向け Windows* 8 センサーの開発ガイド

この記事は、インテル® デベロッパー・ゾーンに掲載されている「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 のプロジェクト・テンプレートを使用することです。デスクトップ・アプリケーションの作成にはこのような制限はありません。


図 1Windows* 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 (インテル® スマート・コネクト・テクノロジー向けの開発)」 (英語) を参照してください。

表 2Windows* ストア・アプリケーションの開発言語について

言語サポート 入門ガイド 利点/説明
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 開発者向け製品ガイド』を参照してください。また、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++)
アプリから購入 × ○ (アプリのフルバージョンを購入した場合)

関連情報


インテルの関連ブログ


著者紹介

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 (英語) を参照してください。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • Ultrabook のタッチとセンサーに関するリソースUltrabook のタッチとセンサーに関するリソース この記事は、インテル® デベロッパー・ゾーンに掲載されている「Ultrabook Touch and Sensor Resources」の日本語参考訳です。 最新の Ultrabook™ ではハードウェア機能であるタッチおよびセンサーと Windows* 8 […]
  • Ultrabook™ のセンサーの検出Ultrabook™ のセンサーの検出 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Detecting Ultrabook Sensors」の日本語参考訳です。 第 3 世代インテル® Core™ プロセッサー (開発コード名: Ivy Bridge) のリリースにより、市場に変革をもたらす新しいタイプの Ultrabook™ が登場しました。第 […]
  • Windows* ストアおよびデスクトップ・アプリの開発Windows* ストアおよびデスクトップ・アプリの開発 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Windows 8* Store vs Desktop App Development」の日本語参考訳です。 Windows* 8 とインテル® デバイス向けのアプリを開発する場合、どのタイプの Windows* 8 […]
  • Ultrabook™ のセンサー・コントロールを HTML5 アプリケーションに追加するUltrabook™ のセンサー・コントロールを HTML5 アプリケーションに追加する この記事は、インテル® デベロッパー・ゾーンに掲載されている「Adding Ultrabook Sensor Control To HTML5 Apps」の日本語参考訳です。 タッチおよびセンサー機能に対応した Windows* 8 搭載の Ultrabook™ が登場し、HTML5 […]
  • Parallel Universe マガジンParallel Universe マガジン Parallel Universe へようこそ。 米国インテル社が四半期に一度オンラインで公開しているオンラインマガジンです。インテルの技術者によるテクノロジーの解説や、最新ツールの紹介など、並列化に関する記事を毎号掲載しています。第1号からのバックナンバーを PDF 形式で用意しました、ぜひご覧ください。 12 […]