Amazonは先頃、Amplify iOSとAmplify Androidの一般提供開始(General Availability, GA)を発表した。いずれもオープンソースのAmplifyフレームワークの一部である。Amplify iOSとAmplify Androidにはライブラリとツールが含まれており、モバイル開発者によるスケーラブルでセキュアなクラウド利用アプリケーションの開発を可能にする。
AWS Amplifyは、3つのコンポーネントで構成されるツールとサービスのセットである。
- クラウドを利用した機能を加えるための、オープンソースのライブラリとUIコンポーネントのセット
- クラウドバックエンドの生成と管理を行うための、インタラクティブなコマンドラインツールチェーン
- フルスタックのサーバレスWebアプリケーションをデプロイおよびホストするAWS ServiceであるAWS Amplify Console
そして今回、Amplify iOSおよびAmplify Androidのライブラリとツールが一般提供されるようになった。
出典: https://medium.com/swlh/building-authenticating-and-hosting-vuejs-app-with-aws-amplify-7285b7a8e90c
AWSデベロッパエバンジェリストのSébastien Stormacq氏は自身のブログ記事で、Amplify iOSとAmplify Androidのいずれにも、認証、データ保管とアクセス、マシンラーニング推論などのユースケースを対象とするネイティブライブラリが提供される、と説明している。さらに、抽象化されたベストプラクティスをプログラム的に適用可能にする、モバイル開発者向けの宣言型インターフェースも提供される。そして最後に、双方のネイティブなIDEツールチェーン — iOS用のXCodeとAndroid用のGradle — と統合されたツールチェーンが提供される。
これまで、クラウドを利用したアプリケーションを開発するモバイル開発者には、バックエンドの生成と管理にはAmplify CLI、バックエンドのアクセスにはAWS Service APIの低レベルラッパであるAWS Mobile SDKというように、ツールとSDKを組み合わせて使用することが可能だったが、SDKはAPIのさまざまな詳細を理解した上でエラー処理など多くのコードを書く必要があるため、モバイル開発者にとって課題の多いものだった。そのためAmazonでは、より高レベルの抽象化、高速な開発サイクル、少ないコード行数を実現できるAWS Amplifyの使用を推奨している。イタリアのAWS Advanced Consulting PartnerであるbeSharpは、次のようにツイートしている。
#AWSサービスでネイティブモバイルアプリケーションを開発する方法として、AWSが推奨しているものです。モジュール化されているのでアプリに必要な機能に集中することができますし、脱出口から@AWSAmplifyライブラリに入ってしまえば低レベルのSDKも使用できるのです!
Amplify iOSとAmplify AndroidのGAリリースでは、プレビュー版にはなかった認証、推論、データストアプログラミングなどのインターフェースが新たに追加されている。
今のところAWS Amplifyは無償で使用可能で、ユーザはアプリケーションが使用するバックエンドサービスの、無料利用枠を越える部分についてのみ支払えばよい。Amplify iOSとAmplify Androidはいずれも、CocoaPodsおよびMaven Centralコードリポジトリから取得できる。ソースコードについては、GitHub(iOSあるいはAndroid)から入手可能である。