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
730
JVM は Web フロントエンド開発の夢を見るか?
第 57 回情報科学若手の会(2024/9/14 @軽井沢研修所) での発表スライドです。
ちゅるり
September 14, 2024
Tweet
Share
More Decks by ちゅるり
See All by ちゅるり
絵文字を実行する
chururi
1
77
入門:JVM 〜5 分で完全に理解する JVM の仕組み〜
chururi
0
140
おえかきアプリを支える技術
chururi
0
350
あなたとKotlin, 今すぐはじめよう - UNTIL.LT #0x02
chururi
0
270
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Language of Interfaces
destraynor
154
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
The Pragmatic Product Professional
lauravandoore
32
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Statistics for Hackers
jakevdp
796
220k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
KATA
mclloyd
29
14k
Making Projects Easy
brettharned
116
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
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