Windows* ストアおよびデスクトップ・アプリの開発

同カテゴリーの次の記事

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

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Windows 8* Store vs Desktop App Development」の日本語参考訳です。


Windows* 8 とインテル® デバイス向けのアプリを開発する場合、どのタイプの Windows* 8 アプリを開発するかを選択する必要があります。これを決定する際、次の情報が参考になります。

Ultrabook™ Windows* 8 デスクトップ・アプリケーションの開発

コンバージェンス (収斂-しゅうれん) デバイスの強力な組み合わせである、Windows* 8 を搭載する Ultrabook™ デバイスでは、デスクトップ・アプリと Windows* ストア (旧称 Metro スタイル) アプリの両方を実行することができます。Microsoft* の新しい WinRT API は、Windows* ストアアプリを作成する手段を開発者に提供します。また、一部の WinRT API は、Windows* 8 のデスクトップ・アプリケーションの開発にも利用できます。これにより、従来の Windows* アプリケーションを Windows* 8 デスクトップ・アプリケーションに簡単に移植することができます。

デスクトップ・アプリは Windows* 8 のデスクトップ・モードで動作します。このモードは従来の Windows* 環境のように見えますが、従来のユーザー体験とは完全に同じではありません。よくある誤解は、デスクトップ・モードでは新しい Windows* 8 のタッチおよびセンサーベースのアプリケーションを開発できないということと、Windows* ストアにデスクトップ・アプリをリストできないということです。この 2 つはどちらも間違いです。タッチおよびセンサーベースのデスクトップ・アプリを開発したり、Windows* ストアにリストすることは可能です。また、インテル® ワイヤレス・ディスプレイ (インテル® WiDi) や OpenGL* のようなハードウェア・ドライバーとデバイスは、現在デスクトップ・モードで動作しているアプリにのみアクセスできます。開発者は、Windows* 8 UI 環境向けに利用または開発できるデバイス機能とテクノロジーを知っておくべきでしょう。

デスクトップ・アプリケーションを開発する利点は次のとおりです。

  • 従来の Win フォームや MFC 形式のアプリケーションは、デスクトップ・ウィンドウ・マネージャー環境で動作するため、「デスクトップ・アプリケーション」と呼ばれるようになりました。デスクトップ・アプリは、ネイティブ Win32/COM API または .NET API のいずれかを利用できます。
  • Windows* 8 デスクトップ・アプリは、Windows* の従来のノートブック形式の UI とタッチ機能を提供することにより、従来の Windows* デスクトップ・アプリの柔軟性を保っています。[スタート] ボタンがなくなったことを除けば、Windows* 8 Ultrabook™ デスクトップの UI は従来のノートブックの環境と非常に似ています。
  • 馴染みのある x86 アプリケーションとツールを利用できます。Ultrabook™ のデスクトップ・モードでは、ハードウェア・カウンターとパフォーマンス・モニタリング・ツールにアクセスできます。これらの機能は、最新の Ultrabook™ ハードウェア向けにデスクトップ・アプリケーションを最適化する上で役立ちます。また、デスクトップ・アプリは、低レベルのドライバーと通信して、レイテンシーの低いパフォーマンスを得ることができます。
  • C++ と C# に対する基本的なレベルのモバイル API。
  • 従来のドライバーとデバイスのサポート。Windows* 8 では、より高速なデータ転送が可能で消費電力管理機能が向上した USB 3.0 のネイティブサポートが追加されました。デスクトップでもタッチとセンサー用のデバイスドライバーをサポートしています。
  • デスクトップ・センサーと WinRT センサーの違いについては、「Ultrabook™ およびタブレット向け Windows* 8 センサーの開発ガイド」を参照してください。
  • クロスプラットフォーム・グラフィックス (OpenGL*) をサポートしています。
  • アプリをインテル® AppUp ストアから配信できます。
  • アプリを Windows* ストアに登録できます。
  • Windows* ストアアプリへの移植性: Microsoft* の新しい WinRT API は、Windows* 8 の Windows* ストアアプリを作成する手段を開発者に提供します。また、一部の WinRT API は、Windows* 8 のデスクトップ・アプリケーションの開発にも利用できます。これにより、従来の Windows* アプリケーションを Windows* 8 デスクトップ・アプリケーションに簡単に移植することができます。
  • 従来の Windows* アプリを移植 / 最適化できます。Windows* 7 で動作するすべてのアプリは、そのまま Windows* 8 でも動作します。
  • インテル® WiDi Extensions SDK は、アプリケーション開発者がインテル® WiDi を利用して HDTV へユーザー体験を拡張できる開発パッケージです。この SDK により、開発者はアプリケーション内からインテル® WiDi TV アダプターを自動的にスキャンして接続するアプリケーションを作成できます。現在のところ、(Windows* ストアアプリではなく) Windows* 8 デスクトップ・アプリのみをサポートしています。

