$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Serverless SPA development starting with Angular
Search
Haruna Oka
July 03, 2020
Programming
0
3.3k
Serverless SPA development starting with Angular
フロント知識0から始めるサーバーレスSPA開発
フロントもバックエンドもフルスタックに爆速で開発していくための、Angularの使い方や勘所を解説します。
Haruna Oka
July 03, 2020
Tweet
Share
More Decks by Haruna Oka
See All by Haruna Oka
AWS AppSyncと仲良くするためのTips
okaharuna
1
170
Next.js × AWS App Runner × AWS AppSyncで進めるクライアントファーストのWEB開発
okaharuna
7
6k
re:Growth 2020 Serverless
okaharuna
2
1.4k
EventBridgeでAWSとShopifyの統合
okaharuna
2
6.2k
serverlessdaysfukuoka_oka.pdf
okaharuna
1
2.2k
SPA×Auth0
okaharuna
5
2k
Fargate_Super_Introduction.pdf
okaharuna
2
3.2k
Other Decks in Programming
See All in Programming
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
710
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
Cap'n Webについて
yusukebe
0
130
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
320
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
430
SwiftUIで本格音ゲー実装してみた
hypebeans
0
340
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
130
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.4k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
BBQ
matthewcrist
89
9.9k
Embracing the Ebb and Flow
colly
88
4.9k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Language of Interfaces
destraynor
162
25k
Bash Introduction
62gerente
615
210k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Transcript
"OHVMBSʷ"84 $9ࣄۀຊ෦Ԭय़ಸ ϑϩϯτ͔ࣝΒ࢝ΊΔ αʔόʔϨε41"։ൃ
ࣗݾհ Ԭय़ಸ $MBTTNFUIPE *OD $9#VTJOFTT%JW."%5FBN ˏ0LB)BSVOB αʔόʔαΠυαʔόʔϨε
ຊͷΞδΣϯμ "OHVMBSͷಛ पลπʔϧɾ։ൃલͷ४උ ։ൃ࣌ͷϙΠϯτ ʲ׆༻ྫʳ%FWFMPQFST*0$"'&ཧը໘
ओͳରͷํ ϑϩϯτΛ࣮ͨ͜͠ͱ͕ͳ͍ "OHVMBSΛͬͨ͜ͱ͕ͳ͍ 5ZQFTDSJQUɺ͘͠+BWBTDSJQU͔Δ όοΫΤϯυϑϩϯτ։ൃ͍ͨ͠
+4ϑϨʔϜϫʔΫͷҙࣝɺؔ৺ɺຬͷϥϯΩϯά
"OHVMBS+4ϦϦʔε
"OHVMBSϦϦʔε
"OHVMBS+4
"OHVMBS+4 "OHVMBS
"OHVMBS+4 "OHVMBS 5ZQFTDSJQU +BWBTDSJQU ɾɾɾ ɾɾɾ
+4ϑϨʔϜϫʔΫͷҙࣝɺؔ৺ɺຬͷϥϯΩϯά
+4ϑϨʔϜϫʔΫͷҙࣝɺؔ৺ɺຬͷϥϯΩϯά "OHVMBSͱ"OHVMBS+4͕ࠞಉ͞Ε͍ͯΔ!
"OHVMBS ʹ"OHVMBS͕ϦϦʔε͞Ε·ͨ͠ʂ"
"OHVMBS
"OHVMBSͷಛ 5ZQFTDSJQUඪ४ ϑϧελοΫϑϨʔϜϫʔΫ ίϯϙʔωϯτࢦΞʔΩςΫνϟ ํόΠϯσ Οϯά "OHVMBS$-*
OHOFX"OHVMBSΞϓϦͷ࡞ OHHίϯϙʔωϯτͷ࡞ SPVUF TFSWJDF QJQFT OHTFSWFϩʔΧϧαʔόʔͷىಈ OHUFTU&&ςετ OHMJOU-JOUͷద༻
"OHVMBS$-*ͰͰ͖Δ͜ͱ
OHOFX"OHVMBSΞϓϦͷ࡞ OHHίϯϙʔωϯτͷ࡞ SPVUF TFSWJDF QJQFT OHTFSWFϩʔΧϧαʔόʔͷىಈ OHUFTU&&ςετ OHMJOU-JOUͷద༻
"OHVMBS.BUFSJBM
"OHVMBSͰ18" ؆୯ $ ng add @angular/pwa —project prj-name $
ng generate app-shell (ҙ)
"OHVMBSͰ443 αʔόʔαΠυϨϯμϦϯά "OHVMBS6OJWFSTBMΛ͏ͱ؆୯ʹͰ͖Δ $ ng add @nguniversal/express-engine $ npm
run dev:ssr ෦తʹ/PEF+4FYQSFTTͰ࣮ߦ͞ΕΔ
ϞόΠϧΞϓϦ ϞόΠϧΞϓϦҰॹʹఏڙ͢Δ߹ /BUJWF4DSJQUΛ͓͏
/BUJWF4DSJQU
8&#ϗεςΟϯά (JUIVC$PEF$PNNJUΛ࿈ܞͯ͠$*$%ڥ͕࡞ΕΔ ϏϧυઃఆʹΑͬͯ"OHVMBSͷ&&ςετ࣮ߦͰ͖·͢ ΧελϜυϝΠϯઃఆՄೳ $034Λ͍͍ͨ߹$MPVE'SPOU 4ʹ͠Α͏ "NQMJGZ$POTPMFΛ͓͏
͜͜·Ͱ "OHVMBSͷجຊΘ͔͚ͬͨͲɺ ࣮ࡍͲ͏։ൃ͍͚͍͍ͯ͠ʁ
ॳظඋ ୯ମςετLBSNB &&QSPUSBDUPS -JOU54-JOU
͓͢͢Ίඋ ୯ମςετ+FTU &&$ZQSFTT $444BTT ΞϓϦ࡞࣌ʹબՄೳ -JOU&4-JOU ϑΥʔϚολʔ1SFUUJFS
͓͢͢Ίඋ ୯ମςετ+FTU &&$ZQSFTT $444BTT ΞϓϦ࡞࣌ʹબՄೳ -JOU&4-JOU˞ެࣜαϙʔτ·ͩ ϑΥʔϚολʔ1SFUUJFS
όοΫΤϯυ5ZQFTDSJQUʹ ϑϩϯτόοΫΤϯυ5ZQFTDSJQUͰ౷Ұ͢Δ͜ͱͰ อकੑ։ൃޮ্͕Δ
ϑΥϧμߏ DPSFɾɾɾೝূϞδϡʔϧαʔόʔ௨৴Λߦ͏αʔϏε܈ TIBSFEɾɾɾڞ௨Ͱ͏ίϯϙʔωϯτσ ΟϨΫςΟϒ GFBUVSFɾɾɾ֤ը໘ͷίϯϙʔωϯτ TSDBQQ
3Y+4ͱʁ ϦΞΫςΟϒɾϓϩάϥϛϯά༻ͷϥΠϒϥϦ
SYKTΠϕϯτॲཧͷྫ ϚεΫϦοΫ͔Β0CTFSWBCMFΛ࡞ import { fromEvent } from ‘rxjs’; ngOnInit():
void { const click$ = fromEvent(document, 'click'); click$.subscribe(evt => console.log(evt)); }
SYKTΠϕϯτॲཧͷྫ ϚεΫϦοΫ͔Β0CTFSWBCMFΛ࡞ import { fromEvent } from ‘rxjs’; ngOnInit():
void { const click$ = fromEvent(document, 'click'); click$.subscribe(evt => console.log(evt)); }
SYKTඇಉظॲཧͷྫ 1SPNJTF͔Β0CTFSWBCMFΛ࡞ JNQPSU\GSPN^GSPNbSYKT DPOTUEBUBGSPN GFUDI BQJFOEQPJOU EBUBTVCTDSJCF \
OFYU SFTQPOTF \DPOTPMFMPH SFTQPOTF ^ FSSPS FSS \DPOTPMFFSSPS &SSPS FSS ^ DPNQMFUF \DPOTPMFMPH $PNQMFUFE ^ ^
%FWFMPQFST*0$"'&ͷཧը໘
%FWFMPQFST*0$"'&ͷػೳ จཧ ཧ ച্ूܭɾ$47ΤΫεϙʔτ Ϋʔϙϯཧ ళฮελοϑ ֤ηϯαʔͷઃఆ ళฮͷՃɾઃఆ Ϣʔβʔݕࡧɾઃఆ
"ENJOݖݶ
%FWFMPQFST*0$"'&ͷػೳ จཧ ཧ ച্ूܭɾ$47ΤΫεϙʔτ Ϋʔϙϯཧ ళฮελοϑ ֤ηϯαʔͷઃఆ ళฮͷՃɾઃఆ Ϣʔβʔݕࡧɾઃఆ
"ENJOݖݶ #SPVUFSͷ$BO"DUJWBUFΛͬͯΞΫηε੍ޚ
͓͢͢Ίͷֶशࡐྉ "OHVMBSελΠϧΨΠυ 5ZQFTDSJQU%FFQ%JWF IUUQTBOHVMBSJPHVJEFTUZMFHVJEF IUUQTCBTBSBUHJUCPPLJPUZQFTDSJQU