独自の Windows ランタイム コンポーネントの作成による優れた Metro スタイル アプリ開発

Windows 8 では、プラットフォームを完全に刷新することによって、開発者の皆さんがそれぞれ知識を培ってきたプログラミング言語とテクノロジを使って、デバイスやフォーム ファクターに最適化されたアプリを開発できるようになりました。1 つのアプリ内でさらに簡単に複数の言語を使うための方法が Windows ランタイムです。たとえば、独自の Windows ランタイム コンポーネントを C++ で作成することで、Xbox 360 コントローラーと対話できる優れた Metro スタイル アプリを HTML と JavaScript で開発することができます。また、再利用可能な XAML コントロールを作成して Windows ランタイム コンポーネント経由で公開し、C++ と C# の両方で記述された Metro スタイル アプリですぐに利用することができます。妥協することなく自分の専門言語を使えるというのが、Windows 8 プラットフォームのアプリ開発が備える基本的な特長です。 このブログ記事では、独自の Windows ランタイム コンポーネントを作成するために必要な知識について説明します。 基本的事項 多様な言語の選択を可能にする中心的な存在が Windows ランタイムです。Windows ランタイム経由で公開することによって、JavaScript、C++、C#、Visual Basic から通常どおりの自然な方法で呼び出すことができます。この基盤を、独自の API を開発する場合にも利用できます。 皆さんが作成してアプリ内にパッケージ化する Windows ランタイム コンポーネントは、Windows 8 プラットフォームに既に組み込まれているファースト パーティ コンポーネントと区別して、一般にサード…

0

HTML コントロールを使ってすばらしい Metro スタイル アプリを作成する

Windows 8 では、HTML を使って Metro スタイル アプリを構築することができます。直接 HTML コントロールを使って Windows 8 の新しいエクスペリエンスを自動的に実現できることは、ご存じないかもしれません。私たちは、HTML を使う際の優れた柔軟性を維持しながら、タッチ機能を備えた業務用アプリを構築できるように、HTML に手を加えてきました。輝くようなアプリをすばやく効率的に構築できるようにしたいと思っています。 特に、既存の知識を使ってすばらしい Windows 8 エクスペリエンスを実現できるように、<button> などの一般的な HTML コントロールを引き続き活用できるようにしたいと思っています。Windows 8 では、Windows 8 のエクスペリエンスが組み込まれた標準 HTML コントロールの新しい実装によってこれが可能になっています。既定では、これらの標準コントロールすべてに Windows 8 の新しい外観、優れたタッチ エクスペリエンス、ローカライズとグローバリゼーションの強力なサポートが備わっています。これらの標準 HTML コントロールを使うことで、HTML に期待する柔軟性を維持しながら、皆さんの顧客に気に入っていただけるすばらしい Metro スタイル アプリを構築することができます。 Windows 8 チームは、ユーザーに気に入っていただけるすばらしいアプリをできるだけ簡単に作ることができるようにしたいと思っています。ケース スタディとして、最もシンプルなコントロールの 1 つである <button> を取り上げて、Windows 8 の新しい <button> によりどのように生産性が上がるのかについて詳しく説明します。ここで紹介するヒントやテクニックを使えば、Windows 8 の HTML を最大限に活用してすばらしい Metro スタイル…

0

Windows 8 で Metro スタイル アプリをテストする

