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
React は次の10年を生き残れるか:3つのトレンドから考える
Search
Yuka O’oka
July 18, 2025
Programming
42
17k
React は次の10年を生き残れるか:3つのトレンドから考える
React Tokyo ミートアップ #7 のメイントークのスライド。
https://react-tokyo.connpass.com/event/358171/
Yuka O’oka
July 18, 2025
Tweet
Share
More Decks by Yuka O’oka
See All by Yuka O’oka
React 使いじゃなくても知っておきたい教養としての React
oukayuka
19
6k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
1.1k
Reactのトレンドよくわからん
oukayuka
15
9.4k
とある個人開発 PWA の SEO 奮戦記
oukayuka
8
2.9k
Recomposeとは何だったのか、またはHooksが開けたパンドラの箱についての考察 / Recompose Funeral March
oukayuka
3
5.8k
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
oukayuka
0
340
Other Decks in Programming
See All in Programming
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
230
AWS発のAIエディタKiroを使ってみた
iriikeita
1
130
奥深くて厄介な「改行」と仲良くなる20分
oguemon
0
110
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
tool ディレクティブを導入してみた感想
sgash708
1
160
AI時代に学習する意味はあるのか?
tomoyakamaji
0
110
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
150
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
3
340
rage against annotate_predecessor
junk0612
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
280
速いWebフレームワークを作る
yusukebe
3
1.2k
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
620
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Into the Great Unknown - MozCon
thekraken
40
2k
What's in a price? How to price your products and services
michaelherold
246
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1.1k
Become a Pro
speakerdeck
PRO
29
5.5k
It's Worth the Effort
3n
187
28k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
For a Future-Friendly Web
brad_frost
179
9.9k
Transcript
େԬ༝Ղʢ͘ΔΈׂΓॻʣ 3FBDU࣍ͷΛ ੜ͖ΕΔ͔ ͭͷτϨϯυ͔Βߟ͑Δ
ݱࡏɺ3FBDUͷμϯϩʔυͿͬͪ͗Γ npm trends, Jul. 2025
+4։ൃऀʹΑΔγΣΞͰҎ্τοϓΛҡ࣋ State of JavaScript 2024: Front-end Frameworks
͜ͷҐ͜Ε͔Βઌ൫ੴ͔ 🔹ʮࣄຐଟ͠ʢ͜͏͡·͓͓͠ʣʯ ҙຯɿࣄ͕͏·͍͍ͬͯ͘Δͱ͖΄ͲɺࢥΘ͵ࡂ͍͕͛ ى͜Γ͍͢ɻ 🔹ʮཅۃ·ΕӄʹసͣʢΑ͏͖Θ·Ε͍ΜʹͯΜͣʣʯ ҙຯɿࣄ͕ۃͳঢ়ଶʹୡ͢Δͱɺͦͷస͕ى͜Δͱ͍͏ ͜ͱɻ౦༸ࢥʹ͓͚Δӄཅʹج͍ͮͨݴ༿ɻ
ຊͷςʔϚ 3FBDU͕όʔδϣϯͱͯ͠ॳΊͯެ։͞Εͨͷ݄ɻ ʮʹҰݱΕΔήʔϜνΣϯδϟʔʯͱݴΘΕͭͭɺొ͔Β͏ɻ ϑϩϯτΤϯυϑϨʔϜϫʔΫͱͯ͠ѹతͳγΣΞΛތΔ3FBDU͕ͩɺ ͦ͜ʹͳ͍ͷ͔ɻ 3FBDU͕ਐΜͰ͍Δํਖ਼͍͠ͷ͔ʁɹ Βͳ͍ʹτϨϯυ͔ΒऔΓ͞Ε͍ͯͳ͍͔ʁ ͦΕΛߟ͍͖͍ͯͨ͠ɻ
ࣗݾհ େԬ༝Ղ !PVLBZVLB ৽ਓͱઌഐͷରܗࣜͰΘ͔Γֶ͘͢Δ 3FBDUڭຊʰΓ͋ΫτʂʱγϦʔζͷ࡞ऀɻ ݱͷΤϯδχΞͷޱίϛͰධΛݺͼɺ γϦʔζྦྷܭച্ສઍ෦Λಥഁʂ ࠷৽3FBDU ʹରԠɺ3FBDU3PVUFS
/FYUKTʹΑΔ࡞ྫΛ๛ʹܝࡌͨ͠ վగ ൛ΛʹϦϦʔεɻ IUUQTPVLBZVLBCPPUIQN Ͱൢചதʂ ˞3FBDU5PLZP ϝϯόʔʹߍਖ਼ʹ͝ڠྗ͍͖ͨͩ·ͨ͠ 🙇 ങͬͯͶ ͓͓ ͓͔Ώɹ͔
ࠓ͜ΜͳηογϣϯΓ·͢ IUUQTXBLFDBSFFSDPOOQBTTDPNFWFOU
KTGSBNFXPSLCFODINBSLΛ͝ଘͰ͔͢ʁ IUUQTHJUIVCDPNLSBVTFTUKTGSBNFXPSLCFODINBSL ͜Εෳͷ+BWB4DSJQUϑϨʔϜϫʔΫʢछ ྨʣΛରͱͨ͠γϯϓϧͳϕϯνϚʔΫͰ͢ɻ͜ͷ ϕϯνϚʔΫͰɺϥϯμϜԽ͞ΕͨΤϯτϦΛؚΉ େ͖ͳςʔϒϧʢ ߦʣΛ࡞͠ɺϨϯμϦϯά ࣌ؒΛؚΉ༷ʑͳૢ࡞ʹ͔͔Δ࣌ؒΛଌఆ͠·͢ɻ
ϦΞΫςΟϏςΟͷύϑΥʔϚϯε ⋮
ϝϞϦޮ ⋮
సૹαΠζ
݁ɿ 3FBDUͷύϑΥʔϚϯε ओཁϑϨʔϜϫʔΫͷதͰ ΄΅ ࠷ԼҐ ͷ෦ྨ
ଞͷϑϨʔϜϫʔΫͷؒͰ͕͍ͬͯΔτϨϯυ͔Β3FBDU͕औΓ͞Ε͍ͯΔɻ 3FBDUͷΞʔΩςΫνϟެ։ֵ࣌৽తͰɺଞͷϑϨʔϜϫʔΫ͕ͧͬͯ͜ ਵͨ͠ɻ ͔ͦ͠͠ͷޙͷ3FBDUҎ֎͔Βੜ·ΕͨΠϊϕʔγϣϯ͕ଞͷϑϨʔϜϫʔΫʹ ·Δ͍ͬΆ͏ɺ3FBDUͦΕʹਵͤͣզ͕ಓΛาΜͰ͍ΔͨΊɺޙൃʹͲΜ ͲΜൈ͔Εͯݱࡏͷϙδγϣϯʹ·Ͱసམͨ͠ɻ ͳͥͳͷ͔ʁ
ͻͱͭΊͷτϨϯυ 4JHOBMT ʢ'JOF(SBJOFE3FBDUJWJUZʣ
Ծ%0.͍ʁ wԾ%0.πϦʔͷอ࣋ϝϞϦ༻ྔΛ૿Ճͤ͞Δ wॳճϨϯμϦϯά࣌ͷπϦʔߏஙɺ࠶ϨϯμϦϯά࣌ͷࠩݕग़ͷܭࢉίετ
4PMJE+4͕ൃ໌ͨ͠4JHOBMTͱ wίϯϙʔωϯτͷ࠶ϨϯμϦϯάΛཁͣ͞ɺ6*ΛϐϯϙΠϯτͰมߋ͢Δ wͷมߋ͕ଈ࠲ʹ6*ʹө͞ΕΔ wґଘͷ͕શࣗಈʢ˞3FBDUͷΑ͏ͳґଘྻͷઃఆ͕ෆඞཁʣ wuseStateɺuseEffectϥΠΫͳΠϯλʔϑΣʔε Ծ%0.Λ༻͍ͣɺ͖Ίࡉ͔ͳϦΞΫςΟϏςΟΛ࣮ݱ͢Δ͘͠Έ (fine-grained)
!QSFBDUTJHOBMT
4JHOBMTͷ։ൃऀମݧͷΑ͞ w࠶ϨϯμϦϯάͷ݅ɺґଘྻɺϝϞԽͷ͔ٞΒ։์͞ΕΔ wʮίϯϙʔωϯτͷதͰͷΈ༻Մʯʮ੍ޚߏจͷதͰ༻ෆՄʯ ͷΑ͏ͳ3VMFTPG)PPLTʹറΒΕͳ͍ wίϯϙʔωϯτͷதͰ֎Ͱؔͳ͑͘ΔͷͰɺάϩʔόϧͳ ঢ়ଶཧʹར༻Ͱ͖Δ
3FBDUҎ֎4JHOBMTΛಋೖࡁΈʗಋೖ༧ఆ w 1SFBDUʢ݄ɺ!QSFBDUTJHOBMTʣ w 2XJLWʢ݄ʣ w "OHVMBSWʢ݄ʣ w -JUʢ݄ɺ!MJUMBCTTJHOBMTʣ w
4WFMUFWʢ݄ʣ w 7VFKT7BQPS.PEFʢ։ൃதʣ
3FBDUͲ͏ͳͷʁ wٞఏى͞Ε͍ͯΔ͕ɺ·ͩԿਐల͍ͯ͠Ͱͳ͍ w3FBDU$PNQJMFSʹྗ͍ͯ͠ΔͨΊɺۙͰಋೖͦ͠͏ʹͳ͍ w!QSFBDUTJHOBMTSFBDU͕͍͓ͪ͏͑Δ͕ʜʜ
;ͨͭΊͷτϨϯυ ;FSP3VOUJNF
ͳͥ͜Μͳʹ͕ࠩ͋Δͷ͔ʁ
3FBDUͷసૹαΠζ͕େ͖͍ཧ༝ w࠷ॳʹେྔͷϥϯλΠϜίʔυΛؙ͝ͱૹΔઃܭ wԾ%0.ߏங͓Αͼࠩݕग़γεςϜɺεέδϡʔϥͳͲ ࠷ݶͷಈ࡞ʹඞཁͳίʔυ͕ඇৗʹଟ͍ wޙํޓੑΛ༏ઌͯ͠ɺաڈͷ"1*ʹґଘͨ͠ϨΨγʔͳίʔυΛ ࣺ͖ͯΕ͍ͯͳ͍
4WFMUFίϯύΠϥ wϏϧυ࣌ʹ4WFMUFίϯϙʔωϯτΛ७ਮͳ+BWB4DSJQUʹม wϑϨʔϜϫʔΫݻ༗ͷϥϯλΠϜίʔυΛ΄ͱΜͲؚ·ͳ͍
4WFMUFΞϓϩʔνͷਵऀ w4PMJE+4 w2XJL w7VFKT7BQPS.PEFʢ։ൃதʣ ˞ίϯύΠϧ͢Δ͕ɺ࠷খݶͷϥϯλΠϜΛอ࣋
3FBDUͲ͏ͳͷʁ wͦΕ͔ΒԿͷԻࠫଡͳ͍ͷͰɺࠓޙಋೖ͞ΕΔ͜ͱͳͦ͞͏ wͰͳ͚ΕࣗಈϝϞԽπʔϧʹʮ3FBDU$PNQJMFSʯͱ͍͏ ໊લ͚ͭͳ͍ΑͶʜ w)PPLTϦϦʔεޙ͜Μͳ͜ͱݴ͍ͬͯͨ
ΈͬͭΊͷτϨϯυ ;FSP+BWB4DSJQU
;FSP+BWB4DSJQUΛചΓʹ͢ΔϑϨʔϜϫʔΫ
ʮ;FSP+BWB4DSJQUʯͱɺϒϥβʹૹ৴͞ΕΔ+BWB4DSJQUίʔυ͕ σϑΥϧτͰθϩͱ͍͏͜ͱɻͦͷඞཁ͕ͳ͍ͷʹ+BWB4DSJQUίʔυΛ ૹΓ͚ͭͯ)ZESBUJPO͠ͳ͍ɻ ϖʔδαʔόͰϨϯμϦϯά͞Εɺ੩తͳ)5.-ͱ$44͚͕ͩಧ͘ɻ +BWB4DSJQU͕ඞཁͳγʔϯͰɺ։ൃऀ͕໌ࣔతʹΦϓτΠϯͨ͠෦ ͚ͩΛݸผʹ৴͢Δʢ˞ޙड़ʣ +4ϑϨʔϜϫʔΫͰ+4Λθϩʹ͢Δͱʁ
*TMBOET"SDIJUFDUVSF ੩తͳίϯϙʔωϯτ܈ͷதʹɺಈతͳཁૉ ΛؚΉίϯϙʔωϯτΛͦ͜ʹු͔Ϳʮౡʯ ͱͯ͠ಠཱͤ͞ɺݸผʹඞཁͳ)ZESBUJPO Λߦ͏ઃܭύλʔϯɻ ৴ɾ࣮ߦ͞ΕΔ+BWB4DSJQU͕খ͍ͨ͞Ίɺ ίϯςϯπओಋܕͷαΠτʹ͓͍ͯѹత ͳύϑΥʔϚϯεΛൃش͢Δɻ
2XJL 3FTVNBCMFͱʁ ॳظϩʔυ࣌L#΄ͲͷϥϯλΠϜ͚ͩΛμϯϩʔυɻϢʔβʔૢ࡞͕ى ͖ͨॠؒʹ͚ͩඞཁίʔυΛऔΓدͤͯॲཧΛ࠶։͢Δٕज़ɻ )ZESBUJPOΛશʹഉআɻཁૉΛΫϦοΫͨ͠ͱ͖ͳͲʹɺνϟϯΫԽ͞Εͨ ࠷খݶͷ+BWB4DSJQUίʔυ͕μϯϩʔυ͞Ε࣮ߦ͞ΕΔɻ ͋ΒΏΔλΠϓͷ8FCΞϓϦέʔγϣϯʹରԠͨ͠ɺΦʔόϔουΛۃݶʹ· Ͱ࠷খԽͰ͖ΔΞʔΩςΫνϟɻ
3FBDUͲ͏ͳͷʁ 4FMFDUJWF)ZESBUJPOʢඞཁͳ෦͔Βͷॱ࣍ϋΠυϨʔγϣϯʣɺ 4USFBNJOH)5.-ʢ)5.-Λׂɺॱ࣍ૹ৴ʣ3FBDUʹͯ ରԠࡁΈɻ ͦΕҎ্ͷ͜ͱϨΨγʔίʔυͱͷ݉Ͷ߹͍ɺ%9ͷѱӨڹ͕ ߟ͑ΒΕΔͨΊকདྷతͳಋೖͷՄೳੑɺ΄΅θϩͩΖ͏ɻ
3FBDUͷࠓޙ ύϑΥʔϚϯεͰѹతʹྼΔ3FBDU͕τοϓΛҡ࣋Ͱ͖͍ͯΔͷ ɺύϑΥʔϚϯεΑΓ%9Λ༏ઌͤ͞Δ͕࢟։ൃऀʹࢧ࣋͞Εͯ ͖ͨͨΊɻ ͔͠͠࠷ۙͷ3FBDU34$ͳͲɺෳࡶ͞Λ૿͠ͳ͕ΒҰൠͷ։ൃऀ ʹͱͬͯͷ%9্ʹԿΒߩݙ͠ͳ͍ٕज़ͷಋೖʹ݂ಓΛ্͛ͯ ͍Δɻ ύϑΥʔϚϯεͰѹ͢Δ৽ਐͷϑϨʔϜϫʔΫ͕%9Ͱ͍͍ͭ ͖ͯͨͱ͖ɺͨͯ͠3FBDUͷԦ࠲҆ହͰ͍ΒΕΔͷ͔ɻ
None