今回は、巷で話題になっているAWS製mBaaSを使って最速でログイン機能を実装してみました。
便利な世の中になったなぁというのが一番の感想ですが、とにかくアプリを最速でリリースしたい方にすごくおすすめのサービスだなと思いました。
##AWS Amplifyとは?
AWSを使用したスケーラブルなWeb・モバイルアプリ開発のためのmBaaS(Mobile backend as a Service)なフレームワークです。
Amplifyを用いることで、複雑なバックエンドの構築、アプリケーションとの統合を簡略化し、 バックエンドとインフラをAWSにサーバーレスで任せることができます。また、CI/CD環境の構築も自動で構築してくれまので、 インフラ構築からデプロイまでシームレスに任せることができます。 特に、React, Vue, AngularなどでのSPAや、Gatsby, NextJS、 NuxtJSなどの静的サイトジェネレーターを用いたWebアプリケーション開発の事例がたくさんあります。
##AWS Amplifyの3つの構成要素
- Amplify CLI
- Amplify Framework
- Amplify Console
#####Amplify CLI
Amplify CLI は、AWS CloudFormationやInfrastructure as Code の仕組みを利用することなく、コマンドラインから対話的に質問に回答するだけで、バックエンドを構築することができるインターフェースです。 また、Amplify CLIは、バックエンドとの連携に必要な設定ファイルやソースコードを自動で 生成します。 Amplify CLIによって、下記機能を構築することができます。
- 認証機能
- バックエンドAPI
- Websocketを使ったリアルタイム通信
- ホスティング
#####Amplify Framework
Amplify Framreworkは、クライアントがAWSのバックエンドと連携するための処理を数行で実装できるようにするフレームワークです。
- ライブラリ、UIコンポーネント、CLIを含むOSSのクライアントフレームワーク
- 数行でバックエンドと連携するための処理を実装
- iOS、Android、Web(React/Vue/Angular)、React Native
- それぞれに最適化されたライブラリ、UIコンポーネントを提供
#####Amplify Console
サーバーレスウェブアプリケーションのデプロイ・ホスティングをするための サービス
- SPA (シングルページアプリケーション)や静的サイトのホスティング
- CI/CD の運用を自動化
- GithubやAWS CodeCommitなどのソースリポジトリと連携
- ブランチごとにテスト環境を自動で構築
- 特定の環境へのBasic認証の付与
##AWS Amplifyのメリット
- バックエンドをすばやく構成
- 最速でサービスをリリースできる
- 柔軟性が高い
- フロントエンドとのシームレスな接続
- 数クリックでデプロイ
#####バックエンドをすばやく構成
直観的なワークフローで、認証、ストレージ、データを含む、スケーラブルな バックエンドを素早くセットアップできます。
#####最速でサービスをリリースできる
本質的な開発に注力することが可能
#####柔軟性が高い
Amplify consoleを使うと、テスト環境を自動で構築したり、認証を付与するといった、柔軟な開発フローの設計ができます
#####フロントエンドとのシームレスな接続
数行のコードで、アプリケーションを、新規もしくは既存のAWS リソースと接続可能
#####数クリックでデプロイ
Amplify コンソールを使用すると、数クリックでレポジトリと接続しアプリケーションをホスティングできます。