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.3k
JVM は Web フロントエンド開発の夢を見るか?
第 57 回情報科学若手の会(2024/9/14 @軽井沢研修所) での発表スライドです。
ちゅるり
September 14, 2024
Tweet
Share
More Decks by ちゅるり
See All by ちゅるり
KdB もどきが xx なのでパフォーマンスを改善しました
chururi
0
69
絵文字を実行する
chururi
1
110
入門:JVM 〜5 分で完全に理解する JVM の仕組み〜
chururi
0
210
おえかきアプリを支える技術
chururi
0
410
あなたとKotlin, 今すぐはじめよう - UNTIL.LT #0x02
chururi
0
320
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
For a Future-Friendly Web
brad_frost
179
9.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
4 Signs Your Business is Dying
shpigford
184
22k
The Cult of Friendly URLs
andyhume
79
6.5k
Visualization
eitanlees
146
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
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