デスクトップ・モードでサポートされている言語: C++、C#、HTML5/JavaScript*、Unity*、Python*、QT、Flash/AIR、Java*、その他の Windows* 7/Windows*8 でビルドおよびコンパイルできる言語。

サポートされている機能:

  • NFC
    • Windows* 8 を搭載した Ultrabook™ は、2 つの Ultrabook™ デバイス間の近距離無線通信 (NFC) をサポートしています。
  • インテル® アンチセフト・テクノロジー (インテル® AT)
    • この最新のセキュリティー・ハードウェアは、世界中のあらゆる場所で紛失時や盗難時に Ultrabook™ を無効にすることでデータを保護します。Ultrabook™ が手元に戻ってきた際、データやデジタルコンテンツを損なうことなく、利用可能な状態に簡単に復元できます。(インテル® Core™ プロセッサー搭載の特定の Ultrabook™ デバイスでオプションとして利用できます。)
  • インテル® アイデンティティー・プロテクション・テクノロジー (インテル® IPT)
    • システム、アカウント、お気に入りのオンラインの場所に信頼済みリンクを追加して、ID とオンライン資産を保護します。(特定のシステムで利用できます。)
  • インテル® ラピッド・スタート・テクノロジー
    • 瞬時に Ultrabook™ を元の状態に戻します。この機能により、休止状態の消費電力を低いレベルに抑えつつ、必要なときはすぐにデバイスを休止前の状態に戻すことができます。
  • インテル® スマート・レスポンス・テクノロジー
    • 使用頻度の高いファイルとアプリケーションを素早く認識して、ただちにアクセスできる場所に格納します。
  • マルチタッチ
    • Windows* 8 デスクトップ・アプリケーションもタッチ対応にできます。1 本指タップ、2 本指タップ、ドラッグ、スワイプ、回転、ピンチ/スプレッドなどのジェスチャーにより、既存のデスクトップ・アプリケーションの利便性を高めることができます。
  • 傾きセンサー
    • デスクトップ・アプリケーションでは、Windows* 7 と同じように COM インターフェイスによりセンサーの機能を利用できます。これらのインターフェイスによって、アプリケーションはセンサー・マネージャーおよびセンサーと通信することができます。センサー・マネージャーは利用可能なセンサーを管理します。センサーが接続されると、そのセンサーが利用できることをアプリケーションに通知し、アプリケーションがそのセンサーにアクセスできるようにします。センサー自身は、新しいデータ、センサー状態の変化、センサーの接続解除、センサー開発元によって定義されたカスタムイベントをアプリケーションに通知できます。センサー・マネージャーおよびセンサーとの通信は、COM インターフェイスを通じて行われます。センサー・マネージャーおよびセンサーとやりとりを行うには Sensor API を利用し、イベント通知を受け取るには、COM コールバック・インターフェイスをプログラムに実装します。
  • インテル® スマート・コネクト・テクノロジー
    • インテル® スマート・コネクト・テクノロジーにより、電子メール、お気に入りのアプリ、ソーシャル・ネットワークは、システムがスリープ状態のときでも自動的に最新情報に更新されます。(特定のシステムで利用できます。)

Windows* ストアアプリ

Windows* ストアアプリは、WinRT アプリと呼ばれることもあります。以前は Metro スタイルアプリと呼ばれていました。これらの新しい WinRT API を利用するアプリケーションは、Windows* 8 ストアでのみ配布できます。Microsoft* は多くの機能を提供しており、一部のタッチおよびセンサー API は合理化され WinRT のデバイス API セットに追加されています。WinRT ベースのアプリは Visual Studio* 2012 を利用して開発され、C++、C#、または主要な Web テクノロジー (HTML5、JavaScript*、CSS3 など) で記述されます。アプリは、Visual Studio* IDE でパッケージ化され、Windows* ストアに送信されます。以下に各項目について説明します。

