投稿日: Dec 4, 2019

AWS Amplify は、Amplify DataStore を発表します。これは、iOS、Android、React Native を使用するウェブ、IoT、モバイル開発者向けのクエリ可能なオンデバイスデータストアです。Amplify DataStore は、オフラインおよびオンラインシナリオ用の追加コードを作成せずに共有および分散データを活用するためのプログラミングモデルを提供します。これにより、ローカルユーザーのみのデータを扱うのと同じくらい簡単に分散クロスユーザーデータを扱うことができ、開発者はリッチなアプリエクスペリエンスを作成できます。

以前は、AppSync は、以前にクラウドから返されたクエリ結果を保存するのにデバイス上のキャッシュを利用することで、オフラインのユースケースに対処していました。AppSync でクエリ結果のデバイス上のキャッシュを実装したことにより、開発者は広範なオフライン対応アプリを作成できるようになりました。けれども、デバイスがオフラインのときにアプリで使用できるデータはキャッシュのコンテンツに限定されていました。そのため、開発者は、デバイスがオンラインのときに広範なクエリを発行することにより、潜在的なオフラインデータ要件を予測する必要がありました。現在、開発者は、Amplify DataStore を使用することで、広範囲のオフラインユースケースをサポートする高度にインタラクティブなコラボレーションアプリケーションを構築できます。これにより、ローカルデータをより柔軟に利用できるようになります。ユースケースは、オフライン時にサービスリクエストを検索、作成、操作できるサービスアプリや、チャットルーム、ホワイトボード、ダッシュボードのリアルタイムの更新に始まり、MLモデルをローカルに同期することによりネットワークのレイテンシーを回避する顔認識アルゴリズムを必要とするような高性能のユースケース、さらに収集されたデータの代わりに 1 分あたりの平均データを送信するスマート電力メーターなどに必要な最適化ネットワークのユースケースまで、さまざまです。その際、開発者が簡単に推論できるローカルファーストの使い慣れたプログラミングモデルを使用します。

これらの機能を提供するために、AWS AppSync は組み込みサポートをリリースし、高度な競合検出と解決戦略の策定が行えるようにしました。Amplify DataStore と組み合わせると、開発者は簡単なプログラミングモデルを使用して、一貫性とデータの整合性について簡単に推論でき、オンラインでもオフラインでもシームレスにデータと対話できます。これらの機能により、開発者は Java、Swift、および JavaScript のネイティブドメインオブジェクトと対話できます。これらは、バックグラウンドで自動的に GraphQL に変換されます。AppSync は、GraphQL タイプシステムを使用して、デバイス間で同期されたオブジェクトの自動デルタ同期と自動マージも行えます。 

最新の Amplify JavaScript クライアントを使用して、ウェブアプリで Amplify DataStore をご利用いただけます。iOS および Android DataStore クライアントは現在プレビュー中です。新しい Amplify DataStore 機能の詳細については、ブログ記事と Amplify ドキュメントをご覧ください。