Xamarin と Apache Cordova と Office 365 API を使ってマルチデバイスアプリを作ろう ①

皆様、こんにちは!

こちらは、Qiita の Xamain Advent Calenderの一つとなる予定です(遅くなりすみません…)。このテーマは、かなり広い領域にわたるので、このエントリーをきっかけに、個別の要素について書いていこうと思っています。その意味で、①ということで、ご了承くださいませw

さて、皆さん既にご存知の Visual Studio 2015 Preview ですが、既に使ってみたよという方も多いと思います。私は、個人的には、なんといっても Android エミュレーターが一番気に入りました。非常に速いですし、デバッグ実行してても気分が良いですね。

image

この辺りの関連情報は、エクセルソフト田淵さんが既に先月中旬に書かれていますので、是非ご覧ください。

Visual Studio Emulator for Android のインストール方法と使い方 そのものの詳細については、渡辺友太の該当 Blog エントリが詳しいです!

Visual Studio におけるマルチデバイスアプリ

選択肢としては、以下の2つを準備しています。

image

Visual Studio には2つの強力なマルチデバイスアプリ開発のためのオプションがあります。それが CordovaXamarinです。Cordova が Visual Studio でサポートされることにより、HTML5/JavaScript で書かれたアプリを開発できるのに対し、Xamarin が Visual Studio でサポートされることにより、iOS、Android、そして Windows / Windows Phone のアプリを、すべて C# で開発できます。

このシリーズの中では、Microsoft Office 365 API をどうモバイルデバイスアプリ開発の中で使うか、特に Office 365 の中の多くのサービスを利用するためのビルトインされたプロジェクトタイプ等について、書いていきます。

また、Office 365 API を使うことにより、次に列挙するようなサービスを使うことができます。Microsoft Azure Active Directoryユーザーとグループ、ファイル (OneDrive および OneDrive for Business)メールカレンダーコンタクト、そして SharePoint サイトなど、です。これらを使った、Xamarin および Cordova のアプリの実サンプルをご紹介していきます。最終的には、Office 365 API を Xamarin や Cordova のVisual Studio Projects でどう使うかという話ですね。

Azure Active Directory Authentication Library(ADAL)for Xamarin

まず最初に把握しておく必要があるのは、 Xamarin iOS プロジェクトと Xamairin Android プロジェクト用の Azure Active Directory Authentication Library (ADAL) です。現在のところ、例えば Xamarin Android プロジェクトの中でサポートされている ADAL の使い方は、Xamarin binding をビルドして ADALのネイティブ Android Library を利用することです。

Binding a Java Library(Xamarin Binding)

image

ADAL SDK for Android

image

(参考)ADAL SDK for Objective C

image

生成されたバインディングは特定の Android プロジェクトから参照され、これによりOffice 365 API リソースにアクセスするための認証とそのためのトークンを取得することができます。

ADAL 開発チームは、Xamarin プロジェクトに対して、さらに多くのサポートと多くの機能追加を考えているようです。しかし、それまでは、Xamarin binding が、ADAL ライブラリのビルドと Android project に必要です。ここから ADAL v3.0 preview をダウンロードできます。もし次のバージョンに興味があれば是非ご覧ください。ADAl v3.0 は、PCL になっていて、まもなく Xamarin Android と Xamarin  iOS プロジェクトでサポートされるかと思います。しかしながら、まだ ADAL v3.0 はプレビューなので、製品に使うのはお勧めできません。一応、ここに、 ADAL v3.0 preview を使ったサンプルがあります。

次の ②では、Xamarin Bindings プロジェクトのビルドの手順と、その Xamarin Android からの参照をやってみたいと思います。

それではまた!

鈴木章太郎