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
7
6.4k
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
43
17k
AI時代のUIはどこへ行く?
yusukebe
22
10k
速いWebフレームワークを作る
yusukebe
5
1.8k
Honoアップデート 2025年夏
yusukebe
1
980
パスタの技術
yusukebe
1
640
AI Ramen Fight
yusukebe
0
180
TypeScriptでDXを上げろ! Hono編
yusukebe
4
1.1k
Honoをフロントエンドで使う 3つのやり方
yusukebe
8
5k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
2
450
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
500
CSC509 Lecture 02
javiergs
PRO
0
410
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
470
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
200
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
5
1.4k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
420
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
230
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
140
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.9k
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
160
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
KATA
mclloyd
32
15k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Cult of Friendly URLs
andyhume
79
6.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Invisible Side of Design
smashingmag
301
51k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Thoughts on Productivity
jonyablonski
70
4.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to Ace a Technical Interview
jacobian
280
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ΫϥΠΞϯτ͚ͩͷͷͰͳ͍ʂ ͱ͍͏͜ͱΛͬͯΒ͑ͨΒΑ͔ͬͨͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