利点

  • 強固でモダンな UI とナビゲーション
    Windows* ストアアプリでは、コンテンツにより注目が集まるため、アプリのコンテンツに注目すべきです。これらのアプリを Web サイトとして考え、強調するデータとナビゲート方法を決めます。すべてのアプリは単一ウィンドウで表示され、ウィンドウは画面全体をカバーします。ただし、アプリの内部では、必要に応じて複数のビューとレイアウトを利用できます。レイアウト、ビュー、ナビゲーションは、さまざまなデバイスやフォームファクターにわたって一貫しています。従来のマウスおよびキーボード入力とは別に、タッチスクリーンのジェスチャーとペン/スタイラス入力を使用して、アプリ間およびアプリ内をナビゲートすることができます。
  • アクティブタイル
    Windows* 8 のアプリは、アイコンの代わりにタイルで表示されます。これらのタイルは、Windows* 7 以前の「大きなアイコン」ではなく、Windows* 7 のウィジェットに似たものです。タイルは、アプリが前面で実行していない場合でも、ライブデータを提供できます。プッシュ通知サービス (Windows* Push Notification Services – WNS を利用) またはプル通知サービス (Web サービスを利用) のいずれかにより、最新のコンテンツを表示するようにできます。例えば、任意のソーシャル・メディア・サイトの最新情報をソーシャル・メディア・アプリに表示します。株式市場アプリの場合は、ユーザーが興味を持っている株式の最新情報を表示します。
    詳細: タイトルとバッジの作成 (http://msdn.microsoft.com/ja-jp/library/windows/apps/hh465377.aspx) – Microsoft*
  • 複数のアプリでコンテンツを検索および共有
    従来のアプリケーションでは、データ・フォーマットや処理メカニズムの違いにより、2 つのアプリケーション間でデータを共有することは困難でした。しかし、Windows* ストアアプリでは、「アプリ・コントラクト」と呼ばれる概念によって異なるアプリと容易に通信することができます。このため、各アプリケーションの API やデータ・フォーマットの理解に時間をかけなくても済みます。ターゲットのコントラクトをサポートすること以外にターゲットアプリについて何も知る必要はありません。「アプリ・コントラクト」を利用することで、異なるアプリ間でコンテンツを検索して共有することができます。
    詳細: アプリ コントラクトと拡張機能 (Windows ストア アプリ) (http://msdn.microsoft.com/ja-jp/library/windows/apps/hh464906.aspx) – Microsoft*
  • マルチタッチ
    Windows* 8 では、タッチをプライマリー・ユーザー入力メカニズムとして考慮する必要があります。Windows* 8 は、マルチタッチ・ユーザー・インターフェイス・イベントをサポートしています。Windows* Runtime Platform API でユーザー入力に応答するために提供されているプライマリー・タッチ・イベントは 3 つあります (ポインターイベント、ジェスチャー・イベント、操作イベント)。

    ポインターイベントは、入力デバイス (マウス、ペン/スタイラス、1 本の指、複数の指など) からの、画面表面の「接触」を処理します。
    ジェスチャー・イベントは、タップや長押しなどの 1 本の指による操作を主に処理します。
    操作イベントは、ピンチ/ストレッチ、パン/スクロール、ズーム、回転などの操作を処理します。
    これらのイベントを組み合わせて、Windows* 8 では次のジェスチャーがサポートされています。

    ジェスチャー 説明
    タップ キーボードのキー押下イベントに似たイベントです。1 本の指で画面をタッチし、その指を上げます。
    長押し 1 本の指で画面をタッチし、そのまま押し続けます。
    スライド 1 本または複数の指で画面をタッチし、同じ方向に動かします。
    スワイプ 1 本または複数の指で画面をタッチし、同じ方向に少しだけ動かします。
    回転 2 本以上の指で画面をタッチし、時計回りまたは反時計回りに動かします。
    ピンチ 2 本以上の指で画面をタッチし、それらの指を近づけていきます。
    ストレッチ 2 本以上の指で画面をタッチし、それらの指を離していきます。

    詳細: ユーザー操作への応答 (http://msdn.microsoft.com/ja-jp/library/windows/apps/hh700412.aspx) – Microsoft*

  • センサー
    Windows* 8 では、さまざまなセンサー向けに API が用意されています。一部の API は、(ハードウェア・ドライバーを使用して) 物理的なセンサーデータに直接アクセスできます。また、センサー・フュージョンと呼ばれる概念を利用した仮想センサーを使用するものもあります。例えば、加速度計は角度の位置を基に傾斜計を起動し、加速度計とジャイロメーターはコンパスを起動します。

    Windows.Devices.Sensors 名前空間は、主にモーション、方位、光に関連する API を提供します。この名前空間で API は次のセンサーをサポートします。

    センサー 説明
    加速度計 X、Y、Z 軸の加速度を検出します。加速度計のサンプル (http://msdn.microsoft.com/ja-jp/library/windows/apps/windows.devices.sensors.accelerometer.aspx) – Microsoft*
    傾斜計 傾斜角の変化を検出します。傾斜計のサンプル (英語) – Microsoft*
    ジャイロメーター 角速度の変化を検出します。ジャイロメーターのサンプル (英語) – Microsoft*
    コンパス 向きの変化を検出します。コンパスのサンプル (英語) – Microsoft*
    環境光の変化を検出します。光センサーのサンプル (英語) – Microsoft*
    方位 加速度計、コンパス、ジャイロメーターから取得したデータを組み合わせて、より精度の高い移動データを提供します。方位センサーのサンプル (英語) – Microsoft*
    簡易方位 加速度計を使用して、4 分割のいずれかへの回転 (90 度、180 度、270 度)、表向き、裏向きなどのデバイスの向きを取得します。簡易方位センサーのサンプル (英語) – Microsoft*

    詳細: Windows* 8 でサポートされているセンサー (http://msdn.microsoft.com/ja-jp/library/windows/apps/windows.devices.sensors.aspx) – Microsoft*

  • GPS
    Windows* 8 の位置情報データは、Wi-Fi* による三角測量や IP アドレスデータに基づいて提供されています。このセンサーは、Windows* 位置情報取得機能と呼ばれるもので、ハードウェア・センサーではありません。ただし、デバイスに物理的な GPS センサーが搭載されている場合、この位置情報取得機能は GPS センサーに基づいてより正確な位置情報を提供します。
    詳細: 位置認識アプリのガイドライン (http://msdn.microsoft.com/ja-jp/library/windows/apps/hh465148.aspx) – Microsoft*
  • NFC (近距離無線通信)
    NFC は、モバイル分野への普及が進められている技術で、Windows* 8 ではラップトップと Ultrabook™ で利用可能です。これらの Windows* 8 API は、デスクトップまたは Windows* ストアアプリで利用できます。必要な API は、NFC の Windows.Networking.Proximity 名前空間で提供されます。
    詳細:
    NFC 向けシステムの設計とドライバーの開発 (英語) – Microsoft*
    近接通信とタップのサポート (http://msdn.microsoft.com/ja-jp/library/windows/apps/hh465229.aspx) – Microsoft*
    近接通信のサンプル (英語) – Microsoft*
  • さまざまな言語を利用して Windows* ストアアプリを開発することができます。現在、Windows* ストアアプリは Visual Basic、C#、C++ および JavaScript と HTML5 および CSS3 を利用して開発できます。すべての Windows* ストア API について、これらの言語のドキュメント (http://msdn.microsoft.com/ja-jp/library/windows/apps/) とサンプルが用意されています。これらのアプリの開発、パッケージ化、Windows* ストアへの送信には Visual Studio* 2012 IDE を利用します。無料の Visual Studio* Express を利用することもできます。アプリの開発を開始する前に、各マシンで開発者として登録しなければなりません。
  • Windows* ストアからの配布、販売、インストール
    開発者ライセンスがあればアプリは開発できますが、アプリの配布は次の 2 つの方法のいずれかで行います。
  1. Microsoft* ストアのすべての認証プロセスを経て、アプリを Windows* ストアに公開する。公開したアプリは Windows* ストアで利用できます。ユーザーはアプリをダウンロードしてインストールできます。インストールとアップグレードのプロセスは Windows* ストアによって制御されます。
  2. Microsoft* ストアを経由しないで公開する。一般に、企業内や組織内でアプリを配布する場合は、こちらを利用します。この概念はサイドロードと呼ばれています。
  • x86 と ARM 両方のプロセッサー・アーキテクチャーをサポート

注: Windows* ストアアプリは下位互換性がありません。Windows* 7 や Windows Server* 2012 にストアアプリを配布することはできません。

Windows* ストアアプリでサポートされている Ultrabook™ の機能:

Ultrabook™ 機能の比較

各種開発言語でサポートしている Ultrabook™ 機能の比較は、次のページを参照してください。
https://www.izzz.us/article/idz/android/ultrabook-feature-compatibility-matrix/

著作権と商標について

本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するものではありません。製品に付属の売買契約書『Intel’s Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品適格性、あらゆる特許権、著作権、その他知的財産権の非侵害性への保証を含む) に関してもいかなる責任も負いません。

インテルによる書面での合意がない限り、インテル製品は、その欠陥や故障によって人身事故が発生するようなアプリケーションでの使用を想定した設計は行われていません。

インテル製品は、予告なく仕様や説明が変更される場合があります。機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提にしないでください。これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。この情報は予告なく変更されることがあります。この情報だけに基づいて設計を最終的なものとしないでください。

本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。

最新の仕様をご希望の場合や製品をご注文の場合は、お近くのインテルの営業所または販売代理店にお問い合わせください。

本資料で紹介されている資料番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725 (アメリカ合衆国) までご連絡いただくか、インテルの Web サイトを参照してください。

性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。

本資料に含まれるソフトウェア・ソース・コードはソフトウェア・ライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。

Intel、インテル、Intel ロゴ、Ultrabook は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。

OpenGL は、アメリカ合衆国および / またはその他の国における Silicon Graphics, Inc. の商標または登録商標です。

© 2012 Intel Corporation. 無断での引用、転載を禁じます。

* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

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

関連記事