日本マイクロソフトは11月1~2日、「Microsoft Tech Summit」を都内で開催した。ブレイクアウトセッションはどれも盛況だったが、筆者が取材した中で1~2位を争う混雑ぶりだったのは、日本マイクロソフト デベロッパー エバンジェリズム統括本部 エバンジェリストの“ちょまど氏”こと千代田まどか氏による「XamarinとAzureで、超効率的にクラウドと繋がるモバイルアプリを作ろう!」である。
C#などでiOS/Android/UWP(ユニバーサルWindowsプラットフォーム)アプリケーションを開発できるXamarin(ザマリン)は、開発コストの削減につながるとして注目を集めてきた。本稿では同セッション内で説明されたXamarinとMicrosoft Azureの特徴を紹介する。
日本マイクロソフト デベロッパー エバンジェリズム統括本部 エバンジェリスト 千代田まどか氏
大学卒業後、C#やXamarinを使ったIT開発者として活動し、2016年3月に日本マイクロソフトへ入社したちょまど氏の口癖は「Xamarinはいいぞ」である。“Xamarin使い”を自負する同氏だが、奇しくも2016年2月にMicrosoftがXamarinを買収し、4月に開催した開発者向けカンファレンス「Build 2016」では、Visual Studioに無料でXamarinを追加すると発表した。これも何かの縁なのだろう。
Xamarinは、iOSやAndroidのAPIをフルサポートし、SwiftやJavaといった言語の習得コストをかけずに共通化したコードで実装差異を排除できる点で、注目のモバイルアプリ開発環境である。Shared C# Backendによる開発コードの共通化と、Xamarin.Formsライブラリを用いてUIの共通化を実現できるが、OS固有の機能やUIに関しては個別に記述しなければならない。それでも共通DLLを作成するPCL(Portable Class Library)や、開発コードをそのまま共有するShared Projectによる共通化のメリットは大きい。
旧来の開発スタイル(左)とXamarinによる開発スタイル(右)
セッションでは、ちょまど氏がサンプルソースコードを元に20分で作ったToDoアプリを披露した。Twitter認証でログインし、投稿データをAzure上のデータベース(DB)に保存。スマートフォンが圏外になった場合を踏まえて、ローカルDBを用意してオンラインになってから同期を行う仕組みを追加した。この仕組みを実現するのが「Azure Mobile Apps」である。
Azure Mobile Appsは、モバイルアプリで利用される汎用的な機能をクラウドから提供するサービスとして、Azureが備える機能の1つだ。Azure Mobile Appsを利用することでアプリケーションサーバ/ウェブサーバの構築やセキュリティ/DB設定、サーバ側の全体テストといった実装をクラウドに預け、IT開発者はバックエンドを気にせずアプリ開発に集中できる。
Azure Mobile Appsが備える主な機能
Azure Mobile Appsには、フル機能を備えたMobile Appsと、基本的な機能のみ提供するMobile Apps QuickStartの2つがある。作成したバックエンドに接続済みクライアントアプリのプロジェクトをダウンロードできる「Connect Client Apps」(Objective-CやSwift、Java(Android)、C#、Xamarin(Android/iOS/Forms)、Apache Cordovaといったプロジェクトファイルの選択が可能)や、アプリの稼働状況確認やプッシュ通知ができる「モバイルアプリ」機能などを提供する。
この他にもAzure Mobile Appsに接続したDBのデータ閲覧やスキーマの変更など各種設定を行う「Easy Tables」、Azure Active Directory/Facebook/Google/Twitter/Microsoftアカウントによる認証を行う「Authentication」、簡単にREST APIを作成する「Easy APIs」、アプリ障害時のログ出力設定などを行う「Diagnostic Log Settings」、公式ドキュメントを参照する「Documentation」、サーバ上のnode.jsを編集する「Edit Site Code」、リアルタイムログを確認する「Streaming Logs」など、さまざまな機能を備える。
ちょまど氏は、「Xamarin & Azure Mobile Appsでモバイルアプリ開発を」と連呼しながら、聴講者にXamarinの利用をうながした。なお、既に三井住友銀行の住宅ローン事前審査アプリ「スピードアンサー15」や、エムティーアイの日本酒を楽しむアプリ「Sakenomy」、アユダンテによる電気自動車の充電スポット検索アプリ「EVsmart」など、国内のXamarin導入事例も多数存在する。ちなみにMicrosoft Tech Summit公式アプリもXamarinを利用して開発されたという。