React + Amplifyで アプリ開発

虎の穴 開発室
虎の穴 開発室虎の穴 開発室
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
React + AWS Amplifyで
アプリ開発
虎の穴ラボ株式会社 西志村友基
1
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
自己紹介
西志村 友基
● 所属:虎の穴ラボ株式会社
● 担当:Fantiaなど
● 入社理由:
○ BtoCサービスに関わりたい
○ 一生に一度はオタク業界に関わりたい
● 趣味:アニメ鑑賞、ゲーム
     競馬 ← New
2
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
話すこと
1. 開発の課題とAWS Amplifyの魅力
2. React + Amplifyでアプリ開発の流れ
3. Amplify Admin UI によるアプリケーションの管理
4. まとめ
3
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
話すこと
1. 開発の課題とAWS Amplifyの魅力
2. React + Amplifyでアプリ開発の流れ
3. Amplify Admin UI によるアプリケーションの管理
4. まとめ
4
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
開発の課題
● 本当はアプリケーションの本質的な開発だけに集中したいけど...
○ ユーザー認証
○ データ登録
○ セキュリティ
→ 結局バックエンドも書かないといけない
→ 覚えることいっぱいで辛い
5
誰かに丸投げしたい
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
それ、AWS Amplifyならできます
6
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
AWS Amplifyの魅力
1. 数分でバックエンドを構成
2. AWSのベストプラクティスに沿ったサーバーレスアプリケーションが構築可
能
3. 対話形式で各種設定を行うことができる
4. 数クリックでアプリを公開できる
5. Amplify Admin UIによる容易なコンテンツ管理
7
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
話すこと
1. 開発の課題とAWS Amplifyの魅力
2. React + Amplifyでアプリ開発の流れ
3. Amplify Admin UI によるアプリケーションの管理
4. まとめ
8
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
今回開発したアプリ
9
【仕様】
● 画面から
○ 名前
○ スキル
○ 説明
という値を受け取る
● DBに保存して表示
● 管理画面も作る
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Node.jsのインストール
Amplifyのインストール
Reactアプリの作成
Amplifyの初期設定を実施
フロー
10
React用のライブラリをインストール
APIの作成
Amplifyでデプロイ
ホスティング設定
アプリ公開!!!
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Node.jsのインストール ・・・コマンド打つだけ
Amplifyのインストール ・・・コマンド打つだけ
Reactアプリの作成 ・・・コマンド打つだけ
Amplifyの初期設定を実施 ・・・コマンド+対話形式
フロー
11
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
React用のライブラリをインストール ・・・コマンド+tsxの修正
APIの作成 ・・・コマンド+対話形式
Amplifyでデプロイ ・・・コマンド+対話形式
ホスティング設定 ・・・コマンド+対話形式
アプリ公開 ・・・コマンド打つだけ
フロー
12
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
【APIの設定】
● GraphQLを使用
● スキーマテンプレートとしてToDoを使用
【デプロイの設定】
● TypeScript使用
● GraphQLのコード自動生成ON
今回作成したAPI、デプロイの設定
13
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Amplifyのインストール
(Node.jsがインストールされている前提です)
amplifyの設定(以下のコマンドを実行)
# リージョンの選択、IAMの作成(アクセスキー、シークレットキーの入力)などが求められ
ます
$ npm install -g @aws-amplify/cli
$ amplify configure
14
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
React アプリにAmplifyを設定①
$ cd uma_note
$ amplify init
$ npx create-react-app --template typescript uma_note
15
Reactアプリケーションを新規作成
Amplifyの初期設定を実施
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
16
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
React アプリにAmplifyを設定②
17
import Amplify from "aws-amplify";
import awsExports from "./aws-exports";
Amplify.configure(awsExports);
$ npm install aws-amplify @aws-amplify/ui-react
React用のライブラリをインストール
生成されたindex.tsxに以下を追記
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
APIの作成
$ amplify add api
18
対話形式で設定
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Amplifyでデプロイ
$ amplify push
19
Graphqlのソースを自動生成してくれます
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Amplify でアプリを公開
ホスティング設定
以下のコマンドでアプリが公開されます
$ amplify add hosting
$ amplify publish
20
たったこれだけ!!
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
スキーマを変更したい場合
type Todo @model @auth(rules: [{allow: public}]) {
id: ID!
name: String!
description: String
}
type Uma @model @auth(rules: [{allow: public}]) {
id: ID!
name: String!
skill: String
description: String
}
amplify/backend/api/umanote/
schema.graphql
を書き換える
$ amplify push
21
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
あとはアプリ開発に集中(TypeScript)
22
const umaData = await
API.graphql(graphqlOperation(listUmas))
await API.graphql(graphqlOperation(createUma,
{input: uma}))
リストの取得 データ登録
自動生成されたものを呼
び出すだけ
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
話すこと
1. 開発の課題とAWS Amplifyの魅力
2. React + Amplifyでアプリ開発の流れ(Vueじゃないのかよ)
3. Amplify Admin UI によるアプリケーションの管理
4. まとめ
23
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Admin UIを有効にする
24
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
管理画面からデータ登録
25
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
画面に表示されています
26
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
ユーザー画面から入力
27
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
管理画面で確認します
すこしタイムラグあります
28
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
話すこと
1. 開発の課題とAWS Amplifyの魅力
2. React + Amplifyでアプリ開発の流れ
3. Amplify Admin UI によるアプリケーションの管理
4. まとめ
29
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
まとめ
● APIが自動生成できたり管理画面の実装の手間を省ける
→フロントのロジックの開発に集中できる!
● AWSのサービスに馴染みがある人は特におすすめ
● GraphQLを使った気になれた
● 自分のトレーニングを記録して振り返れるアプリにしたい
30
1 von 30

