特集
マルチデバイス対応アプリの可能性(前編)

Live Meshアプリケーションとは何か?

デジタルアドバンテージ 一色 政彦
2009/02/24
Page1 Page2

 2009年1月27〜28日、マイクロソフトによる開発者向けカンファレンス「Tech Days 2009」がパシフィコ横浜で開催された。このカンファレンスは、昨年秋に米国で開催された「PDC(Professional Developer Conference) 2008」の日本版であり、Windows AzureとWindows 7が2大テーマとなっていたが、今回、筆者はマイクロソフトの方から「実はマイクロソフトはLive Meshにかなり注力している」という情報を得ていたので、Live Services(特にLive Mesh)に関するセッションを中心に聞いて回った。本特集記事はその内容の要約記事である。

 多くの読者にとって、Live Meshを含めたLive Servicesに対する感想は、「検索や地図などWindows Live用のWeb APIで、基本的にコンシューマ向けのものでしょう?!」というものだと想像するが、筆者は今回のLive Meshアプリケーション(=Mesh-Enabled Application:Mesh利用アプリケーション。以降、Meshアプリ)に関するセッションを聞いて、「これはAdobe AIRの対抗技術であり、Google Gearsの対抗技術でもある。そして(Googleが考えているとうわさされている)Web OSという概念に相当する技術でもある」と感じた。要するに、Live Meshには、いま最先端のさまざまな技術要素が含まれており、未来志向の技術者にとって非常に興味深いテクノロジなのである。

 では、Meshアプリとはどのようなもので、どうやって作るのか。本特集では、Tech Days 2009の複数のセッションから得られた情報を基に、筆者なりに分かりやすく伝えたい。全体を前後編に分け、前編ではLive Meshアプリの概要を、後編でその開発方法を紹介する。

 「アプリケーション」は「アプリ」と短く記述する。

Live Servicesの概要

 若干遠回りになってしまうが、全体を理解してから個別のテクノロジの説明に入った方が、そのテクノロジの位置付けを理解しやすいと思うので、まずは大枠であるLive Servicesについて簡単に説明しよう。

Live Meshが属する「Live Services」とは何か?

特集:Windows Azure概説

 Live Servicesは、マイクロソフトによるクラウドOS「Windows Azure」を中心としたクラウド開発プラットフォーム「Azure Services Platform」の構成要素の1つであり、マイクロソフトが提供する(主に)コンシューマ向けのWeb上のサービスである「Widows Liveサービス」の機能を開発者が利用/拡張するためのWeb API/SDK群の総称である。代表的なものとしては次のものがある(リンク先は基本的に英語のサイト)。

 Live Servicesが扱うサービスの中で、いま最も注目されているのが、Live Frameworkである。

Live Frameworkとは?

 Live Frameworkについては「Live Servicesのためのフレームワーク」という説明がなされることが多いが、現状は「Live Meshを利用するためのフレームワーク」という表現が最も的を射ている。そこで本特集では、Live Framework SDKを使ったLive Meshの活用について説明する。

Live MeshとMeshアプリの概要

 そもそもLive Meshとは、どのようなサービスなのか。

Live Meshとは?

 Live Meshは、複数のデバイス(PC、Mac、モバイル:携帯電話など)の間でデータやフォルダを同期するためのクラウド・サービスで、「Apple MobileMe」「DropBox」などの類似サービスと見ることができるが、Live Meshにはこれらのサービスにはない、同期サービスを超えた興味深い機能が多数搭載されているのが特徴だ。

Live Meshの興味深い機能(1):Live Desktop

 その1つが、Web(Live Meshのサイト)上のデスクトップ画面「Live Desktop」を有していることである。

Live Desktopの実行例
この画面は「New folder」という名前のフォルダをダブルクリックして開いたところ。見た目はWindows VistaのWindowsエクスプローラのような感じである。これを使ってフォルダの作成や削除、名前の変更などが行える。このLive Desktop(Web)上のデータと、各種デバイス(PC、Mac、モバイルなど)上のデータは、自動的に(ほぼリアルタイムに)同期される。Live Meshでは、中央に表示されている[New folder]ウィンドウの右に「Live Meshバー」と呼ばれるウィンドウが常に表示され、各種関連情報にアクセスできる。Live Meshバーは(右上に表示される[<<]ボタンから)最小化して、ボタンだけの表示にすることもできる。

Live Meshの興味深い機能(2):Meshアプリ

 またそのデスクトップ(Live Desktop)上で、(冒頭で少し触れた)「Meshアプリ」というLive Mesh専用のアプリを実行することもできる。次の画面はその実行例である。

Live Desktop上で実行したMeshアプリの実行例
実行中のアプリは、Live Desktop下部のタスク・バーに表示される。この動作は、通常のWindowsデスクトップと同じだ。

 上の画面のように、Live Meshは、まるでPC上のデスクトップ画面のようなUI(ユーザー・インターフェイス)をWeb上で実現している。これが冒頭で、「(Googleが考えているとうわさされている)Web OSという概念に相当する技術」と書いた理由だ。

