AWS Amplifyに先頃、条件付きバックエンドビルド(conditional backend builds)、クラウドコンフィギュレーションのビルド時自動生成、複数のフロントエンドアプリケーション間で容易にバックエンドの再利用を可能にする機能が導入された。
これら新機能とAmplifyクラウドコンフィギュレーション(aws-exports.jsファイル)のビルド時自動生成を使用することにより、フロントエンドアプリケーションのみの開発が可能になった。バックエンドの更新が必要になるのは、コミットした`amplify`フォルダ内に変更が検出された場合に限定される。
AWS AmplifyのプリンシパルプロダクトマネージャであるNikhil Swaminathan氏は、複数のフロントエンド間でのバックエンドの再利用が動作する方法と、開発者にとってのメリットについて、次のように説明している。
一般的なユースケースとしては、マイクロフロントエンドの構築、あるテクノロジから別のテクノロジへのWebアプリのマイグレーション、モノリポジトリでの開発、といったことを行うチームが想定されています。このワークフローをテストするためには、アプリケーション(バックエンドを持たないもの)をデプロイするために、別のリポジトリに接続してください。アプリをデプロイしたならば、これまでと同じようにEditボタンを選択して、ポップアップしたモーダルの中にある他のアプリからバックエンド環境をピックアップします。他のアプリのバックエンドに接続した場合は、フルスタックCI/CDは有効にしない方がよいでしょう。
AWS AmplifyはAWSネイティブアプリケーション開発のためのツールセットで、JavaScriptやAngular、Vue、Next.jsといったフレームワーク、AndroidやiOS、Flutterなどのモバイルプラットフォームをサポートする。新機能について、FacebookのソフトウェアエンジニアであるGiulio Ambrogi氏は、次のようにコメントしている。
ここ数年間、AWS Amplifyの進歩には驚くべきものがあります。現在では数回クリックするだけで、新アプリのバックエンド(データモデル+ストレージおよび認証)のセットアップが可能になりました。加えて、再利用可能なコードファーストのスクリプトを生成することで、メンテナンス性も向上しています。すばらしいことです。
Bullzaye.aiのマシンラーニング開発者であるSalah Elhossiny氏は先頃、AWS Amplifyを使用した最新のフルスタックサーブレスについて、一連の記事を執筆した。このプラットフォームによるフロントエンド開発の支援について評価した、Mobil80 Solution and ServicesクラウドアーキテクトのJones Zachariah Noel氏は、その結果を次のように要約している。
AWS Amplifyは、アプリケーションに必要なすべての機能をパックしたツールです。開発者の片腕であるだけでなく、管理者の片腕でもあります。AWSサーブレスとの統合を容易にするだけでなく、管理プロセスの簡略化も実現するからです。
また、クラウドアーキテクト兼AWSコミュニティ開発者のBrian Pfeil氏は、抽象レイヤのリスクについてコメントしている。
Amplifyは素晴らしいものではありますが、AWS新規参入者のための入口/ゲートウェイの域を出てはいません。Amplifyは本質的に、"現在は存在しない"/ロスを伴う抽象レイヤなのです。その目標は、Amplifyを支えているネイティブサービスが使用できるように、(知識面を)レベルアップすることにあります。
フロントエンドとバックエンド両方におけるネイティブアプリケーション開発用のコンピューティングおよび開発ツールとして、クラウドプロバイダがサポートするのはAWSだけではない。有名なものとしては、モバイルおよびWebアプリケーションの開発を目的とするGoogleのプラットフォームのFirebaseがある。
AWS Amplifyに今年導入された他の改善点としては、Amplifyの生成するIAMロールにIAMパーミッションバウンダリのサポートが追加されたこと、Amplify Flutterの一般提供(general availability)が開始されたこと、などが挙げられる。