みなさんこんにちは。横山です。
先日Microsoft Build 2019に行った際に、App Centerのセッションを聴いてきましたのでその情報を書きたいと思います。
この記事を書こうと思った背景
実は弊社は、“cloud.config Boot Camp”という、クラウドを幅広く学ぶための講習を提供しているのですが、その中にモバイルアプリを作るMobile Appsの講習も取り入れていました。
しかし先日、新入社員向けの講習を準備していた時に、ハンズオン内容を見返していたら、なんとMobile Appsのハンズオンができなくなっているではありませんか。
Mobile Appsどうしちゃったんだろうね????などと上司と話しており。
しかもBuildのコミュニティで聞いたMicrosoftさん社員の方の裏話でも、Mobile Appsチームは違うチームに統合されたよ、という情報を聞き。
やっぱりか!じゃあBuildセッションでApp Centerの情報を仕入れるしかないやん!という意気込みでセッションに参加。
その結果、やはりApp Centerに統合されて、もうMobile Appsのアップデートはないという生の声を聞いたことがきっかけでした。
App Centerのこれまで
App CenterはすでにMBaaS(Mobile Backend as a Service)の機能として、以下のとおりモバイルアプリの開発・運用管理ができる環境がそろっています。
・ビルド
・テスト
・配信
・テレメトリ収集・分析
・クラッシュレポート
・プッシュ通知
バックエンドの知識がそんなになくてもある程度開発できちゃうよ、という便利なもの。
OSやプラットフォームも、Android・iOS・Windows・MacOS用に幅広く対応していて、気が遠くなるようなデバイス×バージョンの種類に対するテスト自動化も効率的にでき、DevOpsに適しています。
と、ここまでがこれまでのお話。
App Centerの直近アップデート
Buildで聞いてきた話だと、現在App Centerはpreviewとして3つの機能が搭載されました。

・Auth
・Data
・Push
※本日実際に確認したところ、写真とは違いearly previewではなく全てpreviewになっていました。(5/27現在)
Auth

まずはAuthから詳細を。
認証機能です。
下の写真のように、まずデバイスでサインインしたらApp Centerのライブラリに接続し、Azure AD B2C で認証を行い、Facebook等のJSON Webトークンを取り、戻ってくる、という流れです。

セキュアな認証機能が簡単に実装できます。
?参考コード
↓認証を有効にします。

↓サインイン画面を作成します。

↓認証機能は有効にも無効にも出来ます。

↓認証が有効か無効かチェックします。

参考URL
https://docs.microsoft.com/en-us/appcenter/auth/
Data

利用状況を分析し、アップデートされたものについてリアルタイムにAzure Cosmos DBに同期 します。

(Cosmos DBのアイコンは本当にかわいい……?)
基本的に、データの CRUD はSQL Azure Database ではなく、NoSQL の Cosmos DB が標準になったみたいです。 App Center Dataには、1コレクションモデルがあります。
Cosmos DBデータベースは、その中に複数のコレクションを持つことができます。 App Center Dataを使用すると、これらのコレクションの1つをApp Centerに接続することができます。


オフライン時もデータを保持し、オンラインになった瞬間、即時に同期することができます。
以下写真は、データの書き込み時と読み取り時のオンライン/オフライン時の様子です。


参考URL
https://docs.microsoft.com/en-us/appcenter/data/
Push

簡単な説明になりますが、デバイスの利用状況が分析され、必要な人に効果的にプッシュ通知を送ることができます。
参考URL
https://docs.microsoft.com/en-us/appcenter/push/
App Centerの今後の展望

今後は新たにFile StorageとComputeが追加される予定だそうです。
Compute はホストとして使われるのかな?
Mobile AppsがApp Centerに統合されて、すでにモバイルアプリのバックエンド開発はかなり楽になっていますが、ここまで来たら、App CenterにMachine LeaningやAI機能も搭載される未来は近いのではないか!?と思います(むしろそうなってほしい 願望。きっとやってくれますよね?ニッコリ)。
セッション動画も視聴できますので、ぜひご覧ください。
Quickly power your app to handle millions with App Center’s new mobile backend - BRK2009
それではまたお会いしましょう!