BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース クロスプラットフォームアプリ向けにFlutterとAWSを統合するAmplifyFlutter

クロスプラットフォームアプリ向けにFlutterとAWSを統合するAmplifyFlutter

原文(投稿日:2021/02/19)へのリンク

Amplify Flutterは、Google Flutter UIツールキットとAWSを使用して、iOS、Android、Web用のクロスプラットフォームアプリの作成を簡素化することを目的としている。昨年8月に開発者プレビュー版として発表されたAmplify Flutterが今は、一般向けに提供されている。そこには、新しいデータ、API、認証機能が含まれている。

Amplifyは、Flutterエコシステムに投資し、AWSのパワーを活用したい開発者向けに設計されている。Amplify Flutterライブラリは、既存のAWSバックエンドだけでなく、Amplifyで作成されたバックエンドでも使用できる。

Flutterは、単一のコードベースからWebアプリとモバイルアプリを作成することを目的としたFlutterベースのツールキットである

Amplify for iOS and Androidは、認証、データ保存とデータアクセス、機械学習など、特定のユースケースを対象としたネイティブライブラリを提供する。これらは、低レベルのAWS Mobile SDKsのラッパーとして機能し、このタスクを容易にする宣言型APIを提供する。

Amplify Flutterは、拡張を可能にするプラグインの集合として設計されているとAmazonは言っている。これには、認証、ストレージ、分析のサポートが含まれる。Amplify Authカテゴリは、ユーザを認証するためのインターフェイスを提供し、他のカテゴリの認証を提供できる。DataStoreカテゴリは、オンラインモードとオフラインモードの両方で共有データと分散データの統合モデルを提供することを目的としている。Storageカテゴリは、パブリック、プロテクト、プライベートのストレージバケット内のユーザコンテンツを管理するためのサポートを提供する。

次のコードスニペットは、Amplify FlutterのStorage.uploadFile APIを使用してファイルをS3にアップロードする方法を示している。

try {
  File local = await FilePicker.getFile(type: FileType.image);
  final key = 'myKey';

  S3UploadFileOptions options = S3UploadFileOptions(
      accessLevel: StorageAccessLevel.protected);

  UploadFileResult result = await Amplify.Storage.uploadFile(
      key: key, local: local, options: options);

  setState(() {
    _uploadFileResult = result.key;
  });
} catch (error) {
  print(error);
}

前述のように、GAの発表で、AmazonはAmplify Flutterに新機能を追加した。これには、GraphQLとRESTのサポート、Hosted UIによる認証、カスタマイズ可能なOAuth 2.0フローが含まれる。このOAuth 2.0フローでは、Facebook、Google、Amazonのような、対応するサードパーティSDKを埋め込まずにログイン画面を起動できる。

Amplify Flutterを使用しても、無料枠でないバックエンドサービスに支払う金額以外の追加費用は発生しない。

この記事に星をつける

おすすめ度
スタイル

BT