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 ちゅるり
KdB もどきが xx なのでパフォーマンスを改善しました
chururi
0
69
絵文字を実行する
chururi
1
99
入門:JVM 〜5 分で完全に理解する JVM の仕組み〜
chururi
0
210
おえかきアプリを支える技術
chururi
0
410
あなたとKotlin, 今すぐはじめよう - UNTIL.LT #0x02
chururi
0
310
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
390
Building Applications with DynamoDB
mza
95
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fireside Chat
paigeccino
37
3.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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