LoginSignup
2
3

More than 1 year has passed since last update.

【課題4】AWSAmplifyを使用してTodoアプリを開発

Last updated at Posted at 2021-08-20

作成したアプリについて

AWSAmplifyを用いて、TypeScript + Reduxの構成でTodoアプリを作りました。

基本的に、こちらのチュートリアルに沿って進めていきます。

AWSの概要

AWSとは、クラウドコンピューティングを使ったサービスです。
また、AWSとはAmazon Web Servicesの略で、Amazonが提供している100以上のクラウドコンピューティングサービスの総称になります。

クラウドコンピューティングとは、インターネットを介してサーバー・ストレージ・データベース・ソフトウェアといったコンピュータを使った様々なサービスを利用することを指します。

クラウドコンピューティングでは、手元に1台のPCとインターネットに接続できる環境さえあれば、サーバーや大容量のストレージ、高速なデータベースなどを必要な分だけ利用できるわけです。

AWSを利用し実現できること

ビジネスのスピードを加速させる。

  1. 豊富なサービス
  2. 世界最上級の運用専門知識
  3. 最もセキュアなセキュリティ基準
  4. 安心できる情報網(コミュニティやパートナーの存在)
  5. まったく新しいテクノロジーを最速で提供し続けるサービスコンセプト

コスト削減や俊敏性を高めビジネスの効率化、ビジネススピードを加速化しイノベーションの加速を実現。

AWSでできること

サービス系

  • サーバー環境構築(EC2)
  • データ保存(S3)
  • コンテンツ配信(S3)
  • データベース利用(RDS)
  • 専用回線(AWS Direct Connect)
  • セキュリティ対策(Amazon Inspector)

プラットフォーム系

  • AI活用/データ分析(Amazon Personalize)
  • ワークフロー管理(Amazon Simple Workflow)
  • メール/通知(AWS SES)
  • 開発(AWS CodeStar)

代表的な4サービス

サーバー環境構築

  • Amazon EC2

データ保存/コンテンツ配信

  • Amazon S3

データベース利用

  • Amazon RDS

プログラムの実行環境

  • AWS Lambda

AWSAmplifyの概要

AWS Amplifyとは、クラウドサービス上におけるモバイルアプリケーションやWebアプリケーションを安全に構築するためのプラットフォームになります。「クラウドサービス上にモバイルアプリケーションを安全に構築するための方法」ということです。

AWS Amplifyの使い方

AWS Amplifyの使い方としては、AWSの各種サービスを使ったアプリケーションをスピーディーで効率よく作成したり、サーバレスバックエンドの自動構築をしたり、フロントエンドからバックエンドを利用するためのコードの生成などです。

モバイルアプリケーションを構築したい人や、アプリケーション実装に集中したい人にAWS Amplifyは、非常に適正があります。

AWS Amplifyの6つの特徴

  • Analytics
  • API
  • Auth
  • Pub/Sub
  • Storage
  • XR

自身が今回の課題をこなす上で苦労した点

  • チュートリアルの選択肢の選定
  • もともとのコードをReduxやTypeScriptに置き換えてアレンジする

苦労した点をどのように克服したか

1つ目は、チュートリアルの選択肢についてですが、今回はTypeScriptReduxの構成に変更しての実装だったので、もともとのチュートリアルの構成とは選択する項目が若干変わってきます。

そのせいもあって、一度最後まで進めたのですが、どこかで選択ミスがあったようでエラーに見舞われ、最初からやりなおす羽目に。。
なので2回目は、慎重に英文を翻訳し、選択肢が違う箇所については、しっかりとネットで検索しつつ、状況を照らし合わせながら進みました。

おかげで、2回目は最初に見舞われたエラーは現れず、無事チュートリアルを終えることが出来ました。

英語、日本語ともに、ドキュメントを「読んだつもり」になることが多々あります。
わからないところは「なぁなぁ」にせず、しっかり理解しながらすすめる癖を付けたいです。(エラー解決にもつながるはず)

2つ目のアレンジですが、作業取り掛かりの段階で「うーん」と頭を悩ませました。

「何をアレンジしようか」というところからのスタートなのですが、今までやったことを応用することを考え、react-hook-formや、ReduxでのStateの管理を使って、既存のコードを置き換えてみることにしました。

やはり作業始めたての頃は、やることがたくさんあって「どこから手を付けようか」と、下手したらあれこれ触っちゃって”わけがわからない”という状況になることもあります。

きちんと一つずつ整理して、順番にすすめていくことで、ごちゃごちゃにならずに実装出来るようになります。

Githubissueを使ったり、console.log()Redux Dev Toolsでの細かい確認が、確実で早くゴールにたどり着くコツでもあります。
特にissueを使う方法は、言語化することで頭がスッキリするのか、進むべき道が見えやすくなる気がします。

参考サイト

まとめ

Amplifyのチュートリアル通りにすすめるだけで、サインインなどの認証機能や、Todoアプリをあれほど簡単に作れるのは驚きです。

また、今回は既存のコードをアレンジすることで、ReduxTypeScriptの理解もより深まりましたし、もともとのコードを応用して使う力、考える力がついたように思います。

更に、いくつかのエラーと向き合う中で、

  • エラー文を理解する
  • 何がおかしいのか仮説を立てる
  • 仮説をもとに検証する

というステップの踏み方も体験することが出来ました。

エラーとの遭遇がやはり一番怖いといっても過言ではないので、今後もしっかりエラーを理解する癖を付けていこうと思います。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3