タスクベースのコンシューマー向けモバイル アプリ

Azure App Service
Xamarin

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

このコンシューマー向けモバイル アプリのアーキテクチャでは、Azure App Service Mobile Apps を使用して、複数のソーシャル ID プロバイダーによる認証を簡略化し、データを格納してオフライン アクセス用に同期し、プッシュ通知を送信します。

このアプリは、Visual Studio (PC または Mac) と Xamarin を使用してビルドされ、ユーザー エクスペリエンスを損なうことなく、Android、iOS、および Windows 間で C# コードが共有されます。 Visual Studio App Center を使用して、ビルドとテストが自動化され、ベータ テスターとアプリ ストアに配布されます。また、App Insights による使用状況の監視と分析も提供されます。

ソリューション アーキテクチャでは、次の Azure サービスが使用されます。

考えられるユース ケース

組織はこのソリューションを利用して、ユーザー認証を簡略化します。

アーキテクチャ

エンジニアが Visual Studio でアプリを作成し、App Services を使用してデプロイし、Application Insights で分析する様子を示すアーキテクチャの図。このアーキテクチャの SVG ファイルをダウンロードします。

データフロー

  1. Visual Studio と Xamarin を使用して、モバイル アプリを作成します。
  2. Azure portal または Visual Studio で新しい Mobile Apps バックエンドを作成して構成し、Visual Studio でソリューションをバックエンドと通信するように構成します。
  3. ソーシャル ID プロバイダーを使用した認証を実装します。
  4. App Service API と SDK を使用してモデル駆動型のデータ構造を作成します。
  5. ネットワーク接続なしでモバイル アプリを機能させるオフライン同期を実装します。
  6. Visual Studio でバックエンドを作成した場合は、Visual Studio (PC または Mac) からアプリ サービスを直接発行できます。
  7. ソリューションのソース コードを任意のソース管理プロバイダーに格納します。
  8. Visual Studio App Center を使用してアプリのビルドとテストを行い、アプリを発行します。
  9. Application Insights を使用してアプリ サービスを監視します。

Components

  • Visual Studio 2017 または Visual Studio for Mac で C# を使用して、Web フロントエンド、モバイル アプリ、およびバックエンド サービスを作成します。
  • クロスプラットフォーム アプリケーションのビルド: C# と Azure SDK を使用して、iOS と Android 用のモバイル アプリを作成します。
  • Visual Studio App Center:App Center は、BitBucket、GitHub、Visual Studio Team Services からコードをプルすることで、継続的インテグレーションとデプロイ ワークフローを実現します。
  • App Service: クライアント アプリでは、いずれかのモバイル クライアント SDK を使用して、Azure Mobile App バックエンドに接続します。 クライアント SDK にはオフライン同期と認証のサポートが組み込まれているため、完全な機能を備えたアプリをはるかに簡単にビルドできます。
  • Application Insights:Application Insights を使用して、Web アプリの問題の検出、クラッシュの診断、使用状況の追跡を行います。 開発ライフサイクル全体で、情報に基づいた意思決定を行います。
  • Azure SQL Database:構造化データは、トランザクションと効率的なクエリをサポートするクラウド リレーショナル データベース サービスである SQL Database に格納されます。
  • オフライン同期:Azure Mobile App クライアント SDK のオフライン データ同期機能を使用して、ネットワークに問題がある場合でも機能する、応答性と信頼性の高いアプリを作成できます。
  • ID プロバイダー:App Service の認証/承認を使用して、ソーシャルまたはエンタープライズ ID プロバイダーと統合します。

次のステップ