SharePoint にアクセスする Windows Phone アプリを構築する

SharePoint を使用すると開発者は、ユーザーがいつでも持ち歩いて必要なときにいつでもどこからでも操作できる、インタラクティブで魅力的なモバイル アプリを構築することができます。 Windows Phone 8 および Windows Phone 7 アプリケーションを社内設置型 SharePoint サービスやアプリケーション、またはクラウドで実行するリモートの SharePoint サービスやアプリケーション (SharePoint Online を使用するものなど) と組み合わせることで、従来のデスクトップやノート PC を越えて機能を拡張する強力なアプリケーションを作成し、ポータブルでよりアクセスしやすい環境にすることができます。

SharePoint が提供する新しいモビリティ機能は、SharePoint、Windows Phone、Visual Studio、Silverlight などといった Microsoft の既存のツールとテクノロジに基づいて構築されています。 これらの技術やその技術に関連するツールに精通している開発者は、SharePoint ベースの Windows Phone 用モバイル アプリを簡単に作成することができます。 このセクションでは、Windows Phone 8 と Windows Phone 7 用に作成できる SharePoint ベースのモバイル アプリの種類について、またそれらのアプリケーションをカスタマイズする最も一般的な方法について説明します。 SharePoint が開発者に提供する Visual Studio 2010 プロジェクト テンプレートなどのフレームワークとツールを使用すると、SharePoint Online を利用する社内インストールとクラウドの両方において、SharePoint データと対話するモバイル ソリューションを作成することができます。 図 1 は、Windows Phone に表示される簡単なリスト アプリケーションの例を示しています。

図 1. Windows Phone アプリに表示される SharePoint のリスト項目

Windows Phone アプリ内の SharePoint リスト アイテム

モバイル アプリ作成に必要なスキル

このセクションは、読者が SharePoint, .NET Framework、Visual Studio 開発システム、そして Visual C# に精通していることを前提にしています。 Silverlight を使用した Windows Phone 8 または Windows Phone 7 アプリケーションの経験があることも望ましく、XAML、Windows Phone 用の StackPanel と pivot コントロール、トゥームストーンや Sliverlight のデータ バインディングなどをよく理解していることも役に立ちます。 Sliverlight を使用した Windows Phone アプリケーション開発が初めての場合は、次のリソースを参照することをお勧めします。

SharePoint を使用したモバイル アプリ開発の概要

SharePoint を使用してバラエティーに富むモバイル アプリを作成できます。 このセクションでは、開発者が簡単にモバイル アプリを開発できるようになる SharePoint のリリースでの新機能と変更項目を説明します。

Windows Phone SharePoint Application テンプレート

これは、通常のリストを電話に表示するために作成できる、最もシンプルな種類のモバイル アプリです。 SharePoint が提供する Visual Studio テンプレートを使用すると、すばやく簡単に Windows Phone 用の SharePoint リスト アプリケーションを作成できます。 たとえば、外出先で SharePoint のタスク リストを Windows Phone に表示し、電話を使ってタスクの状態を更新できる、「To Do リスト」タイプの Windows Phone アプリケーションを作成できます。 別の例として、販売担当者が電話で表示する製品カタログに、SharePoint 内の在庫リストを表示させることも可能です。

Windows Phone SharePoint SDK をインストールすると、Visual Studio 2010 または Visual Studio 2010 Express for Windows Phone で Windows Phone SharePoint Application テンプレートを 2 つ使用できるようになります (「[方法]: SharePoint 用モバイル アプリの開発環境をセットアップする」を参照)。

Windows Phone SharePoint List Application テンプレートを使用する場合、SharePoint リスト内のデータにアクセスして操作できる機能的な Windows Phone アプリを、ウィザードの手順に従って作成することができます。

SharePoint の新規および強化されたモビリティ オブジェクト モデル

SharePoint でサーバー オブジェクト モデルとクライアント オブジェクト モデルに追加された新しいクラスにより、この記事で前述した SharePoint のモビリティ シナリオが有効になります。

位置認識ができるアプリケーションを可能にするため、位置フィールドの値を構造化してレンダリングする新規ネイティブ フィールド型クラス SPFieldGeoLocation が関連クラスと共に提供されます。 これらのクラスは Silverlight の SharePoint クライアント オブジェクト モデルで呼び出すこともできます。 また、新しいフィールド型には、標準的な SharePoint の fldtypes.xml ファイルに追加される定義と、Display、Edit、New フォーム上のフィールドのレンダリングに使われる新しいユーザー コントロールがあります。 概要については、「SharePoint 2013 でロケーションとマップ機能を組み込む」を参照してください。

