2021年2月15日にAmplify Flutter の一般提供が発表されました。下記公式ページです
新しいデータと認証のサポートを備えた Amplify Flutter の一般提供を発表
Amplifyとは?
AmplifyとはWebアプリケーションとモバイルアプリケーションを構築するためのサービスです。AWS版のFirebaseといえばわかりやすいでしょうか。完璧に同じではないので、注意です。
GitHubのリポジトリを関連付けるだけでReact, Vue, AngularなどのSPAをデプロイする事ができます。またCI/CD環境の構築も自動で行ってくれます。
AWS Amplify
Amplify自体に料金はかからず、Amplifyによって作成されたAWSのリソースに対して料金が発生します。
Flutterとは?
Flutterとは、2018年12月にGoogleからリリースされたモバイルアプリケーション用のフレームワークです。Flutterの大きな特徴は同じコードでiOSとAndroidのアプリが開発できるというものです。
以前からReactNativeやXamarinというクロスプラットフォームモバイル開発の技術はありました。ReactNativeやXamarinはiOS・Androidのプラットフォームのコードを呼び出して描画しますが、Flutterは独自のレンダリングエンジンで描画しています。そのためReactNativeやXamarinより早い動作速度を実現しています。またGoogleが提唱しているマテリアルデザインで、UIを作ることができます。ドキュメントが充実していてマテリアルデザインベースで組むと開発効率がかなり良いです。
何ができるようになったか
端的にいうと、Flutterのバックエンド開発でAWSが利用できるようになったということです。今まではFirebase(=GCP)を利用するのがデファクトスタンダードがプロジェクトの要件などによってはAWSを利用したいときもあります。そのようなときに利用できるようになりました。以下のAWSのサービスが利用できます
データ、API、および認証機能です。
データ(DataStore)ではローカルにデータを保存しておいて、端末がオンラインになったときにクラウドと通信してデータを同期します。
API 機能は、GraphQL エンドポイントと REST エンドポイントの両方に署名された HTTP リクエストを行うためのクライアントを提供します
認証機能(Cognito)ではSDK for Cognito, Facebook, Google, Amazonなどのソーシャルログインを実装することが出来ます
まとめ
今までFlutterでのアプリ開発はFlirebaseがデファクトスタンダードでしたが、これからはAWS Amplifyも選択肢に加わりました。またFirebaseも同様ですが、AWS AmplifyはCLIを提供しているので、コマンドだけでの環境の構築も可能です。バックエンドはクラウドにまかせてバックエンドサーバーの管理をせずに、フロントだけの開発に専念することができますね。