Metro スタイル アプリの世界では、皆さんが開発するアプリがすべてのエクスペリエンスの中心になります。このエクスペリエンスをユーザーにとって快適なものとするには、アプリを十分にテストして品質を高める必要があります。Metro スタイル アプリの作成には、デザイン、開発、テスト、そして最後に配布という、4 つの主な段階が必要です。 Metro スタイル アプリのデザインと開発の側面については、これまで多くのブログ記事で注目してきました。この記事では、アプリのテストに関連する総合的な検証分野についていくつか取り上げます。 “テスト” という用語にはかなりたくさんの意味があり、特にソフトウェア開発ライフサイクルの文脈においては、人によって意味が異なります。さらに、ソフトウェア開発のさまざまな段階において、多様なアクティビティ セットを実行する必要があります。これらのアクティビティには、ユニット テスト、機能テスト、ユーザビリティ テスト、シナリオ テストなどが含まれます。これらのどのアクティビティもテストの一部分しか表しておらず、高い品質を確保するためにアプリで行う必要があるすべての検証をカバーすることはできません。この記事では、検証の具体的な種類を区別していません。代わりに、アプリの品質を高めるのに役立つ総合的な検証分野と作業の広範なセットについて説明します。これらの検証分野に加えて、デバッグやテストに Visual Studio (英語) を使ったり、Visual Studio ユニット テスト ツールを使ったりして、開発時にアプリの機能を検証することもできます。今後数週間にわたって、Metro スタイル アプリのテストについて詳細に説明するブログ記事を書く予定です。 “アプリ ライフサイクルの管理” に関するブログ記事で説明したように、Metro スタイル アプリは各種の実行時状態を遷移します。このアプリ ライフサイクルに基づいて、以下の検証の主な分野について考えたいと思います。 アクティベーション: いくつかのアクティベーション パスをとおしてアプリを検証します。 実行状態: 実行時にアプリを検証します。 中断: アプリが正しく中断されることを検証します。 再開: アプリが正しく再開されることを検証します。 終了: アプリが終了することを検証します。 非実行: アプリが実行されていないときに動作を検証します。 これらの各分野における主な検証分野について詳しく見ていきましょう。 アプリのアクティベーション動作を検証する アクティベーションをテストするには、ユーザーがアプリを起動する可能性があるさまざまなコンテキストを試す必要があります。アプリでサポートされる各アクティベーション シナリオを検証することが重要です。ユーザーがアプリをアクティベーションする可能性がある一般的なコンテキストは次のとおりです。 タイル: タイルによるアプリの起動は、ほとんどの場合ユーザーがアプリに対して行う最初の操作となります。アプリが適切なアプリ起動デザイン パターンに従っていることを検証します。 トースト通知: アプリでトースト通知 (英語) がサポートされる場合、アプリが処理することになっている着信通知をクリックしたときに、アプリが機能を正常にアクティベーションすることを検証します。…

0

Windows 8 の入力を最新化する

Windows 8 では、入力プラットフォームの最新化を図っています。より明快な Windows 8 開発を実現するだけでなく、Windows とアプリの進化に合わせて拡張でき、新しい入力方式をサポートできる基礎を築きたいと考えました。 そのために、私たちは基本に立ち返り、設計の指針とする大原則に照準を合わせました。今回のブログ記事では、この大原則が重要である理由と、このプラットフォームを利用して Windows 8 ですばらしいアプリを構築する方法について説明します。 プラットフォームの原則 Windows は、これまで常に、Windows を基盤とするアプリによって映し出されてきました。多くのユーザーが Windows を体験したのはアプリの世界をとおしてであり、Windows 8 ではさらにその傾向が強まっています。Windows 8 では、OS 機能の大半がアプリのエクスペリエンスを介して提供されます。したがって、アプリは、これまでよりも格段に予測可能な動作になり、ユーザーが自信を持って操作できる必要があります。同様に、開発プロセスとプラットフォームも一貫性があり、予測可能である必要があります。ハードウェアの取り組みについては、ブログ記事「Windows 7 のハードウェアで Windows 8 のタッチ機能を体験する」と「タッチ ハードウェアと Windows 8」で説明しました。また、お寄せいただいたフィードバックを基にいくつかの点について議論をしました。合格と見なせるプラットフォームは、開発がしやすくて自信を持って利用でき、幅広いリーチが可能な、開発者が本当に創造力を解き放つことができるプラットフォームです。私たちは、まず、次の原則を原点としました。 幅広いリーチ できるだけ多くのデバイスを容易にターゲットにできる必要があります。つまり、入力プラットフォームの観点では、さまざまな種類の入力 (マウス、タッチ、ペン、タッチパッド) とフォーム ファクター (スレート、オールインワン、デスクトップ、ノート PC、コンバーチブル) をサポートする必要があります。Windows は非常に多くのフォーム ファクターとデバイスをサポートしていることもあり、そのような対応範囲の広い、利便性の高いプラットフォームと見なすことができます。その代わり、Windows では、それらのフォーム ファクターとデバイスを容易にターゲットにできる必要もあります。 一貫性と自信 Windows 8 では、一貫性があり、自信を持って操作できるエクスペリエンスを提供したいと考えています。アプリ開発者が、ユーザーに新しい対話式操作や入力パラダイムを教えなくても済む必要があります。Windows 全体で一貫性のあるエクスペリエンスを利用でき、アプリの操作方法をユーザーが既に知っていると確信を持つことができる必要があります。その結果、アプリとエコシステムに対するユーザーの自信も高まり、開発者の作業が楽になります。 開発の容易さ あまにりにも複雑であるか、一貫性がない、または開発が難しい場合、そのプラットフォームが成功を収めることはありません。Windows 8 では、開発の容易さも指針となる原則の 1 つにしています。 入力プラットフォームの概要 入力プラットフォームは、レイヤーで構成されています。最下位レイヤーは…

