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
JVM は Web フロントエンド開発の夢を見るか?
Search
ちゅるり
September 14, 2024
0
1.2k
JVM は Web フロントエンド開発の夢を見るか?
第 57 回情報科学若手の会(2024/9/14 @軽井沢研修所) での発表スライドです。
ちゅるり
September 14, 2024
Tweet
Share
More Decks by ちゅるり
See All by ちゅるり
絵文字を実行する
chururi
1
93
入門:JVM 〜5 分で完全に理解する JVM の仕組み〜
chururi
0
170
おえかきアプリを支える技術
chururi
0
390
あなたとKotlin, 今すぐはじめよう - UNTIL.LT #0x02
chururi
0
300
Featured
See All Featured
Statistics for Hackers
jakevdp
798
220k
Rails Girls Zürich Keynote
gr2m
94
13k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
It's Worth the Effort
3n
184
28k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
Building Applications with DynamoDB
mza
94
6.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
550
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
थ +7. 8FCϑϩϯτΤϯυ ։ൃͷເΛݟΔ͔ʁ ୈ ճ ใՊֶएखͷձ ʙ
ஜେֶ ใϝσΟΞֶྨ
ࣗݾհ ୈ ճ ใՊֶएखͷձ d थʢ/PNBLJ *UTVSVʣ
DIVSVSJ@ JUTVEFW • ஜେֶ • ใϝσΟΞֶྨ • ਆಸݝḟࢠࢢੜ·Ε ಢݝখࢁࢢҭͪ • 8FCͱݴޠॲཧܥʹؔ৺ • ֆจࣈϓϩάϥϛϯάݴޠ FNPKJO • +7.PO5ZQF4DSJQU 👀
͜Ε͔Β͢͜ͱ • 8FCϑϩϯτΤϯυ։ൃʹ +7.ʢ+BWBͷॲཧܥʣͷ ΈΛऔΓೖΕΒͳ͍͔ͱ͍͏ • ࣮ʹ͍ͭͯ ୈ ճ
ใՊֶएखͷձ d *U`TB$SFEFOUJBM ͜ͷϚʔΫ͕͋ΔεϥΠυ ࠜװʹؔΘΔ෦ͷͨΊɺࡱӨΛ ߇͍͚͑ͯͨͩΔͱॿ͔Γ·͢ 🙏
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
എܠ ୈ ճ ใՊֶएखͷձ d 8FCϑϩϯτΤϯυͷ։ൃݴޠͷओྲྀ 5ZQF4DSJQU ੩తܕ͚Ͱ͋Δʹ͔͔ΘΒͣ
ίϯύΠϧ͢Δͱܕͷใܽམͯ͠͠·͏ʂ
എܠ • Ϣʔβೖྗαʔό͔Βಘͨσʔλ৴པ͖͠Εͳ͍ • ֎෦ͷ "1*Λݺͼग़ͨ͠ࡍɺϨεϙϯεͷεΩʔϚ͕มԽͨ͠Γʜ ୈ ճ ใՊֶएखͷձ
d 5ZQF4DSJQU্Ͱͷ ܕఆٛ ຊདྷೖΔ͖σʔλ ޡͬͯೖͬͨσʔλ 🤔
എܠ • Ϣʔβೖྗαʔό͔Βಘͨσʔλ৴པ͖͠Εͳ͍ • ֎෦ͷ "1*Λݺͼग़ͨ͠ࡍɺϨεϙϯεͷεΩʔϚ͕มԽͨ͠Γʜ ୈ ճ ใՊֶएखͷձ
d ༩͑ΔσʔλͷܕʹΑͬͯڍಈ͕มԽ͢Δྫ ʢ+BWB4DSJQUʣ Τϥʔʹ ͳΒͳ͍ʂ όάͷͱ
എܠ • ͔ͱ͍ͬͯਵॴʹܕݕࠪͷͨΊͷίʔυΛૠೖ͢Δͷ • ϩδοΫͷूதΛࠔʹ͢Δ • [PE ͳͲͷόϦσʔγϣϯϥΠϒϥϦͷ׆༻ʁ • ίʔυશମ͕ϥΠϒϥϦͷӨڹΛڧ͘ड͚ΔͨΊେنͳ
ιϑτΣΞͩͱอक͕ࠔʹͳͬͯ͠·͏ ୈ ճ ใՊֶएखͷձ d 5ZQF4DSJQUͰखଓ͖తʹܕΛݕࠪ͢Δྫ ΦϒδΣΫτʹରͯ͠ UZQFPG ԋࢉࢠΛద༻͢Δྫ
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
Ξϓϩʔνɿಛͷཧ • ಛͷൺֱ • ࣮ߦ࣌ʹܕΛอ࣋͢Δ͜ͱʹΑΔར ୈ ճ ใՊֶएखͷձ d
ಛੑ +BWBͳͲ 5ZQF4DSJQU ܕνΣοΫͷλΠϛϯά ίϯύΠϧ࣌ʴ࣮ߦ࣌ ओʹίϯύΠϧ࣌ ܕใͷอ࣋ ࣮ߦ࣌ʹอ࣋ ͳ͠ ಛੑ +BWBͳͲ 5ZQF4DSJQU ࣮ߦ࣌ͷܕݕূ ͋Γʢcheckcast ໋ྩͳͲʣ ͳ͠ʢܕ͕ফڈ͞ΕΔʣ ಈతϞδϡʔϧϩʔυ ҆શʢ࣮ߦ࣌ʹܕ͕ݕূ͞ΕΔʣ ҆શͰͳ͍ ϓϩτλΠϓԚછ͕ൃੜͯ͠ ͦͷݕग़͍͠ ྫ֎ʹΑΓ࣍ͷ໋ྩͷ ࣮ߦ੍͕͞ΕΔ ະఆٛಈ࡞͕ ൃੜ͠͏Δ
Ξϓϩʔνɿͳͥ +BWB͔ʁ • ෭࢈తͳԸܙ͕ಘ͍͢ • αʔόଆͱͷ։ൃݴޠͷڞ௨Խ • 4QSJOH#PPUͳͲͱͷ *'ͷڞ༗ •
։ൃݴޠͷଟ༷ੑͷ֬อ • +7.্Ͱಈ͘ݴޠͳΒԿͰ 8FCϑϩϯτΤϯυ։ൃʹ༻ՄೳͱͳΔ • ,PUMJO 4DBMB ʜ • ৽͍͠ϓϩάϥϛϯάύϥμΠϜͷൃੜʜʁ • +BWBͷࢿ࢈ͷ׆༻ • ଟछଟ༷ͳϥΠϒϥϦ͕ͦͷ··ಈ͘ʢ͜ͱ͕ඪʣ ୈ ճ ใՊֶएखͷձ d ,PUMJOͰͷ෦ %4- 4DBMB ͰͷؔܕύϥμΠϜ ✅ ✅ ✅ ະվมʂ
Ξϓϩʔνɿํ • 8FC"TTFNCMZʢ3VTUʣʹΑΔ +7.ͷ࣮ • ωΠςΟϒʹ͍࣮ۙߦ • ωΠςΟϒϝιουΛ௨ͨ͠ 8FC"1* ͷఏڙ
• +BWBଆ͔Βͷ 8FC ։ൃΛαϙʔτ ୈ ճ ใՊֶएखͷձ d ✅ ✅
Ξϓϩʔνɿશମਤ ୈ ճ ใՊֶएखͷձ d +BWB7JSUVBM.BDIJOF ʢ#+7.ʣ +BWB4DSJQU&OHJOF
+BWBΞϓϦέʔγϣϯ +BWBΫϥεϑΝΠϧ ʢ+BSϑΝΠϧʣ 8FCϒϥβ ΤϯδχΞ ։ൃ ։ൃ όοΫΤϯυ ಉҰͷݴޠ͔Β %0.Λѻ͑Δ ࣮ߦ࣌ͷܕݕࠪ +7.্Ͱಈ͘ݴޠͳΒԿͰ ʢ+BWB,PUMJO4DBMB ʜʣ όοΫΤϯυͱڞ௨ͷݴޠͰ ։ൃՄೳʢ૬ޓӡ༻ੑʣ
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
࣮ɿ֓ཁ • +BWBͷ༷ʹ४ڌʢ͢ΔΑ͏ʹ࣮தʣ • ։ൃݴޠ • 3VTU • ʢ5ZQF4DSJQUʣ •
ʢ3FBDUʣ ୈ ճ ใՊֶएखͷձ d ະվมͷ +3&͕ ͦͷ··ಈ͍͍ͯΔ ࣗ࡞ͷσόοΨ্Ͱ +7. ͕ ಈ࡞͍ͯ͠Δ༷ࢠ
࣮ɿωΠςΟϒϝιου • ωΠςΟϒϝιουͷ࣮ߦ • 3VTUͰ࣮͞ΕͨؔΛ୳͠ʹߦ͘ • ͳ͚Εɺ5ZQF4DSJQUͰ࣮͞ΕͨؔΛ୳͢ • 8BTN ⁶
5ZQF4DSJQUͷσʔλͷ૬ޓӡ༻հ • NJOJTFSEF ΫϨʔτͷ׆༻ • 8BTN ڥͰͷ )BTI.BQͷγϦΞϥΠζʹରԠ͍ͯ͠Δ ୈ ճ ใՊֶएखͷձ d TFSEFKTPOXBTN Ͱ )BTI.BQ ͕͑ͳ͍ ྫ͑ )BTI.BQ ΓऔΓͰ͖ͳ͍
࣮ɿϓϩάϥϜͷهड़ྫ ୈ ճ ใՊֶएखͷձ d ඪ४ϥΠϒϥϦ %0. Λಈ࡞͢Δ
ϓϩάϥϜ invokedynamic ໋ྩʹ ະରԠͷͨΊϥϜμ͕ࣜ ॻ͚ͳ͍
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
ࠓޙͷలɿ($ • 8FCͰίʔϧόοΫ͕ؔ POFTIPUͰ ࣮ߦ͞Ε͕ͪ • ͜ͷಛੑΛ׆͔ͯ͠ΑΓܰྔͳ ($ ($ϨεΛ࣮ݱͰ͖ͳ͍͔ʁ •
ྫɿΠϕϯτϦεφͷؔϑϨʔϜʹখ͞ͳώʔϓΛ༻ҙ͠ ͦ͜ʹΦϒδΣΫτΛ֨ೲ͢ΔͳͲ • ͕ɺ֤ΦϒδΣΫτͷϥΠϑλΠϜ͕ෆ໌ͳͷͰϝϞϦͷ֬อઌ͕ ܾఆͰ͖ͳ͍ • ࣮ߦ࣌ͷಈతͳϑϩʔղੳʁ ୈ ճ ใՊֶएखͷձ d
ࠓޙͷలɿϚϧνεϨου • 8FC"TTFNCMZ ্Ͱಈ࡞͢Δݴޠॲཧܥͱͯ͠ɺͲͷΑ͏ʹ ϚϧνεϨουΛ࣮ݱ͢Δ͔ʁ • 3VTUͷ DSBUFʹͤΔʁXBTNNUʁ • ಠࣗͷԾతͳεϨουํࣜʁ
• XBTJUISFBETΛͭʁ ୈ ճ ใՊֶएखͷձ d
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
݁ • 8FCϑϩϯτΤϯυ։ൃͰ +BWBͷٕज़Λར༻͢Δͱʜ • ϓϩάϥϜ࣌ʹҙࣝͤͣͱɺࣗવʹಈతͳܕݕ͕࣮ࠪݱͰ͖Δ • ϒϥβ্Ͱ +7.͕ಈ͘͜ͱʹΑͬͯɺ༷ʑͳ +BWBϥΠϒϥϦΛ
ະվมͷ··։ൃʹ༻Ͱ͖Δ • +BWBΛ͡Ίͱͨ͠ +7.্Ͱಈ༷͘ʑͳݴޠΛ։ൃʹར༻Ͱ͖Δ • όοΫΤϯυͱͷ૬ޓӡ༻ੑͷ্ • ݴޠॲཧܥΛ࡞Δͷָ͍͠ʂ • ࣗ࡞ͷॲཧܥ͕ు͍ͨΤϥʔʹౖΒΕΔͷɺؾ͕͍͍࣋ͪ • ײಈͰ͖Δʂ ୈ ճ ใՊֶएखͷձ d
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ୈ ճ ใՊֶएखͷձ d