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
ProgressiveにVueを導入している話 / vue-progressive-integ...
Search
hivesbee
September 06, 2019
Programming
650
1
Share
ProgressiveにVueを導入している話 / vue-progressive-integration
hivesbee
September 06, 2019
More Decks by hivesbee
See All by hivesbee
組織・プロセス・技術 フロントエンドの生産性向上への複眼的アプローチ
hivesbee
0
37
Design System Meets Vue.js
hivesbee
0
160
mabl を融和させるための取り組み in クラウドサイン / how-to-fusion-mabl-in-cloudsign
hivesbee
0
220
フロントエンドの組織について考える / think-about-front-end-organization
hivesbee
5
3k
ProgressiveにVueを導入している現場から送る小ネタ / vue-progressive-integration-tips-dialog
hivesbee
1
600
クラスへの割り込み処理とProxyとReflect / method-intercept-with-proxy-and-reflect
hivesbee
1
130
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
130
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.3k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
470
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
170
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
100
iOS26時代の新規アプリ開発
yuukiw00w
0
220
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
要はバランスからの卒業 #yumemi_grow
kajitack
0
210
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
130
Swiftのレキシカルスコープ管理
kntkymt
0
200
LLM Plugin for Node-REDの利用方法と開発について
404background
0
140
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
New Earth Scene 8
popppiees
3
2.3k
Tell your own story through comics
letsgokoyo
1
930
Why Our Code Smells
bkeepers
PRO
340
58k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
WENDY [Excerpt]
tessaabrams
11
38k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Transcript
1SPHSFTTJWFʹ7VFΛ ಋೖ͍ͯ͠Δ 7TFOEBJ7VFKT/VYUKTNFFUVQ .BTBTIJ)BHBʢ!)JWFTCFFʣ
⾣6ODBVHIU3FGFSFODF&SSPS)BHBJTOPUEFpOFE .BTBTIJ)BHB (JUIVCIJWFTCFF 5XJUUFS!)JWFTCFFʢ;͕͊ʣ 'SPOUFOE&OHJOFFSBU$MPVE4JHO (SBEVBUFEઋిߴઐʢͩͬͨͱ͜Ζʣ ❤7VFKT K2VFSZ Έͣ͞Θʢલམ߹ʹ͋Γ·͢ʣ ɹ͜ͷલͷBZ$POGFSFODFͰதຊͷਓೝఆΛड͚Δ
ࠓճ͓͢Δ͜ͱ 1SPHSFTTJWFʹ 7VFΛಋೖ͍ͯ͠ΔݱͰͷ ಋೖઓུ࣮ࡍͷઃܭϓϥΫςΟεΛ Ίʹ͝հ
໔ࣄ߲ ॾઆ͋Γ·͢
None
ܖަব͕ࡁΜͩࡁͷܖॻΛΞοϓϩʔυ͠ɺ ૬खํ͕ঝೝ͢Δ͚ͩͰܖΛΉ͢Ϳ͜ͱ͕ग़དྷ·͢ɻ ॻྨͷड৴ऀΫϥυαΠϯʹొ͢Δඞཁ͕͋Γ·ͤΜɻ ܖక͔݁Βܖॻཧ·ͰՄೳͳ ΫϥυܕͷిࢠܖαʔϏε ܖަবࡁͷܖॻΛΞοϓϩʔυ͠ɺ૬खํ͕ঝೝ͢Δ͚ͩͰܖΛ݁Ϳ͜ͱ͕ग़དྷ·͢ɻ ॻྨͷड৴ऀΫϥυαΠϯʹొ͢Δඞཁ͕͋Γ·ͤΜɻ ΫϥυαΠϯͱʁ
ΫϥυαΠϯͱʁ ిࢠܖͳΒ εϐʔυΞοϓ҆શੑ࣮ݱͰ͖·͢ ܖక݁·Ͱͷ ϦʔυλΠϜͷॖ िؒ ࢴͷܖॻ ిࢠܖॻ ίϯϓϥΠΞϯεͱ
ηΩϡϦςΟڧԽ ϝʔϧɾυϝΠϯ࿈ಈͷຊਓೝূ ిࢠॺ໊ʴೝఆλΠϜελϯϓͰ ܖ࣌ͷશੑΛ୲อ ✔ ෦ ✔
ΫϥυαΠϯͱʁ
ΫϥυαΠϯͱʁ
͔͜͜Βຊ
എܠ ࠷ॳͷಓ͠Δͷͨͯํ 1SPHSFTTJWFʹ͢͢ΊΔͨΊͷઃܭϓϥΫςΟε
എܠ ೖࣾ࣌Ͱͷٕज़ελοΫʜʜ Πϯϑϥɿ"84 αʔόʔɿHP SFWFM ϑϩϯτʢ1$൛ʣɿK2VFSZ ϑϩϯτʢ41൛ʣɿK2VFSZ 7VFKTʢܥʣ ͱ͍͏͜ͱͰϑϩϯτͷओ࣠ HPͷςϯϓϨʔτΤϯδϯͱK2VFSZ
K2VFSZ͋Δ͋Δ ϏδωεϩδοΫͱ%0.͕ࠞࡏ ϑΝΠϧׂʹΑΔϞδϡʔϧԽΛߦ͍͕ͬͯͨɺ ΠϕϯτͷൃՐλΠϛϯάͳͲͳͲෳࡶੑ͕૿͖ͯͨ͠ ͦͷ··QVCMJTI͍ͯͨ͠ͷͰ ίϝϯτ͕ॻ͚ͳ͍ʢҙ֎ͱେࣄʣ 7VFKTΛຊ֨ಋೖ͢ΔྲྀΕʹ
8IZ7VFKTʁ ΨΠυϥΠϯΛͬ͟ͱݟ͍ͯͦ͢͏ KTY͕ͪΐͬͱͱ͖ͬͭͮΒͦ͏ 4'$ͱσβΠφʔͷੑ͕ߴ͍ ͋ͱ΄Μͷग़དྷ৺ʢॏཁʣ
എܠ ࠷ॳͷಓ͠Δͷͨͯํ 1SPHSFTTJWFʹ͢͢ΊΔͨΊͷઃܭϓϥΫςΟε
ʮ7VFKTೖΕ·͠ΐ͏ʂʯ ʜ Ͳ͏ͬͯʁ
େ͖ͳํͱͯ͠ʜʜ %SBTUJDʹม͍͑ͯ͘ ظܾઓܕ ͋ΔఔͷόάΛڐ༰͢Δඞཁ͋Γ Γ͖Δͱʮ͔͍͍ͬ͜ʯͬͯݴΘΕΔ 1SPHSFTTJWFʹม͍͑ͯ͘ ظઓܕ όά͍͑ͯ͘ ҋͱର͠ଓ͚͍ͯ͘ Γ͖Δͱʮ͓ർΕ͞·ʯͬͯݴΘΕΔ
࠷ॳͷಓ͠Δͷͨͯํ Ͳ͏அ͢Δ͔ʁ
࠷ॳͷಓ͠Δͷͨͯํ ϓϩμΫτͷಛੑͱ ։ൃ৫ͷ໘͔Β ߟ͑Δ
ϓϩμΫτͷಛੑ͔Βಓ͠ΔΛߟ͑Δ ΫϥυαΠϯʹిࢠܖͷαʔϏε ԾʹαʔϏε͕མͪΔͱʜʜ ͓٬͞·ͷܖ࡞ۀ͕Ͱ͖ͳ͍ˠ͓٬͞·ͷϏδωεʹӨڹେ ಛʹ݄݄ॳʹམͪͨΒக໋త ӨڹൣғΛڱ͘ɺΛى͜͞ͳ͍Α͏ʹ
։ൃ৫ͷ໘͔Βಓ͠ΔΛߟ͑Δ ࣌ɺ̍ਓͷϑϩϯτΤϯυΤϯδχΞ ࢥ͍͖ͬΓม͍͑ͯ͘ʹ ϑϩϯτͷϝϯόʔ͕Γͳ͍ ͦͷؾʹͳΕͰ͖͔ͨ͠Εͳ͍͕ ػೳՃͱ͜ͷ࡞ۀΛಉ࣌ʹ͢͢ΊΔ͜ͱʹͳΓ ऴᖼΛܴ͑Δʢࢲ͕ʣ ϝϯόʔΛ૿͍ͯ͘͜͠ͱؚΊɺಋೖܭըΛ͍ͨͯͯ͘
Ͱ͖͕͋ͬͨಓ͠Δ %SBTUJDʹม͍͑ͯ͘ 1SPHSFTTJWFʹม͍͑ͯ͘ ϝϯόʔͷ૿ՃܭըʹؚΊɺ1SPHSFTTJWFʹಋೖ͍ͯ͘͠
Ͱ͖͕͋ͬͨಓ͠Δ ελʔτ 7VFKTಋೖ։࢝ ΰʔϧ 7VFKTͰϑϧϦϓϨʔε ը໘ͷҰ෦Ͱ 7VFKTಋೖ ϝϯόʔΛ ૿͍ͯ͘͠ 7VFKT
ಋೖൣғͷ֦େ ͷৡ ʢϧʔςΟϯάɺεςʔτཧʣ
ಓ͠Δ͕Ͱ͖Δͱ ࣗવͱઃܭ͕Έ্͕Δ
ࠓͷϑϩϯτΤϯυઃܭ (P SFWFM 1BHF"WVF 1BHF#WVF 1BHF$WVF 8FCQBDL ࢠ ࢠ ࢠ
ࢠ ࢠ ࢠ ϧʔςΟϯάαʔόʔଆͷ·· SFWFMͰग़ྗ͞ΕͨIUNMʹ7VFKTΛ͍͋ͯͯ͘
ࠓͷϑϩϯτΤϯυઃܭʢൈਮʣ ϚϧνϖʔδΞϓϦέʔγϣϯ ϧʔςΟϯάݱߦͷ··ɺ7VFSPVUFSར༻͠ͳ͍ ϖʔδΤϯτϦϙΠϯτ 8FCQBDL͏ʢίϝϯτॻ͖͍ͨΠϯϙʔτ͍ͨ͠ʣ 7VFYجຊΘͳ͍
ࠓͷϑϩϯτΤϯυઃܭʢײʣ ͜͏ͬͯݟΔͱϞμϯͳΠέΠέͳϑϩϯτͱ͍͑ͳ͍ ݱঢ়Λཧղ্ͨ͠Ͱ࠷దղΛऔΔͨΊʹ ͋͑ͯΘͳ͍ɺͱ͍͏ͷେ͍ʹΞϦʢͩͱࢥ͏ʣ ΠέΠέͳͷͷ༠ʹෛ͚ͣɺಓʹ͢͢ΊΔ ڧ͍৺͕ཁ݅ͱͯ͠ඞཁ
എܠ ࠷ॳͷಓ͠Δͷͨͯํ 1SPHSFTTJWFʹ͢͢ΊΔͨΊͷઃܭϓϥΫςΟε
1SPHSFTTJWFʹ͢͢ΊΔͨΊͷઃܭϓϥΫςΟε Ϛϯτ͢Δίϯϙʔωϯτͷཻ ࢠίϯϙʔωϯτͷཻ
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ (P SFWFM 1BHF"WVF 1BHF#WVF 1BHF$WVF 8FCQBDL ࢠ ࢠ ࢠ
ࢠ ࢠ ࢠ ͜͜ͷʜʜ
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ (P SFWFM 1BHF"WVF 1BHF#WVF 1BHF$WVF 8FCQBDL ࢠ ࢠ ࢠ
ࢠ ࢠ ࢠ ͜͜ʂ
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ ϏδωεϩδοΫͱͯ͠ΓཱͭϨϕϧͷେ͖͞ͰϚϯτ ը໘ͷݕࡧ෦ɺμΠΞϩάɺFUDʜʜ "UPNJD%FTJHOͰ͍͏ͱ͜Ζͷ0SHBOJTNT͘Β͍ Ұ൪লΤωˍΛہॴԽͰ͖Δ
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ লΤωɺͱʁ ˠίϯϙʔωϯτཻͷ࠷େɾ࠷খέʔεͰͦΕͧΕߟ͑Δ ."9ɿը໘શମʹϚϯτ ୯७ʹ࿑ྗ͕͔͔Δ IUNMςϯϓϨʔτʹग़ྗ͞Ε͍ͯΔσʔλͷ࠶ݱͱ͔ඞཁ ༨ܭͳͷ·ͰखΛண͚ͨ͘ͳ͍
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ .*/ɿখ͞ͳίϯϙʔωϯτ͝ͱʹϚϯτ ίϯϙʔωϯτͷIUNMςϯϓϨʔτσʔλͷྲྀ͠ࠐΈΛͭͭ͠ɺ ίϯϙʔωϯτͷ֎ͰϏδωεϩδοΫΛऔΓѻ͏͜ͱʹ ṖϞδϡʔϧര $PNQPOFOU $PNQPOFOU Ṗ IUNM
ͩͬͨΒίϯϙʔωϯτʹऔΓࠐΜͩ΄͏ָ͕
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ ΛہॴԽͰ͖Δɺͱʁ ʢى͖͍͚ͯͳ͍͜ͱ͚ͩͲʣ ϖʔδʹԿ͔͠Βόάͬͨ߹ɺ ϏδωεϩδοΫ͝ͱམͪΔͷͰը໘ͷଞͷՕॴʹӨڹΛٴ ΅͞ͳ͍
ͦͷ̍ɿϚϯτ͢Δίϯϙʔωϯτͷཻ ؙͷͱ͜Ζʹ7VFKTΛϚϯτ Ծʹίί͕όάͬͯϖʔδͷதͷ ଞͷػೳ͕མͪͳ͍ͷͰ͋ΔఔӨڹΛہॴԽͰ͖Δ Ѽઌ Ѽઌ̍ ϑΝΠϧ໊
ͦͷ̎ɿࢠίϯϙʔωϯτͷཻʹ͍ͭͯ (P SFWFM 1BHF"WVF 1BHF#WVF 1BHF$WVF 8FCQBDL ࢠ ࢠ ࢠ
ࢠ ࢠ ࢠ ͜͜ͷʜʜ
ͦͷ̎ɿࢠίϯϙʔωϯτͷཻʹ͍ͭͯ (P SFWFM 1BHF"WVF 1BHF#WVF 1BHF$WVF 8FCQBDL ࢠ ࢠ ࢠ
ࢠ ࢠ ࢠ ͜͜ʂ
ͦͷ̎ɿࢠίϯϙʔωϯτͷཻʹ͍ͭͯ ڞ௨Խ͠ͳ͍ʢڧ͍৺Λͭʣ 'BU$PNQPOFOUΛڐ༰͢Δ
ͦͷ̎ɿࢠίϯϙʔωϯτͷཻʹ͍ͭͯ ࠓͷઃܭը໘ͷҰ෦ʹ7VFKTΛϚϯτ ෦࠷దͷͷ͕ग़དྷ্͕ͬͯ͠·͏ݒ೦ औΓճ͍͢͠͠ίϯϙʔωϯτΛ࡞ΔͨΊʹ w ϖʔδ͝ͱʹίϯϙʔωϯτ͕ग़ἧͬͨλΠϛϯάͰΔ ˞ίϯϙʔωϯτͰऩ·ΔΑ͏ͳϨϕϧͰͩͬͨΒղͯ͠0, w ·ͨΨνͬͯڞ௨Խ࡞ۀΛߦ͏ඞཁ͋Γ ͦͷͨΊʹҰ࣌తͳ'BU$PNQPOFOUڐ༰͞ΕΔ͖
΄͔ʹ΄͔ʹ [JOEFYʹෛ͚ͳ͍μΠΞϩάͮ͘Γͩͱ͔ ˠͪ͜ΒલճͷࢿྉΛ͝ཡ͍ͩ͆͘͞ $44ͷઃܭͬͨΓͱ͔ ☝ίίΒΜؚΊͯ࠙ձͰ͝ҙݟͱ͔͍͚ͨͩΕ
·ͱΊ
·ͱΊ ͦͷ໊ͷ௨Γ7VFKT1SPHSFTTJWFʹಋೖͰ͖Δ ಓ͠Δͷͨͯํ͕େࣄ ϞμϯͳΠέΠέͳϓϥΫςΟεʹखΛ৳͢ͱ ͦͷཌྷΛম͔ΕΔ͜ͱʹͳΔͷͰؾΛ͚ͭͯ ཧղ্ͨ͠Ͱ͍͍ͱ͜ͲΓͰ͖ΔΑ͏ʹ͍ͬͯ͜͏
ͦ͏͍͑ʜʜ
ͦ͏͍͑ʜʜ
8FBSF)JSJOH
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Χϓʔʂ