Recomendados

継続的なモデルモニタリングを実現するKubernetes Operator von
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes OperatorYahoo!デベロッパーネットワーク
4.9K views35 Folien
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢 von
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
4K views31 Folien
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割 von
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
15.1K views82 Folien
DockerとPodmanの比較 von
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
48.1K views37 Folien
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料) von
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
3.2K views92 Folien
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料) von
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
458 views13 Folien

Más contenido relacionado

Was ist angesagt?

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!) von
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
13.4K views22 Folien
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy von
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito Miura
25.5K views55 Folien
Multicastが出来ないならUnicastすればいいじゃない von
Multicastが出来ないならUnicastすればいいじゃないMulticastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃないKenta Yasukawa
9.2K views20 Folien
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料) von
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)NTT DATA Technology & Innovation
968 views73 Folien
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料) von
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
3.6K views31 Folien
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ... von
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTT DATA Technology & Innovation
10.1K views62 Folien

Was ist angesagt?(20)

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!) von Trainocate Japan, Ltd.
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy von Kazuhito Miura
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura25.5K views
Multicastが出来ないならUnicastすればいいじゃない von Kenta Yasukawa
Multicastが出来ないならUnicastすればいいじゃないMulticastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃない
Kenta Yasukawa9.2K views
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料) von NTT DATA Technology & Innovation
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料) von NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ... von NTT DATA Technology & Innovation
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
こんなに使える!今どきのAPIドキュメンテーションツール von dcubeio
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio25.9K views
フロー効率性とリソース効率性について #xpjug von Itsuki Kuroda
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda106.4K views
人生がときめくAPIテスト自動化 with Karate von Takanori Suzuki
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki9.3K views
明日からはじめるネットワーク運用自動化 von Taiji Tsuchiya
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
Taiji Tsuchiya4.8K views
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか? von naoki koyama
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama91.3K views
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M... von whywaita
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita4.6K views
とにかく分かりづらいTwelve-Factor Appの解説を試みる von Masatoshi Tada
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
Masatoshi Tada17.4K views
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料) von NTT DATA Technology & Innovation
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み von Jumpei Miyata
開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
Jumpei Miyata827 views
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話 von JustSystems Corporation
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話

Similar a React + Amplifyで アプリ開発

AWSとReactで始めるShopifyアプリ開発 von
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発Takaaki Kurasawa
3.4K views53 Folien
Deno で始めるフロントエンド von
Deno で始めるフロントエンドDeno で始めるフロントエンド
Deno で始めるフロントエンド虎の穴 開発室
568 views12 Folien
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight von
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonightAmazon Web Services Japan
3.6K views48 Folien
チラシルiOSでの広告枠開発 von
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
3.7K views48 Folien
Rails on GKEで運用するWebアプリケーションの紹介 von
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
4.2K views44 Folien
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】 von
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】ニフクラ mobile backend
3.1K views83 Folien

Similar a React + Amplifyで アプリ開発(20)