Live Meshの興味深い機能(3):Meshアプリのマルチデバイス展開&オフライン実行

 Meshアプリは、Live Desktopだけでなく、Windows OS(PC)やMacintosh OSなど、さまざまなデバイスのデスクトップ上でもまったく同じように実行でき、(インターネットから切断された)オフライン状態でも実行可能である。このようなマルチデバイス対応とオフライン対応の特徴をとらえて、冒頭で「Adobe AIRの対抗技術であり、Google Gearsの対抗技術でもある」という感想を述べたのである。

 次の画面は、実際にオフライン状態のWindowsデスクトップ上で、Meshアプリを実行した例である。

Windowsデスクトップ上で実行したMeshアプリの例
Windowsデスクトップで実行したMeshアプリのウィンドウの右にもLive Meshバーは表示される。

 Meshアプリで使用するデータは、マルチデバイスで共有され、ほぼリアルタイムに同期される。PCやMacなどのローカル環境には、ローカル・キャッシュが自動的に作成されており、オフライン実行時にはこれを利用する。

【コラム】Live Meshへのデバイスの登録

 Meshアプリを複数のデバイスに展開するには、あらかじめLive Meshへデバイスを登録しておく必要がある。デバイスの登録は、Live Desktop上部のバー(以降、上部バー)の[Devices]タブから行う。以下の画面はデバイスの登録を行っている例だ。

右中央にある[Install Software]ボタンをクリック
コンボボックスから利用中のOSを選択し、[Install]ボタンをクリック
Live Meshの[Devices]タブでのデバイス登録
上部バーで[Devices]タブをクリックすると、1つ目の画面が表示されるので、[Install Software]ボタンをクリックして登録を行う。Macを利用したい場合は、[Limited Mac Tech Preview now available]というリンクが表示されるので(この画面には表示されていないが、コンボボックスの下に表示される)、これをクリックすればよい(いったんクリックすると、2つ目の画面のようにコンボボックスに「Macintosh(OS 10.5.1 or higher)」という項目が表示されるようになり、リンクは表示されなくなる。この画面はクリック後の例)。モバイルはまだ利用できない。

 上記の画面でコンボボックスから適切なOSを選択して[Install]ボタンをクリックすると、その環境にインストールできるインストーラ(「LiveFrameworkClient.msi」ファイル)がダウンロードされるので、これを実行する。

 インストールが完了すると、タスク・バーの通知領域にLive Meshクライアントのアイコンが表示されるので(表示されていない場合は[スタート]メニューから[すべてのプログラム]−[Live Framework Client]−[Live Framework Client]を実行すると表示される)、これをクリックして、Live Meshへデバイス(Windows OSのPC)の登録を行う。具体的な手順は以下を参照していただきたい。

Live Meshクライアントのアイコンにマウスを乗せると、右側にウィンドウが表示されるので、[Sign in]リンクをクリック
Windows Live IDとパスワードを入力して[Sign in]ボタンをクリック
コンピュータ名を入力して[Add device]ボタンをクリック
クライアント環境でのデバイス登録

 登録が完了すると、Live Meshクライアントのアイコンにマウスを乗せたときに右側に表示されるウィンドウ(1つ目の画面)に、いま追加したデバイス(Windows OSのPC)が表示される。

Live Meshの興味深い機能(4):Meshアプリの自動展開

 さらに、このMeshアプリを一度、Live Desktop上にインストール/アップデートすれば、(Live Meshに登録されている)すべてのデバイス(PC、Mac、モバイルなど)にも自動的に展開され、どのデバイスからでも同様に実行できるようになる。

 以上のようにMeshアプリは、Web上のデスクトップやオフラインのローカルPC上で実行でき、自動的に複数デバイスに展開されるといった最先端のテクノロジを積極的に取り入れて構築された未来志向のアプリ形態であり、「Write and Deploy Once, Run Anywhere.」(一度コードを書いて展開すれば、どこでも実行できる)ともいうべき究極のソフトウェア実行プラットフォームは、多くの開発者にとって魅力的ではないだろうか。

 以下では、このMeshアプリの利用方法について簡単に説明していく。Live Meshの大きな特徴の1つはフォルダの同期機能(=一般的な同期サービスの機能)であるが、本稿ではその説明は割愛し、より開発者の関心が高いと思われるMeshアプリに絞って開発者に向けて解説する。


 INDEX
  [特集] マルチデバイス対応アプリの可能性(前編)
  Live Meshアプリケーションとは何か?
  1.Live Services/Live Mesh/Meshアプリとは?
    2.Meshアプリの利用方法
 
  [特集] マルチデバイス対応アプリの可能性(後編)
  Live Meshアプリケーションを開発しよう
    1.Meshアプリの開発方法
    2.Azureポータル上でのMeshプロジェクトの作成
    3.Meshアプリのデバッグ/実行
    4.Meshアプリ開発環境の構築
Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

SEOは総合格闘技である――「SEOおたく」が語る普遍のマインド
SEOの最新情報を発信する「SEOおたく」の中の人として知られる著者が、SEO担当者が持つべ...

HubSpot CMSにWebサイトの「定石」を実装 WACUL×100のパッケージ第1弾を提供開始
WACULと100は共同で、Webサイトの「定石」をHubSpotで実装する「Webサイト構築パッケージ...

電通調査で「料理は面倒」が6割超 なぜそうなった?
電通の国内電通グループ横断プロジェクト「電通 食生活ラボ」は、「食生活に関する生活者...