Windowsストア・アプリにはさまざまな特徴があるが、ここでは特に大きな特徴を5つ挙げる。それらを説明するとともに、開発者視点ではどのような意味があるかも解説する。
Windowsストア・アプリは、指で操作するタブレット型PC(以降、タブレット)に適している。
開発者から見ると、ユーザー・インターフェイス(以降、UI)の検討はタッチ操作から始めねばならないということだ。タブレットの操作がピンと来ないのであれば、スマホを思い浮かべてもらうとよいだろう。そして、Windowsストア・アプリはデスクトップ型PC(以降、デストップ)でも動作するのだから、マウスでの操作にも、キーボードでの操作にもそれなりに対応させなくてはならない。
これはWindowsストア・アプリが初めて紹介されたときに使われた言葉で、「没入型のアプリで、素早く滑らかに動く」という意味合いである。
Windowsストア・アプリは、ディスプレイの全画面を占有するのが基本で、メニューやタイトル・バーなどの「飾り物」は普段は表示せず、ユーザーがそのコンテンツに没入できるようにデザインされている(=イマーシブ)。また、アプリはユーザー操作に素早く反応し、滑らかに動く(=ファスト&フルイド)。
なお、メニューなどは画面の上端や下端から引き出して使うアプリ・バー(第7回で解説予定)や、右端から引き出して使うチャーム(第9回で解説予定)に置かれている。
開発者から見ると、ユーザー・エクスペリエンス(以降、UX)の検討は、「コンテンツ・ファースト」(何をユーザーに見せたいか)から始めるべきだとなる。従来の業務アプリなどでは「ファンクション・ファースト」(=機能優先、何をユーザーにさせたいか)から考えることが多かっただろうから、大転換である。
また、ファスト&フルイドを開発者視点でいうと、非同期処理とアニメーション処理を多用するということだ。つまり、時間のかかる処理を非同期に実行することでユーザーの操作に素早く反応できるようにし(ファスト)、アニメーション処理によって滑らかな画面描画を実現する(フルイド)。このうち、アニメーション処理は開発環境がデフォルトで提供してくれるものをそのまま使えば、それでそこそこ間に合うので、凝ったことをやろうと思わない限りは心配無用だ。「ファスト」の方は、開発者が非同期処理に習熟しなければならない(第6回で解説予定)。
Windowsストア・アプリはクラウドのフロントエンドである。もちろん、タブレット側だけで完結しているアプリもあるだろうが、アーキテクチャの考え方としては、クラウドのサービスを利用するデバイス側のフロントエンドになるのがWindowsストア・アプリなのだ(次の図)。
これにより、ユーザーは複数のデバイス間で連続したUXが得られる。例えば、夜に自宅のデスクトップで小説を読み始め、翌朝の通勤中にタブレットでその続きを読むといったことが可能になるのだ。もっとも、このようにインターネットへの常時接続が前提になるのは、ユーザーによってはデメリットになるかもしれない。
開発者から見ると、システム全体のアーキテクチャの問題になる。特に個人レベルの開発者にとっては、Webサービスを立てるというのはコスト的に負担が重い(本連載では、すでにあるWebサービスを利用する)。また、Webサービス側とデバイス側の間で、どのように機能を分担するかも、アーキテクチャ設計の課題になる。
なお、後述するようにWindowsストア・アプリから利用できるAPIはかなり厳しく制限されており、例えばデータベースへアクセスするためのAPI(ADO.NETなど)が用意されていない。しかしそれは、デバイス&サービスのアーキテクチャでは問題にならないはずだ。逆にいえば、このようなアーキテクチャを想定しているからこそ、APIの利用を厳しく制限するという決断ができたのだといえよう。
また、複数デバイス間で連続したUXを提供するためには、「ローミング」という仕組みを利用する(第8回で解説予定)。なお、本連載では扱わないが、ネット接続が切れているときでもある程度の機能は発揮できるようにアプリを考えることも重要だ。
Copyright© Digital Advantage Corp. All Rights Reserved.