0

Live SDK を使ってアプリにシングル サインオンを実装する際のベスト プラクティス

私は数か月前、Live SDK を使って Windows 8 アプリにシングル サインオン機能を実装し、SkyDrive と連携させる方法に関する記事を執筆しました。その後、Windows 8 Release Preview の一般提供が開始されましたが、ユーザーによるサインイン、アカウントの連携、エクスペリエンスからのサインアウトを可能にするアプリのエントリ ポイントの公開方法について規定するデザイン パターンの一貫性が失われている例をいくつか目にするようになりました。 これらのデザイン パターンについてわかりやすく説明するために、ユーザーの Microsoft アカウントを使用するアプリ向けのガイドラインをいくつかのまとめました。この記事ではそれらのガイドラインについてお知らせすると共に、作業を始めるために役立つコードを紹介します。 開発者が Microsoft アカウントを使った認証をアプリに組み込む場合は、主に以下の 3 つのシナリオが考えられます。 ユーザーがサインインしないとアプリを操作できない ユーザーはサインインしなくてもアプリを操作できるが、パーソナル化されたエクスペリエンスを利用するにはサインインが必要 SkyDrive や Hotmail との統合など特定タスクの実行に、Microsoft アカウントによるサインインが必要 では、これらについて詳しく説明していきましょう。 ユーザーのサインインが必要なアプリのガイドライン Microsoft アカウントを ID プロバイダーとして使い、ユーザーがサインインしないと操作できないアプリの場合は、Microsoft アカウントのサインイン ダイアログをアプリの起動と同時に表示します。このカテゴリに含まれるのは、特定ユーザーに固有の情報を作成または管理するアプリで、代表例として People アプリが挙げられます。 Microsoft アカウントで PC にサインインしていないユーザーには、標準のサインイン ダイアログが表示されます。 サインイン ダイアログ。 Windows 8 はシングル サインオンをサポートするため、Microsoft アカウントで PC にサインイン済みのユーザーにはこのダイアログは表示されません。 いずれの場合でも、アプリがユーザーの…

0

Windows 8 デベロッパー センター: Metro スタイル アプリのデザイン、構築、販売に必要なものがすべて入手可能