AWSとReactで始めるShopifyアプリ開発 von Takaaki Kurasawa
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発
Takaaki Kurasawa3.4K views
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight von Amazon Web Services Japan
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
チラシルiOSでの広告枠開発 von Satoshi Takano
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
Satoshi Takano3.7K views
Rails on GKEで運用するWebアプリケーションの紹介 von Makoto Haruyama
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
Makoto Haruyama4.2K views
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】 von ニフクラ mobile backend
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】
MonacaとmBaaSでO2Oクーポンアプリを作りましょう!【GPS x 会員 x クーポン】
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう von Hiroki Uchida
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうJAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
Hiroki Uchida6.8K views
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 – von 虎の穴 開発室
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門 von Amazon Web Services Japan
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
AWS Amplify - Auth/API Category & Vue 構築ハンズオン von Eiji KOMINAMI
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
Eiji KOMINAMI1.5K views
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン von Takuya Kitamura
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオンAngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
AngularJSとバックエンドサービスAppPotで作る業務システムハンズオン
Takuya Kitamura884 views
Spring Boot × Vue.jsでSPAを作る von Go Miyasaka
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka14.9K views
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう! von natsumo
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
natsumo 1.5K views

Más de 虎の穴 開発室

FizzBuzzで学ぶJavaの進化 von
FizzBuzzで学ぶJavaの進化FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化虎の穴 開発室
310 views33 Folien
Railsのデバッグ どうやるかを改めて確認する von
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する虎の穴 開発室
427 views16 Folien
虎の穴ラボ エンジニア採用説明資料 .pdf von
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴 開発室
53.2K views34 Folien
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf von
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf虎の穴 開発室
209 views20 Folien
toranoana.deno #6 アジェンダ 採用説明 von
toranoana.deno #6 アジェンダ 採用説明toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明虎の穴 開発室
391 views14 Folien
Deno 向け WEB 開発用のツールを作ったので 紹介します von
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します虎の穴 開発室
299 views12 Folien

Más de 虎の穴 開発室(20)

Railsのデバッグ どうやるかを改めて確認する von 虎の穴 開発室
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
虎の穴ラボ エンジニア採用説明資料 .pdf von 虎の穴 開発室
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴 開発室53.2K views
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf von 虎の穴 開発室
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno 向け WEB 開発用のツールを作ったので 紹介します von 虎の穴 開発室
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します
通販開発部の西田さん「通販開発マネジメントの5ルール」 von 虎の穴 開発室
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた! von 虎の穴 開発室
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
セキュリティを強化しよう!CloudArmorの機能解説 von 虎の穴 開発室
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発 von 虎の穴 開発室
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
いいテスト会 (スプリントレビュー) をやろう! von 虎の穴 開発室
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について von 虎の穴 開発室
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜 von 虎の穴 開発室
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
虎の穴 開発室1.1K views
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント von 虎の穴 開発室
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
【20220120 toranoana.deno#4】denoでffiの続き von 虎の穴 開発室
【20220120 toranoana.deno#4】denoでffiの続き【20220120 toranoana.deno#4】denoでffiの続き
【20220120 toranoana.deno#4】denoでffiの続き
虎の穴ラボ エンジニア採用説明資料 von 虎の穴 開発室
虎の穴ラボ エンジニア採用説明資料 虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボにおけるリモートワークの働き方 von 虎の穴 開発室
虎の穴ラボにおけるリモートワークの働き方虎の穴ラボにおけるリモートワークの働き方
虎の穴ラボにおけるリモートワークの働き方

