Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20190122_vdom.pdf
ozaki25
January 22, 2019
Technology
0
36
20190122_vdom.pdf
ozaki25
January 22, 2019
Tweet
Share
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
42
20210525_react_next.pdf
ozaki25
0
29
Webフロントエンドはなぜ複雑なのか
ozaki25
1
45
utility first css
ozaki25
0
22
20201225_how_to_learn_technology.pdf
ozaki25
0
63
20201124_blitz.pdf
ozaki25
0
22
20200727_liff_app.pdf
ozaki25
1
410
20200721_web_vitals.pdf
ozaki25
0
30
20200624_web_otp_api.pdf
ozaki25
1
42
Other Decks in Technology
See All in Technology
読者のことを考えて書いてみよう / Write with your reader in mind
line_developers
PRO
3
350
srenext2022-skaru
mixi_engineers
1
510
Google Cloud Updates 2022/04/01 - 2022/04/15
no24oka
1
110
次期LTSに備えよ!AOS 6.1 HCI Core 編
smzksts
0
180
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
100
Nutanix_Meetup_20220511
keigotomomatsu
0
150
Unity Package Managerで自作パッケージを配布する方法
yunoda
0
160
Puny to Powerful PostgreSQL Rails Apps
andyatkinson
PRO
0
270
プルリク作ったらデプロイされる仕組み on ECS / SRE NEXT 2022
carta_engineering
1
150
プロダクション環境の信頼性を損ねず観測する技術
egmc
4
420
E2E自動テスト導入・運用をめぐる先入観と実際に起きたこと / Preconceptions and What Happened with E2E Testing
ak1210
1
220
TypeScript 4.7と型レベルプログラミング
uhyo
6
3.4k
Featured
See All Featured
Side Projects
sachag
449
37k
A better future with KSS
kneath
225
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
910
4 Signs Your Business is Dying
shpigford
169
20k
Thoughts on Productivity
jonyablonski
43
2.2k
The Art of Programming - Codeland 2020
erikaheidi
31
5.8k
Facilitating Awesome Meetings
lara
29
3.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
350
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
Adopting Sorbet at Scale
ufuk
63
7.5k
Raft: Consensus for Rubyists
vanstee
126
5.4k
It's Worth the Effort
3n
172
25k
Transcript
Ծ%0.ֵ໋
࣍ ࠓճ͢༰ Ծ%0.͕ඞཁͱ͞ΕΔഎܠͱྺ࢙ Ծ%0.ͷΈ ·ͱΊ
ࠓճ͢༰
ࠓճ͢༰ w 8&# %#13&447PMͷʮԾ%0. ֵ໋ʯͱ͍͏ίϥϜ͕ݩωλͰ͢ w ϕʔε্هίϥϜͰ͕͢ݴٴ͞Εͯͳ͍෦ ʹؔͯ͠ಠࣗͷݟղଟؚ͘Έ·͢ w ΦϦδφϧ͕ಡΈ͚ͨΕିͤΔͷͰֻ
͚͍ͯͩ͘͞ https://gihyo.jp/magazine/wdpress/archive/2018/vol106
Ծ%0.͕ඞཁͱ͞ΕΔഎܠͱྺ࢙
%0.ͷྺ࢙ᶃ ).5-ͷੜ ࠒ w ͱͱݚڀऀ͚ͷจΛॻͨ͘ΊʹΘΕ͍ͯͨ w λΠτϧ͕͋Γ UJUMF ɺݟग़͕͋͠Γ
I I ɺύϥά ϥϑ͕͋Γ Q w Πϯλʔωοτͷൃలʹͬͯ༻్͕͕͍ͬͯ͘
%0.ͷྺ࢙ᶄ %0. %PDVNFOU0CKFDU.PEFM ͷੜ w %0.ͱ w )5.-Λಈతʹ੍ޚ͢Δ"1*ͷ༷
w ඪ४Խஂମ8$ʹΑͬͯࡦఆ͞ΕΔ
%0.ͷྺ࢙ᶄ %0. %PDVNFOU0CKFDU.PEFM ͷੜ w %0.ͱ w )5.-Λಈతʹ੍ޚ͢Δ"1*ͷ༷
w ඪ४Խஂମ8$ʹΑͬͯࡦఆ͞ΕΔ +BWB4DSJQUʹΑͬͯ)5.-Λಈతʹ੍ޚͰ͖ΔΑ͏ʹͳΔ ಈతʹ੍ޚͰ͖ΔΑ͏ʹͳΔ ϖʔδભҠͤͣʹ)5.-Λॻ͑ΒΕΔ
Ծ%0.ొલᶃ "KBYֵ໋ ࠒ w (PPHMF.BQTͷֵ৽ੑ w ΞΫγϣϯʹԠͯ͡ಈతʹαʔόΞΫηε ͦͷϨεϙϯεʹԠͯ͡ϖʔδΛॻ͖͑Δ w
K2VFSZͷ࣌ w ϒϥβؒͷඇޓΛٵऩͯ͘͠ΕΔ w ࣌ϒϥβؒͷޓੑ͕͔ͬͨ͠
Ծ%0.ొલᶄ 8FCٕज़ͷधཁͷߴ·Γ w J1IPOFͷ'MBTIඇࡌܾఆ ˞ w ϦονϝσΟΞͷ࣮धཁ͕+BWB4DSJQUʹूத w /PEFKTOQNΤίγεςϜͷख़
ࠒʙ w +BWB4DSJQUͷݴޠతͳශऑ͞ΛΧόʔ w $P⒎FF4DSJQU #SPXTFSJGZ ※ https://www.apple.com/hotnews/thoughts-on-flash/
·ͱΊ w %0.ʹΑͬͯ)5.-ಈతͳͷʹ w 'MBTIͷସͱͯ͠+BWB4DSJQUͷཁٻ͕ෳࡶԽ w /PEFKTOQNʹΑΔΤίγεςϜͷख़ͱෳࡶԽ
Ծ%0.ԿΛղܾ͢Δͷ͔
ΫϥΠΞϯταΠυٕज़ͷ՝ w K2VFSZͷΑ͏ͳԾ%0.Ͱͳ͍ैདྷͷٕज़ͷ՝ w ن͕େ͖͘ෳࡶԽ͢ΔͱϝϯςࠔͰٕज़తෛ࠴ͱͳΔ ෳࡶͳཁٻʹ͑͏ΔΞʔΩςΫνϟ͕ඞཁ
ೖग़ྗͷΞτϛοΫੑ αʔόαΠυͷ߹ w ΞτϛοΫੑ͕͋Δ w ϦΫΤετϨεϙϯε㲈8FCϖʔδ w ಉ͡63-ʹΞΫηε͢Ε ಉ͡ϖʔδ͕දࣔ͞ΕΔ
αʔό Ϸμεφϕ(URL) ϹφϪЀφ(HTML) ϒϥβ ϹЀύϷЀν WebϧЄυ
ೖग़ྗͷΞτϛοΫੑ ΫϥΠΞϯταΠυͷ߹ w ΞτϛοΫੑ͕ͳ͍ w ϦΫΤετϨεϙϯε㱠8FCϖʔδ w αʔόαΠυͰੜͨ͠)5.-ॳظঢ় ଶʹ͗͢ͳ͍ w
%0.ૢ࡞ʹΑΓ͋ΒΏΔঢ়ଶॻ͖ ͑ΒΕಘΔ αʔό Ϸμεφϕ(URL) ϹφϪЀφ(HTML) ϒϥβ ϹЀύϷЀν WebϧЄυ DOM 䨗䟵͞ DOM 䨗䟵͞ WebϧЄυ WebϧЄυ
ΫϥΠΞϯταΠυʹΞτϛοΫੑΛ "TJT w ΫϥΠΞϯταΠυ༷ʑͳཁ ҼͰঢ়ଶ͕มΘΔ w ϘλϯΛΫϦοΫͨ͠Βʙɺ "KBYͰσʔλΛऔಘͨ͠Βʙ w ঢ়ଶ͕มΘΔʹ%0.ͷ্ॻ
͖͕ܧ͗͞Ε͍ͯ͘ 5PCF w ঢ়ଶ͕ߋ৽͞ΕΔʹঢ়ଶʹଈ ͨ͠Ұҙͳ7JFXΛग़ྗ͍ͨ͠ w ʮೖྗʹج͍ͮͨঢ়ଶܾఆͷΞ τϛοΫੑʯΛखʹೖΕ͍ͨ
ΫϥΠΞϯταΠυͷΞτϛοΫੑ༗ແͷྫ ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ Ճ Hello Ճ Hello Hello ΫϦοΫ
μϷϐμͫ͵ͩ;Ψ䭥ᎣͭͼᥝᔰΨ᭄ےͯΡ ίϕϬϐμ͚͢ ίϕϬϐμ͘͢Ρ Ճ Hello Ճ Hello Hello ΫϦοΫ \DPVOU^ ˣ \DPVOU^ μϷϐμͫ͵Οᇫ䙪ΨๅෛͯΡ ᇫ䙪ΨزኮᶎΨ䯤塈ͭൈኮͯΡ ᇫ䙪
ΫϥΠΞϯταΠυͷΞτϛοΫੑ༗ແͷྫ ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ Ճ Hello Ճ Hello Hello ΫϦοΫ
μϷϐμͫ͵ͩ;Ψ䭥ᎣͭͼᥝᔰΨ᭄ےͯΡ ίϕϬϐμ͚͢ ίϕϬϐμ͘͢Ρ Ճ Hello Ճ Hello Hello ΫϦοΫ \DPVOU^ ˣ \DPVOU^ μϷϐμͫ͵Οᇫ䙪ΨๅෛͯΡ ᇫ䙪ΨزኮᶎΨ䯤塈ͭൈኮͯΡ ᇫ䙪 ඳը༰ͷܧ͗͠Ͱͳ͘ ঢ়ଶΛݩʹશମΛ࠶ߏங͢Δ
ΫϥΠΞϯταΠυͷΞτϛοΫੑ༗ແͷྫ ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ Ճ Hello Ճ Hello Hello ΫϦοΫ
μϷϐμͫ͵ΟᥝᔰΨ᭄ےͯΡ ίϕϬϐμ͚͢ ίϕϬϐμ͘͢Ρ Ճ Hello Ճ Hello Hello ΫϦοΫ \DPVOU^ ˣ \DPVOU^ μϷϐμͫ͵Οᇫ䙪ΨๅෛͯΡ ᇫ䙪ΨزኮᶎΨ䯤塈ͭൈኮͯΡ ঢ়ଶΛ֬ఆ͢Δεςοϓͱ )5.-Λߋ৽͢Δεςοϓ͕ ໌֬ʹ͞ΕΔ ඳը༰ͷܧ͗͠Ͱͳ͘ ঢ়ଶΛݩʹશମΛ࠶ߏங͢Δ
ΫϥΠΞϯταΠυͷΞτϛοΫੑ༗ແͷྫ ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ Ճ Hello Ճ Hello Hello ΫϦοΫ
μϷϐμͫ͵ΟᥝᔰΨ᭄ےͯΡ ίϕϬϐμ͚͢ ίϕϬϐμ͘͢Ρ Ճ Hello Ճ Hello Hello ΫϦοΫ \DPVOU^ ˣ \DPVOU^ μϷϐμͫ͵Οᇫ䙪ΨๅෛͯΡ ᇫ䙪ΨزኮᶎΨ䯤塈ͭൈኮͯΡ ͜ΕΛ࣮ݱ͢ΔͨΊʹ ͔ܽͤͳ͍ͳٕज़͕Ծ%0.
ΞτϛοΫੑ͕͋ΔͱԿ͕͍͍ͷ͔ ۀͰ͖Δ w ϓϩάϥϚʔͷؔ৺ঢ়ଶཧ w σβΠφʔͷؔ৺ೖྗΛݩʹͨ͠ग़ྗ ϝϯςφϏϦςΟ্ w 7JFXͷ࠶ݱੑ͕୲อ͞ΕΔͷͰཧ͍͢͠ w
7JFX͕Γ͞ΕΔͷͰঢ়ଶཧͷςετ͕͍͢͠
Ծ%0.ͷΈ
ͳͥԾ%0.͕ඞཁ͔ w ΞτϛοΫੑ͕͋ΔΞʔΩςΫνϟ w ঢ়ଶΛͱʹը໘શମΛ࠶ߏங͢Δ w ը໘શମͷॻ͖͑ίετ͕ߴ͘ϢʔβϏϦςΟଛͳ͏ Ծ%0.Λ͏͜ͱͰ͜ͷ͕ղফ͞ΕΔ
Ծ%0.ͱ3FBM%0. 3FBM%0. w ը໘ʹඳը͞Ε͍ͯΔ%0.π Ϧʔͷ͜ͱ Ծ%0. ڱٛ
w 3FBM%0.ͱͰରԠ͢Δߏ ମͰϝϞϦ্ʹอ͍࣋ͯ͠Δ 9 : ; 9 : ;
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW CVUUPO
)FMMP EJW
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW CVUUPO
)FMMP EJW ΫϦοΫ
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ ˣ \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP
EJW CVUUPO )FMMP EJW ΫϦοΫ ঢ়ଶΛߋ৽
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW CVUUPO
)FMMP EJW before CVUUPO )FMMP EJW )FMMP ߋ৽ޙͷঢ়ଶΛݩʹ Ծ%0.Λ࠶ߏங after
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW CVUUPO
)FMMP EJW before CVUUPO )FMMP EJW )FMMP after ࠩΛൺֱ͢Δ
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW before
CVUUPO )FMMP EJW )FMMP after ࠩΛ3FBM%0.ʹ өͤ͞Δ CVUUPO )FMMP EJW )FMMP
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW )FMMP
CVUUPO )FMMP EJW )FMMP ߋ৽ྃ
Ծ%0.ͷΞϧΰϦζϜ RealDOM 㫪మDOM \DPVOU^ w ϘλϯΛΫϦοΫ͢Δͱཁૉ͕૿͑Δαϯϓϧ CVUUPO )FMMP EJW )FMMP
CVUUPO )FMMP EJW )FMMP 3FBM%0.ͷߋ৽࠷খݶͳͷͰॻ͑ͷίετ࠷খݶ
Ծ%0.Λ༻͍ͨϑϨʔϜϫʔΫ w 3FBDU͕ઌۦ͚తͳϑϨʔϜϫʔΫͰ͋Δ w ࠷ۙͷ41"ϑϨʔϜϫʔΫͲΕԾ%0.Λ࠾༻͍ͯ͠Δ w ˞Ծ%0.ͷΞϧΰϦζϜͷ͜ͱΛ୯ʹԾ%0. ٛ
ͱ͍͏ ͜ͱ͋Δ
·ͱΊ
·ͱΊ w ΫϥΠΞϯταΠυͷཁٻෳࡶԽ͖͍ͯͯ͠Δ w 'MBTIͷସͱͯ͠ͷ+BWB4DSJQU w ෳࡶͳཁٻΛܧଓతʹຬ͍ͨͯ͘͠ඞཁ͕͋Δ w ΞτϛοΫੑͷ͋ΔΞʔΩςΫνϟ͕ඞཁ w
Ծ%0.Λ༻͍Δ͜ͱͰ͜ΕΒͷཁٻΛຬͨ͢͜ͱ͕Ͱ͖Δ
ิ w ίϥϜશষͰ͕ͨ͠ࠓճͨ͠ͷষʙষͰ͢ w ষʹΫϥΠΞϯταΠυ.7$͔Β'MVYͷมભͷ w ষʹ8FCҎ֎ͷԾ%0.ͷద༻ͷ͕ॻ͍ͯ͋Γ·͢
͋Γ͕ͱ͏͍͟͝·ͨ͠