Windows 8 では、プラットフォームだけでなく、皆さんとアプリ開発情報を共有する方法も完全に刷新されました。9 か月前に開設された Windows デベロッパー センターには、開発を始めるのに必要なすべての情報とリソースが 1 か所に揃っています。開発が初めての場合も、次にすばらしいアプリを作るためのひらめきを求めている場合も、行き詰まったため助けが必要なときも、ここで情報を見つけることができます。 たくさんの開発者と話をしましたが、MSDN ライブラリで適切な情報を見つけるのが難しいというご意見をたくさんいただきました。Windows 8 の開発者向けコンテンツに対して私たちが定めた目標は、まさに適切なコンテンツを必要なときに提供し、多くの情報を含めすぎないということでした。このために、ある機能を構築した方法や理由ではなく、作業を行う方法に焦点を当てました。皆さんは、新しいシナリオや機能について学習し始めるとき、すぐに試してみて、詳しいことは後で学習したいと述べていました。また、たくさんのドキュメントを読むのではなく、すぐに作業に取り掛かりたいという意見もはっきりしていました。新しい Windows 8 デベロッパー センターでは、さまざまな場所にあるドキュメント、ツール、サンプル、他の資産を見つけ出す必要はありません。すべて 1 か所にあります。さらに、検索機能も強化されたので、必要なものが簡単に見つかります。 また、デベロッパー センターでは、開発者でなくても興味深い情報をたくさん見つけることができます。クリエイティブなプロフェッショナルやデザイン エキスパートの方が、デザイン以外の情報は必要としない場合のために、デザインに関するコンテンツだけを集めた "センター内のセンター" が用意されています。design.windows.com にアクセスするだけです。私たちは、"Windows デザインおよびデベロッパー センター" と呼んでいますが、少し長いですね。 構造とナビゲーション Windows デベロッパー センターは、Metro スタイル アプリ、Internet Explorer、デスクトップ、ハードウェアの 4 つのセクションに分けられています。これらのセクションには、すべて dev.windows.com からアクセスできます。 これらのセクションの構造はすべて似ていますが、見た目より重要なコンテンツの Metro スタイル デザインの原則について見てみましょう。この記事では、Metro スタイル アプリ セクションのみ扱いますが、これはこのブログのほとんどの読者が Metro スタイル アプリに関心を持っているためです。外観は次のようになっています。         ページ上部にあるリンクを使うと、センター内を簡単に移動できます。 ホームからはサイトに移動でき、用意されているコンテンツに関する全般的な情報が表示されます。 ストアが…

0

アプリが画面に表示されていないときに生産性を上げる

アプリ ライフサイクルの管理に関する記事で、Adam Barrus は Windows 8 で導入された新しいアプリ ライフサイクルについて説明しました。私たちが最もよく受ける質問は、「アプリが画面に表示されていないときに重要な処理 (ファイルのダウンロード、電子メール送信、音楽の再生など) を行う必要がある場合はどうなるか」というものです。2 部から成るこの一連の記事では、アプリがバックグラウンドのときに実行できるさまざまな種類のアクティビティについて説明し、このようなシナリオを実現できるコード例をいくつか示します。 Windows 8 のバックグラウンド モデル 効率的なバッテリ利用は、Windows 8 とそのアプリ モデルの設計における基本的な要素の 1 つとなってきました。Building Windows 8 ブログの Pat Stemen による記事では、Windows 8 の設計においてこの点がそのような重要な要素となっている理由について詳しく説明し、バッテリ寿命を延ばすためシステムに組み込まれたテクニックの一部を紹介しています。ご想像のとおり、デバイスのバッテリ寿命を決める最大要因の 1 つは、実行されるアプリです。私たちは、この点を考慮して、バッテリ寿命が最大になるように Windows 8 アプリ ライフサイクルを設計しました。しかし、これはアプリ モデルによりバックグラウンド アクティビティがなくなるという意味ではありません。この記事では、Windows 8 でサポートされるバックグラウンド シナリオについて説明します。この方法の詳細については、Building Windows 8 ブログの Ben Srour と Sharif Farag による記事「アプリケーションの電力効率を向上させる」をご覧ください。 Windows 8 のバックグラウンド モデルを設計するため、アプリをバックグラウンドで実行する必要がある代表的なシナリオを特定し、この機能を効率的に実現する API を追加しました。Windows…

