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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yusuke Wada
September 19, 2025
Programming
7.1k
8
Share
Reactをクライアントで使わない
2025-09-19 / React Tokyo ミートアップ #9
Yusuke Wada
September 19, 2025
More Decks by Yusuke Wada
See All by Yusuke Wada
Webフレームワークの ベンチマークについて
yusukebe
0
120
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.6k
Dynamic Workersについて
yusukebe
2
580
飯MCP
yusukebe
0
590
へんな働き方
yusukebe
6
3k
Cap'n Webについて
yusukebe
0
340
OSS開発者の憂鬱
yusukebe
17
30k
r2-image-worker
yusukebe
1
260
Introduce Hono CLI
yusukebe
7
4.1k
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
730
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.4k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
320
Swiftのレキシカルスコープ管理
kntkymt
0
210
CSC307 Lecture 17
javiergs
PRO
0
310
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
450
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
200
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
420
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Six Lessons from altMBA
skipperchong
29
4.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Are puppies a ranking factor?
jonoalderson
1
3.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
A Tale of Four Properties
chriscoyier
163
24k
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ΫϥΠΞϯτ͚ͩͷͷͰͳ͍ʂ ͱ͍͏͜ͱΛͬͯΒ͑ͨΒΑ͔ͬͨͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