React + Amplifyで アプリ開発

  • 1. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. React + AWS Amplifyで アプリ開発 虎の穴ラボ株式会社 西志村友基 1
  • 2. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 自己紹介 西志村 友基 ● 所属:虎の穴ラボ株式会社 ● 担当:Fantiaなど ● 入社理由: ○ BtoCサービスに関わりたい ○ 一生に一度はオタク業界に関わりたい ● 趣味:アニメ鑑賞、ゲーム      競馬 ← New 2
  • 3. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 話すこと 1. 開発の課題とAWS Amplifyの魅力 2. React + Amplifyでアプリ開発の流れ 3. Amplify Admin UI によるアプリケーションの管理 4. まとめ 3
  • 4. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 話すこと 1. 開発の課題とAWS Amplifyの魅力 2. React + Amplifyでアプリ開発の流れ 3. Amplify Admin UI によるアプリケーションの管理 4. まとめ 4
  • 5. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 開発の課題 ● 本当はアプリケーションの本質的な開発だけに集中したいけど... ○ ユーザー認証 ○ データ登録 ○ セキュリティ → 結局バックエンドも書かないといけない → 覚えることいっぱいで辛い 5 誰かに丸投げしたい
  • 6. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. それ、AWS Amplifyならできます 6
  • 7. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. AWS Amplifyの魅力 1. 数分でバックエンドを構成 2. AWSのベストプラクティスに沿ったサーバーレスアプリケーションが構築可 能 3. 対話形式で各種設定を行うことができる 4. 数クリックでアプリを公開できる 5. Amplify Admin UIによる容易なコンテンツ管理 7
  • 8. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 話すこと 1. 開発の課題とAWS Amplifyの魅力 2. React + Amplifyでアプリ開発の流れ 3. Amplify Admin UI によるアプリケーションの管理 4. まとめ 8
  • 9. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 今回開発したアプリ 9 【仕様】 ● 画面から ○ 名前 ○ スキル ○ 説明 という値を受け取る ● DBに保存して表示 ● 管理画面も作る
  • 10. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Node.jsのインストール Amplifyのインストール Reactアプリの作成 Amplifyの初期設定を実施 フロー 10 React用のライブラリをインストール APIの作成 Amplifyでデプロイ ホスティング設定 アプリ公開!!!
  • 11. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Node.jsのインストール ・・・コマンド打つだけ Amplifyのインストール ・・・コマンド打つだけ Reactアプリの作成 ・・・コマンド打つだけ Amplifyの初期設定を実施 ・・・コマンド+対話形式 フロー 11
  • 12. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. React用のライブラリをインストール ・・・コマンド+tsxの修正 APIの作成 ・・・コマンド+対話形式 Amplifyでデプロイ ・・・コマンド+対話形式 ホスティング設定 ・・・コマンド+対話形式 アプリ公開 ・・・コマンド打つだけ フロー 12
  • 13. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 【APIの設定】 ● GraphQLを使用 ● スキーマテンプレートとしてToDoを使用 【デプロイの設定】 ● TypeScript使用 ● GraphQLのコード自動生成ON 今回作成したAPI、デプロイの設定 13
  • 14. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Amplifyのインストール (Node.jsがインストールされている前提です) amplifyの設定(以下のコマンドを実行) # リージョンの選択、IAMの作成(アクセスキー、シークレットキーの入力)などが求められ ます $ npm install -g @aws-amplify/cli $ amplify configure 14
  • 15. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. React アプリにAmplifyを設定① $ cd uma_note $ amplify init $ npx create-react-app --template typescript uma_note 15 Reactアプリケーションを新規作成 Amplifyの初期設定を実施
  • 16. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 16
  • 17. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. React アプリにAmplifyを設定② 17 import Amplify from "aws-amplify"; import awsExports from "./aws-exports"; Amplify.configure(awsExports); $ npm install aws-amplify @aws-amplify/ui-react React用のライブラリをインストール 生成されたindex.tsxに以下を追記
  • 18. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. APIの作成 $ amplify add api 18 対話形式で設定
  • 19. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Amplifyでデプロイ $ amplify push 19 Graphqlのソースを自動生成してくれます
  • 20. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Amplify でアプリを公開 ホスティング設定 以下のコマンドでアプリが公開されます $ amplify add hosting $ amplify publish 20 たったこれだけ!!
  • 21. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. スキーマを変更したい場合 type Todo @model @auth(rules: [{allow: public}]) { id: ID! name: String! description: String } type Uma @model @auth(rules: [{allow: public}]) { id: ID! name: String! skill: String description: String } amplify/backend/api/umanote/ schema.graphql を書き換える $ amplify push 21
  • 22. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. あとはアプリ開発に集中(TypeScript) 22 const umaData = await API.graphql(graphqlOperation(listUmas)) await API.graphql(graphqlOperation(createUma, {input: uma})) リストの取得 データ登録 自動生成されたものを呼 び出すだけ
  • 23. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 話すこと 1. 開発の課題とAWS Amplifyの魅力 2. React + Amplifyでアプリ開発の流れ(Vueじゃないのかよ) 3. Amplify Admin UI によるアプリケーションの管理 4. まとめ 23
  • 24. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Admin UIを有効にする 24
  • 25. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 管理画面からデータ登録 25
  • 26. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 画面に表示されています 26
  • 27. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. ユーザー画面から入力 27
  • 28. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 管理画面で確認します すこしタイムラグあります 28
  • 29. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 話すこと 1. 開発の課題とAWS Amplifyの魅力 2. React + Amplifyでアプリ開発の流れ 3. Amplify Admin UI によるアプリケーションの管理 4. まとめ 29
  • 30. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. まとめ ● APIが自動生成できたり管理画面の実装の手間を省ける →フロントのロジックの開発に集中できる! ● AWSのサービスに馴染みがある人は特におすすめ ● GraphQLを使った気になれた ● 自分のトレーニングを記録して振り返れるアプリにしたい 30