見出し画像

AWS Amplify 勉強メモ

連休使ってAWS Amplifyの学習をしていました。

最初は丁寧に手順などを書いていこうと思っていたのですが、公式のハンズオンの完成度があまりにも高すぎて何も書くことがなかったので、勉強していて感じた所感や注意点などを書いていきたいと思います。


技術セッション動画

ハンズオンのトップページの二行目に、AWS Amplifyの技術セッションへのリンクがあります。

二つ合わせて1時間ほどですがAmplifyについてわかりやすく解説されており、全体像を把握するのにとても役立ったので是非とも視聴することをおすすめします。
(既にある程度知識がある場合は実践編の方から試聴しても良いそうです。)

AWS Startup Day 2020 技術セッション「これからはじめるAWS Amplify」

AWS Startup Day 2020 技術系セッション「AWS Amplify 実践編」


全体の流れ

「boyaki」というTwitterライクなアプリを実際にスタートアップで開発するかのようにMVP(Minimum Viable Product)からだんだん大きくしていく流れを体験することができます。

その中でAmplifyの使い方に慣れつつ、Elasticsearchや環境分割、CI/CDなど一通り学習していくことになります。

Stage 1 - シードステージ(第1章 ~ 第4章)
スタートアップ1人目のエンジニア/CTOとして、アプリを開発する!

Stage 2 - アーリーステージ(第5章 ~ 第6章)
ユーザを一定数獲得し、増え始めた課題や機能要望に対応する!

Stage 3 - ミドルステージ(第7章 - 第8章)
事業が軌道に乗りユーザもエンジニアも急拡大


感想

Amplifyがハンズオンの主役なので、基本的にフロントやバックエンドのコードは既に用意されており、それをコピペするだけで簡単にTwitterライクなアプリを作成することができます。

どちらかというとフロント実装してGraphQLのTypeを書くだけで必要なQueryやMutation、Subscriptionまで全て用意してくれたのが本当に凄かったです。

特に面倒なPusherサーバーなどを実装する必要がなくお手軽にリアルタイム通信が実装できるのは本当に大きなメリットです。

またGraphQLのTypeに一行足してamplifyコマンドを打つだけでElasticsearchを自動で用意してsearch系スキーマを用意してくれたり、GitHubとの連携やCI/CD、自動テストの設定もほんの10数分でできてしまいひたすら感動していました。


ハンズオンやっててハマったことや注意点

・ローカルで動作確認できない

SubscriptionやElasticsearchが関係するスキーマはローカル(amplify mock api)では動かずpushして動作確認する必要があります。

この時注意しなくてはいけないのが、場合によってはそれらが関係しない箇所でも読み込みエラーになってしまい動作確認できない場合があります。

なのでamplify mock apiでうまくいかない場合は素直にamplify pushしてdevelopやproduction環境で確認しましょう。

・IPアドレス:20002などをブラウザに入れても動かない

ハンズオンだとamplifyコマンドによって払い出された「http://192.186.0.1:20002」などをブラウザに入力すると書かれていますが、macの場合だとIPアドレスではなく「http://localhost:20002」を使用する必要があります。

・Reactが動かない

Reactのバグでnodeのバージョンが14以降じゃないと以下のようなエラーが出るのでバージョンアップしましょう。

「Error: No valid exports main found for '\node_modules\colorette'」


最後に

AWS Amplifyは自分でちょこっとサービスを作ってみたりMVPなサービスを展開していくならば最適なツールだと思います。

またAWSのサービスにしては珍しく、専用のドキュメントがとてもしっかりと整備されており、困ったことがあればすぐに調べられるのは大きなポイントです。

Amplifyは今までの開発手法とは大きく異なりますが、リアルタイム性やリリースまでの迅速さが優先されるサービスを開発する上で選択肢の十分一つになり得るのではないでしょうか。

是非とも使いこなせるようになりたいです。

Amplify SNS Workshopamplify-sns.workshop.aws


この記事が気に入ったらサポートをしてみませんか?