Windows Phone ユーザーの SharePoint 認証を有効にするには、新規 Authenticator クラスと関連するクラスをクライアント オブジェクト モデルに含めます。 概要については、「 SharePoint モバイル クライアント認証オブジェクト モデルの概要」を参照してください。

SharePoint ファーム上にあるイベントの Windows Phone ユーザーへの自動通知を可能にするため、クライアント オブジェクト モデルからも呼び出すこともできる新規クラスをサーバー オブジェクト モデルに含めます。 これらのクラスには、携帯電話アプリが SharePoint サーバー アプリを使用して、特定の種類のイベントについての通知を登録できるようにするためのメソッドが含まれます。 また、サーバー アプリが登録済みサブスクライバーに通知を送信するためのメソッドもあります。 概要については、「プッシュ通知を受信する Windows Phone SharePoint リスト アプリの作成」を参照してください。

SharePoint では、Windows Phone 8 と Windows Phone 7 のためだけにモバイル アプリ開発に限定されるわけではありません。 JavaScript プログラミング インターフェイスと SharePoint によって提供される新しいリプレゼンテーション状態転送 (REST) プログラミング インターフェイスを使用すると、Windows Phone以外のモバイル デバイス用のアプリケーションを作成できます。ブラウザーでスクリプトとして実行される JavaScript を使用して SharePoint サイトと対話したり、標準の REST 機能をサポートする任意のテクノロジを使用してリモートで SharePoint サイトを操作したりできます。 次のセクションでは、REST および JavaScript プログラミング インターフェイスの概要について説明します。

ECMAScript (JavaScript、JScript) オブジェクト モデルのアーキテクチャ

SharePoint Foundation 2010 でクライアント オブジェクト モデルが導入され、開発者は, .NET Framework、Silverlight、JavaScript など、選択した Web プログラミング技術を使用して SharePoint とのリモート通信を実行できるようになりました。

SharePoint Foundation 2010 では、クライアント オブジェクト モデルが API を提供し、開発者はブラウザーで実行されるスクリプト, .NET Framework で管理されたアプリケーションで実行される (.NET Framework 3.5 以降に基づいた) コード、または Silverlight 2.0 アプリケーションで実行されるコードのいずれかから SharePoint サイトと通信できます。 クライアント オブジェクト モデルを構成するプロキシ .js ファイルとマネージ .dll ファイルは、client.svc Web サービス上に作成され、効果的なバッチ処理、リクエストのシリアル化、返信の解析を処理します。 図 2 に SharePoint クライアント オブジェクト モデルのアーキテクチャの概要を示します。

図 2. SharePoint クライアント オブジェクト モデルのアーキテクチャ

SharePoint クライアント オブジェクト モデルのアーキテクチャ

SharePoint のデータに対して JavaScript クライアント オブジェクト モデルを使用する方法については、ビデオ「ECMAScript Client Object Model」を参照してください。

SharePoint の REST エンドポイント

SharePoint に組み込まれている REST 機能を使用する場合は、必要なクライアント オブジェクト モデルの API に対応する Open Data Protocol (OData) 標準を使用して REST 対応の HTTP リクエストを構成します。 client.svc Web サービスは HTTP リクエストを処理し、Atom または JavaScript Object Notation (JSON) の形式で適切な応答を返します。 クライアント アプリケーションは、その応答を解析する必要があります。 図 3 に SharePoint REST アーキテクチャの概要を示します。

図 3. SharePoint REST のアーキテクチャ

SharePoint REST のアーキテクチャ

現時点では、SharePoint の REST サービスは読み取り専用です。 つまり、HTTP GET 操作を表す REST エンドポイントのみが使用できます。

既定では、SharePoint REST サービスの応答は Atom プロトコルを使用し、OData 指定に従って書式設定されます。 さらに、REST サービスは HTTP Accept ヘッダーをサポートするため、開発者は応答が JSON 形式で返却されたことを認識できます。 SharePoint の REST サービスの詳細については、「SharePoint REST 要求で OData クエリ操作を使用する」を参照してください。

SharePoint REST サービスは、次の OData クエリ操作をサポートします。

  • フィルター
  • Take
  • Expand

SharePoint のモバイル アプリ開発の開始

次の説明と概要は、モバイル アプリ開発の開始に必要な特定の情報を示します。

関連項目