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
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
へんな働き方
yusukebe
5
2.6k
Cap'n Webについて
yusukebe
0
230
OSS開発者の憂鬱
yusukebe
16
18k
r2-image-worker
yusukebe
1
240
Introduce Hono CLI
yusukebe
6
3.9k
私はどうやって技術力を上げたのか
yusukebe
47
21k
AI時代のUIはどこへ行く?
yusukebe
23
12k
速いWebフレームワークを作る
yusukebe
5
2k
Honoアップデート 2025年夏
yusukebe
1
1.1k
Other Decks in Programming
See All in Programming
20260315 AWSなんもわからん🥲
chiilog
2
160
OTP を自動で入力する裏技
megabitsenmzq
0
120
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
0
290
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
320
ロボットのための工場に灯りは要らない
watany
11
3k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
Windows on Ryzen and I
seosoft
0
320
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
0
130
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
Understanding Apache Lucene - More than just full-text search
spinscale
0
130
AI 開発合宿を通して得た学び
niftycorp
PRO
0
150
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
GitHub's CSS Performance
jonrohan
1032
470k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Chasing Engaging Ingredients in Design
codingconduct
0
140
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
78
Optimizing for Happiness
mojombo
378
71k
Design in an AI World
tapps
0
170
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Between Models and Reality
mayunak
2
240
エンジニアに許された特別な時間の終わり
watany
106
240k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Producing Creativity
orderedlist
PRO
348
40k
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ΫϥΠΞϯτ͚ͩͷͷͰͳ͍ʂ ͱ͍͏͜ͱΛͬͯΒ͑ͨΒΑ͔ͬͨͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