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をクライアントで使わない
Search
Yusuke Wada
September 19, 2025
Programming
8
6.7k
Reactをクライアントで使わない
2025-09-19 / React Tokyo ミートアップ #9
Yusuke Wada
September 19, 2025
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
OSS開発者の憂鬱
yusukebe
12
4.3k
r2-image-worker
yusukebe
1
170
Introduce Hono CLI
yusukebe
6
3.5k
私はどうやって技術力を上げたのか
yusukebe
45
20k
AI時代のUIはどこへ行く?
yusukebe
23
12k
速いWebフレームワークを作る
yusukebe
5
1.9k
Honoアップデート 2025年夏
yusukebe
1
1k
パスタの技術
yusukebe
1
700
AI Ramen Fight
yusukebe
0
230
Other Decks in Programming
See All in Programming
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
160
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
460
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
2
950
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
430
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
390
2025 컴포즈 마법사
jisungbin
0
130
What's New in Web AI?
christianliebel
PRO
0
130
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.2k
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
1k
しっかり学ぶ java.lang.*
nagise
1
380
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
31
13k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Practical Orchestrator
shlominoach
190
11k
Bash Introduction
62gerente
615
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
RailsConf 2023
tenderlove
30
1.3k
Thoughts on Productivity
jonyablonski
73
4.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
A designer walks into a library…
pauljervisheath
210
24k
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
3FBDU5PLZPϛʔτΞοϓ 3FBDUΛΫϥΠΞϯτͰΘͳ͍ :VTVLF8BEB
.F w :VTVLF8BEB w 8FCGSBNFXPSLEFWFMPQFS w %FWFMPQFS"EWPDBUF!$MPVE fl BSF w
#PLFUFDPGPVOEFS w $SFBUPSPG)POP w IUUQTHJUIVCDPNZVTVLFCF The Melancholy of an OSS Developer
3FBDUͱ͍͑
8JLJQFEJB3FBDUΑΓ IUUQTKBXJLJQFEJBPSHXJLJ3FBDU
ʮΣϒϒϥβͰෳࡶͳ6*ʯ ʮϑϩϯτΤϯυʯ
ΫϥΠΞϯταΠυͰ࣮ߦ͞ΕΔ ͜ͱ͕ఆ͞Ε͍ͯΔ
None
͔͠͠ αʔόʔαΠυͰΘΕΔ͜ͱ͋Δ
None
3FBDUΛΫϥΠΞϯτͰΘͳ ͍͜ͱͰ͖Δ
ࠓͦͷͰ͢
3FBDUΛΫϥΠΞϯτͰΘͳ͍ )POP͕+49ʹΛ͚ͭͨ݅ 3FBDUΛαʔόʔαΠυͰ͏ 3FBDUͷศརͳػೳ )POPͰ3FBDUΛ͏ 3FBDU4FSWFS$PNQPOFOUTʹ͍ͭͯ৮Ε·ͤΜ
)POP͕+49ʹΛ͚ͭͨ݅
ʮ·ͣαʔόʔαΠυ+49ʹ͍ͭͯͦ͏ʯ
)POPͰςϯϓϨʔτΤϯδϯΛ͍ͬͯͨ w )5.-Λඳը͢ΔͨΊͷखஈΛఏڙ͍ͨ͠ͱࢥ͍ͬͯͨ w ςϯϓϨʔτΤϯδϯΛ͓͏ʂ w ͔͠͠ɺଟ͘ͷ+BWB4DSJQUςϯϓϨʔτΤϯδϯFWBM͕ඞཁͩͬͨΓGTʹ ґଘ͍ͯͨ͠$MPVE fl BSF8PSLFSTͰಈ͔ͳ͍
w .VTUBDIF͚ͩಈ͘
࣮ࡍʹ.VTUBDIFϛυϧΣΞ͋ͬͨ IUUQTHJUIVCDPNIPOPKTIPOPQVMM
ςϯϓϨʔτΤϯδϯͷબࢶ͕গͳ͍ w 8PSLFSTͰಈ͘͏ҰͭͷςϯϓϨʔτΤϯδϯNJDSPUFNQMBUFKTΛ͏ͱ ͕ͨ͠ʜ w ݁ہςϯϓϨʔτΤϯδϯͷબ͕গͳ͍͜ͱมΘΒͣ IUUQTHJUIVCDPNIPOPKTIPOPJTTVFT
l+49ΛͬͨΒͲ͏ͩʁz w ςϯϓϨʔτΤϯδϯͷΘΓʹ+49ͷγϯλοΫεΛͬͯ)5.-Λग़ྗ͢ Ε͍͍ͷͰʁ
+49ϛυϧΣΞ͕ಋೖ͞ΕΔ IUUQTHJUIVCDPNIPOPKTIPOPQVMM w +49ΛαʔόʔαΠυͰ࣮ߦ͠ɺ)5.-Λग़ྗ͢Δ
None
+49Λ͏͜ͱ)POPͷಛʹͳ͍ͬͯΔ 4VNNBSJ[F)BDLFS/FXTXJUI)POP $MPVE fl BSF IUUQTXXXZPVUVCFDPNXBUDI W8VP00B4HN*
αʔόʔαΠυ+49 w αʔόʔαΠυͰ+49Λ͏ͱ͍͏Ξϓϩʔν༗ޮͩʂ)POPͰূ໌͞ Εͭͭ͋Δ w Ͱ+49ͱ͍͑ɺ3FBDU+49Ͱهड़͢Δ w )POPͰඪ४ͰIPOPKTYΛ͍ͬͯΔ͕3FBDUΛ͏͜ͱͰ͖Δ w 3FBDUͳΒͰͷػೳ͋Δʢ͍͔ͭ͘IPOPKTYʹऔΓࠐ·Ε͍ͯΔʣ
ʮ3FBDUΛαʔόʔαΠυͰ͏ͷ͋Γʂʯ ͍ΘΏΔ443Ͱ͋Δ
3FBDUΛαʔόʔαΠυͰ͏
+49Λղऍͤ͞Δ w ֦ுࢠΛKTY͔UTYʹ͢Δ w UTDPO fi HKTPOΛฤू͢Δ w ͜ΕͰίϯύΠϥ͕+49Λ +BWB4DSJQUίʔυʹมͯ͠
͘ΕΔ
+49Λॻ͘ w ී௨ʹ+49Λॻ͍͍͚ͯ Α͍
ϨϯμϦϯά͢Δ w దͳϝιουΛͬͯ+49ΛϨϯμϦϯά͢Δ
ϨϯμϦϯά͢ΔͨΊͷϝιου w SFOEFS5P4USJOHGSPNASFBDUEPNTFSWFSA w +49Λ)5.-จࣈྻʹͯ͠ฦ͢ w SFOEFS5P4UBUJD.BSLVQGSPNASFBDUEPNTFSWFSA w 3FBDUݻ༗ͷଐੑ ྫEBUBSFBDUJE
Λ࡞Βͳ͍ w SFOEFS5P3FBEBCMF4USFBNGSPNASFBDUEPNTFSWFSA w +49Λ)5.-ʹͯ͠3FBECMF4USFBNͰฦ͢
3FBDUͷศརͳػೳ
%PDVNFOU.FUBEBUB w UJUMFNFUBMJOL͕IFBEʹࣗಈతʹঢ֨͢Δ w ϝλσʔλͷר্͖͛ w ಠࣗͰϝλσʔλΛηοτ͢ΔͨΊͷϩδοΫΛ࡞͍͚ͬͯͨͲɺ͜Εศརʂ
None
None
3FTPVSDF-PBEJOH w ίϯϙʔωϯτͰϦιʔεώϯτQSFMPBEQSFJOJUQSFDPOOFDUΛએݴ Ͱ͖ΔIFBEʹग़ྗ͞ΕΔ
None
None
JNHλάͷTSD͕ࣗಈతʹQSFMPBE͞ΕΔ݅ w ίϯϙʔωϯτͷJNHλάͷը૾͕ࣗಈతʹQSFMPBE͞ΕΔ
༧ظͯ͠ͳ͍ڍಈͳͷ͔ʁ IUUQTHJUIVCDPNGBDFCPPLSFBDUJTTVFT ͪͳΈʹMPBEJOHMB[ZΛՃ͢ΔͱແޮԽ͞ΕΔ
4USFBNJOH 4VTQFOTF w SFOEFS5P3FBECMF4SFBNΛ͑ετϦʔϜΛฦ͢͜ͱ͕Ͱ͖Δ w 4VTQFOTF͕αʔόʔαΠυͷ࣮͚ͩͰ͑Δ w ·ͣGBMMCBDLΛදࣔ४උ͕Ͱ͖ͨΒίϯϙʔωϯτΛදࣔ w ΫϥΠΞϯτͷ+4ͳ͠ͰʮͪͷؒͷϩʔσΟϯά6*ʯʮຊͷ༰ʯ
࣌ؒࠩͰදࣔ͞ΕΔίϯϙʔωϯτ
None
3FBDUͷΤίγεςϜΛ͑Δ w ྫ-VDJEF3FBDU
None
)POPͰ3FBDUΛ͏
)POPͰ3FBDUΛ͏ w +49Λॻ͍ͯϨϯμϦϯάͤͯ͞దʹϨεϙϯεΛฦ͍͍ͤ SFOEFS5P4USJOH SFOEFS5P4UBUJD.BSLVQ SFOEFS5P3FBCMF4USFBN
)POPͷ3FOEFSFS w DSFOEFSͰͨ͠ΛͲ͏͢Δ͔ʁΛࢦఆ͓ͯ͘͜͠ͱ͕Ͱ͖Δ w ྫ+49ͷϨΠΞτɺΧελϜ+40/Τϯίʔμʔ
3FBDU3FOEFSFS.JEEMFXBSF w !IPOPSFBDUSFOEFSFS w DSFOEFSϝιουͰ࣮ߦͰ͖Δ3FBDUϕʔεͷϨϯμϥʔΛ؆୯ʹͭ͘ΕΔ
None
WJUFTTSDPNQPOFOUT w 3FBDUͱIPOPKTYΛαʔόʔαΠυͰͬͯ7JUFͰ։ൃ͢Δ࣌ʹศརͳίϯ ϙʔωϯτ w 7JUF$MJFOU7JUFͷΫϥΠΞϯτεΫϦϓτΛૠೖϗοτϦϩʔυ w 4DSJQU-JOLΞηοτͷύεղܾΛࣗಈతʹͯ͘͠ΕΔ Ϗϧυؚ࣌ Ή
None
Ҏ্ɺͭհ͖ͯ͠·ͨ͠
͓·͚
͘͠IPOPKTYΛ͏ w AIPOPA͚ͩͰ͑Δ w 3FBDUޓͷ"1*Λ͍͔͍ͭ࣋ͬͯ͘Δ w %PDVNFOU.FUBEBUB w 4USFBNJOH4VTQFOTF w
!IPOPSFBDUDPNQBU w IPOPKTYΛ͍ͭͭɺ3FBDUґଘͷϥΠϒϥϦΛ͑Δ
·ͱΊ
3FBDUΛΫϥΠΞϯτͰΘͳ͍ w )POP͕+49ʹΛ͚ͭͨ݅ w 3FBDUΛαʔόʔαΠυͰ͏ w αʔόʔαΠυͰศརͳػೳ w )POPͰ3FBDUΛ͏
3FBDUΫϥΠΞϯτ͚ͩͷͷͰͳ͍ʂ ͱ͍͏͜ͱΛͬͯΒ͑ͨΒΑ͔ͬͨͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