0

Metro スタイル アプリの高速で滑らかなアニメーション

高速で滑らかなアニメーションは、アプリに生気を吹き込みます。Windows 8 Consumer Preview では、アニメーションがユーザー エクスペリエンスの不可欠な要素であることに注目してください。PC にログインすると、[スタート] メニューの項目がアニメーション表示されます。また、イマーシブなアプリを起動するか、[スタート] メニューをズームインすると、滑らかなアニメーションにより豊かなエクスペリエンスが得られます。アニメーションは、特定の操作の結果として何が行われたかをユーザーに伝えることができます。この視覚的なフィードバックにより、アプリの応答性に対するユーザーの信頼が得られます。一覧内の項目をシンプルに追加または削除する場合であっても、微妙なアニメーションを使用することで、滑らかかつ新鮮な方法により有益な情報を提供できます (Jensen Harris’s //build/ session (英語)、約 25:00 分を参照してください)。 この短いビデオは、スムーズなアニメーションによる多彩な UI を披露するものです。 お使いのブラウザーでは HTML5 ビデオがサポートされていません。 ビデオをダウンロードしてお好みのメディア プレーヤーで再生することができます: 高画質 MP4 (英語)| 低画質 MP4 (英語) Windows 8 では、アニメーションは Metro スタイル パーソナリティの主要なコンポーネントであり、この個性を自身のアプリに活かすことができます。 今回のブログ記事の内容は次のとおりです。 アニメーション エンジンの簡単な概要 アニメーション ライブラリの使用を始める方法 カスタム アニメーション、およびアニメーション エンジンの改良点を利用する方法 Metro スタイル アプリにアニメーションを組み込むためのヒントとテクニック。 独立型アニメーション Windows 8 のエクスペリエンスの大きな部分を占めるのがぎくしゃくしないスムーズなアニメーションであり、それは独立型アニメーションと呼ばれる機能を通じて実現されています。”独立型アニメーション″ は、コア UI ロジックを実行するスレッドからは独立して実行するアニメーションです (“依存型アニメーション″…

0

ピクセルを最大限に活用する – 表示状態の変更に適応する

Windows 8 のアプリは、さまざまな画面サイズとさまざまな表示状態で実行されます。ユーザーは、25 インチのデスクトップ モニターの側端にアプリをスナップすることもできますし、10 インチのワイドスクリーン タブレットの画面全体をアプリで埋めることも可能です。いずれの場合も、皆さんのアプリが利用可能なスペースを十分に活用することが望まれます。この記事では、アプリの現在のサイズと表示状態をコードで追跡する方法と、画面サイズと表示状態の変更を処理するために Windows 8 Consumer Preview でアプリを記述する方法について、ヒントを示します。 //build/ では、さまざまな画面シナリオに合わせてアプリを設計する方法について説明しました。たとえば、XAML に関する講演 (英語) や HTML に関する講演 (英語) をお聞きください。最近の Building Windows 8 ブログでは、画面のスケーリングの調査と設計に関する私たちの考えを少しお伝えしました。多くの場合、明示的なコードを記述しなくても、純粋なマークアップを使って画面サイズの変更に対応できます。しかし、アプリの表示状態 (英語) を追跡し (つまり、アプリが縦長モード、全画面モード、フィル モード、スナップ モードのどれであるか)、それに応じて反応するようにコードを記述することが必要になる場合があります。たとえば、HTML の ListView を使ってアイテムを表示する場合、次の図に示すように全画面モードでは GridLayout を使いますが、スナップ モードでは ListLayout を使います。XAML の場合、GridView コントロールと ListView コントロールを同様に切り替えることができます。このための方法を理解するために、まずはサイズ変更と表示状態の変更をコードで検出する方法を見てみましょう。 左の全画面表示状態では、GridLayout (HTML) または GridView コントロール (XAML) が使われている。 右のスナップ表示状態では、ListLayout (HTML) または ListView コントロール (XAML)…

0