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
48
18k
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
21
6.3k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
1.2k
Reactのトレンドよくわからん
oukayuka
16
9.5k
とある個人開発 PWA の SEO 奮戦記
oukayuka
8
3k
Recomposeとは何だったのか、またはHooksが開けたパンドラの箱についての考察 / Recompose Funeral March
oukayuka
3
5.9k
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
oukayuka
0
350
Other Decks in Programming
See All in Programming
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
250
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
480
KoogではじめるAIエージェント開発
hiroaki404
1
270
CSC305 Lecture 14
javiergs
PRO
0
210
CSC509 Lecture 07
javiergs
PRO
0
250
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
910
CSC509 Lecture 09
javiergs
PRO
0
280
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
2
360
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
220
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
250
Register is more than clipboard
satorunooshie
1
360
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Side Projects
sachag
455
43k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
710
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
A Modern Web Designer's Workflow
chriscoyier
697
190k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Automating Front-end Workflow
addyosmani
1371
200k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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