Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amplify Gen2がGAされたので試してみた
Search
KMiura
June 20, 2024
Technology
0
160
Amplify Gen2がGAされたので試してみた
2024.06.20 Kobe Engineer SakeBash #3 with HACK.BAR
KMiura
June 20, 2024
Tweet
Share
More Decks by KMiura
See All by KMiura
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
80
あのボタンでつながるSORACOM
miura55
0
73
Postman Flowsで作るAPI連携LINE Bot
miura55
0
250
Lambdaと共に歩んだAWS
miura55
3
580
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
170
Is it wrong to use a web framework with Lambda?
miura55
0
140
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
160
AWS×IoTについて語り合う会
miura55
0
100
クラウドを活用して家電をハックしてみた
miura55
0
110
Other Decks in Technology
See All in Technology
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
23
11k
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
120
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
.NET 9 のパフォーマンス改善
nenonaninu
0
440
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
5分でわかるDuckDB
chanyou0311
10
3.2k
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
kargoの魅力について伝える
magisystem0408
0
200
ハイテク休憩
sat
PRO
2
120
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Statistics for Hackers
jakevdp
796
220k
Music & Morning Musume
bryan
46
6.2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
160
A designer walks into a library…
pauljervisheath
204
24k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Why Our Code Smells
bkeepers
PRO
335
57k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Optimizing for Happiness
mojombo
376
70k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Transcript
Amplify Gen2がGAされたので試してみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • Acall株式会社 Facility Experience 事業部FXプロダクトチーム所属 (2024/4
中途入社) • バックエンドエンジニア • 名古屋在住 @k_miura_io koki.miura05
Amplify Gen2 がGA🎉
そもそもAWS Amplifyって何? • ウェブアプリケーションやモバイルアプリの構築に必要なバックエンドを提供して いるAWSのmBaaS(Moblie Backend as a Service) •
DB、認証などのバックエンドをすべてよしなにAWSで構築してくれて、開発者は フロントエンドの開発に集中できる • AWSの各種サービスに接続するための各種フレームワーク向けのライブラリも 提供されている 実は新卒時代の会社でテック ブログを書いてた→
サポートしている言語・フレームワーク React Next.js Vue Angular JavaScript フロントエンド モバイル React Native
Flutter Android Swift
Gen2でのアップデート • ローカル開発用のサンドボックス環境構築 • バックエンドはすべてTypeScriptで定義 • デプロイはCDKベース • git pushをトリガーにしたビルド、テスト、デプロイに対応
個人的にGen1のここがイマイチ • バックエンドのリソース追加をCLIでやらないといけない • リソースを変更したときの差分がわかりにくい(変更してないはずの箇 所に差分が出る) • Amplify CLI用に認証情報を追加しないと使えないのが手間
Gen2ではクリアになっている • バックエンドのリソース追加をCLIでやらないといけない →TypeScriptを使って更新ができる • Amplify CLI用に認証情報を追加しないと使えないのが手間 →AWS CLIを使うときに設定した認証情報がそのまま使えそう(そもそも Sandbox以外でAWSの認証情報が必要なくなったっぽい)
• リソースを変更したときの差分がわかりにくい(変更してないはずの箇所に差分が 出る) →コードベースで差分が明確になった(Gitで差分確認すればOK)
公式サンプルもある • Pub/Subを使用したマルチプレイの アプリ • 他のユーザーのカーソルの動きをリ アルタイムで確認できる • アプリケーション内には認証機能の 追加など、オリジナルからアップ
デートについても解説されている https://aws.amazon.com/jp/blogs/news/ amplify-gen2-ga/
DEMO
ローカル開発用のSandbox環境 • ローカルでの開発用にバックエンドとして Sandbox環境が構築できる • 「npx ampx sandbox」と叩くだけ • 設定情報はSandbox環境を構築したときに
生成されるJsonファイル (amplify_outputs.json)を参照する
デプロイをする時 • ソースコードのレポジトリを 指定することでデプロイが できる • CLIでAmplifyのプロジェクト を用意して、レポジトリにコ ミットすることでCI/CDが実 行されるようになる
本番環境のデプロイ • デプロイと同時に本番用のバックエンド 定義amplify_outputs.jsonが生成される • JSONを手元にダウンロードして再コミッ トをすることで本番用のバックエンドが つかえる →フロントエンドとバックエンドをまと めてコミットすると事故るので注意
• AWSのSDKを使うような実装が含まれ ている場合は認証コンポーネントの追 加をお忘れなく(地味にハマった…)
まとめ • Amplify Gen2を使うことでバックエンドのデプロイがCDKベースになっ て(個人的に)直感的に定義できると思った • ローカルデバッグが結構アツい! • やはりTypeScript、TypeScriptはすべてを解決する
END