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
Wantedlyのフロントエンド領域の取り組みと課題
Search
Tsuyoshi HARA
November 26, 2022
Programming
0
8.2k
Wantedlyのフロントエンド領域の取り組みと課題
JSConf JP 2022 のスポンサー LT で発表したスライドです。
Wantedly のフロントエンドが抱える課題について、直近数年間の取り組みと今後に向けた方針などについて話しました。
Tsuyoshi HARA
November 26, 2022
Tweet
Share
More Decks by Tsuyoshi HARA
See All by Tsuyoshi HARA
Design System Guild の1年を振り返る
chloe463
0
130
スキーマ駆動で加速するフロントエンド開発
chloe463
0
370
Wantedly のフロントエンド領域の取り組みと課題
chloe463
0
150
GraphQL Fragment Colocation の話
chloe463
2
1k
デザインシステム仕切り直し
chloe463
1
3.1k
5分でできる生産性改善~ESLint Custom Rule を作ろう~
chloe463
0
4k
GraphQLサーバーのスキーマファースト開発を半年経て
chloe463
2
2.5k
Other Decks in Programming
See All in Programming
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
3
1.8k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
350
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
990
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
4
640
Rancher と Terraform
fufuhu
2
170
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
複雑なドメインに挑む.pdf
yukisakai1225
4
890
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
4
1.3k
AHC051解法紹介
eijirou
0
640
MLH State of the League: 2026 Season
theycallmeswift
0
210
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
コンテキストエンジニアリング Cursor編
kinopeee
1
740
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Writing Fast Ruby
sferik
628
62k
Building Applications with DynamoDB
mza
96
6.6k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Done Done
chrislema
185
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Transcript
©2021 Wantedly, Inc. WantedlyͷϑϩϯτΤϯυྖҬͷऔΓΈͱ՝ JSConf JP 2022 εϙϯαʔ LT Nov
26, 2022
©2021 Wantedly, Inc. ݪ߶࢜ 5TVZPTIJ)BSB !DIMPF w 8BOUFEMZ *OD w
'SPOUFOE$IBQUFS-FBE w ࠷ۙͷझຯɾ͖ͳͷ w ΏΔݴޠֶϥδΦ w ೫ࡔ w ುͰਬ͍ͨ͝൧ ࣗݾհ
©2021 Wantedly, Inc. • ۙͷϑϩϯτΤϯυվળͷऔΓΈ • ࠓޙղܾ͍͖͍ͯͨ͠՝ ͢͜ͱ
©2021 Wantedly, Inc. 8BOUFEMZαʔϏε։͔࢝Β Ҏ্͕ܦա ·͕͖͑
©2021 Wantedly, Inc. ࠓޙ8BOUFEMZͷ8FCΞϓϦΛ ͬͱ͍͍ײ͡ʹ͍͖͍ͯͨ͠ ·͕͖͑
©2021 Wantedly, Inc. αʔϏεՁΛܧଓతʹ Ϣʔβʔʹಧ͚Δ ٕज़ج൫ɾ৫Λඋ͍ͨ͠ ·͕͖͑
©2021 Wantedly, Inc. ͦͷͨΊʹղܾ͢Δ͖ ՝͕ͨ͘͞Μ͋Δ ·͕͖͑
©2021 Wantedly, Inc. ۙͷऔΓΈͱ ࠓޙͷํͳͲʹ͍ͭͯ͠·͢ ·͕͖͑
©2021 Wantedly, Inc. 1. 10ؒͰͰ͖ͨͷղফ 2. σβΠϯγεςϜͷ React ࣮ͷඋ 3.
R&D ࣍
©2021 Wantedly, Inc. 10ؒͰͰ͖ͨͷղফ 3VCZPO3BJMTج൫͔Β/FYUKTج൫ͷҠߦ
©2021 Wantedly, Inc. 10ؒͰͰ͖ͨͷղফ Wantedly ͷϑϩϯτΤϯυʹ4ͭͷ͕͋Δ
©2021 Wantedly, Inc. v2 ͷ styled-components Խ 10ؒͰͰ͖ͨͷղফ 2020ʙ2021ʹ͔͚ͯߦΘΕͨϑϩϯτΤϯυ৽ͷ ϓϩδΣΫτͷҰ؏Ͱɺv2Ͱstyled-components͕
ΘΕΔΑ͏ʹͳͬͨɻ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. v2 ͷ styled-components Խ 10ؒͰͰ͖ͨͷղফ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. v2 ͷ TypeScript Խ v2, v3 ಉ͡ϨϙδτϦ্ʹଘࡏ͠ɺ͔ͭผʑͷ
webpack ͷઃఆϑΝΠϧ͕ॻ͔Ε͍ͯ·ͨ͠ɻ ͦΕΒΛ౷߹Ͱ͖ͨ͜ͱʹΑΓɺv2 ͱ v3 ͷڥք͕͍͋ ·͍ʹͳΓͦΕ΄Ͳҙࣝ͢Δ͜ͱ͕গͳ͘ͳΓ·ͨ͠ɻ 10ؒͰͰ͖ͨͷղফ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. 10ؒͰͰ͖ͨͷղফ v2 ͷ TypeScript Խ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. v1 ͷ CoffeeScript ͷ JS Խ Developer
eXperience (DX) squad ͷऔΓΈʹΑΓɺ v1 Ͱ༻͞Ε͍ͯͨ CoffeeScript ͕ JavaScript ͱม ͞Εͨɻ 10ؒͰͰ͖ͨͷղফ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. v1 ͷ CoffeeScript ͷ JS Խ 10ؒͰͰ͖ͨͷղফ
͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. ٕज़తΛਐతʹվળ͍ͯ͠Δ 10ؒͰͰ͖ͨͷղফ ͜Ε·Ͱͷվળͷྺ࢙
©2021 Wantedly, Inc. 3લ͔Βͷ Before/After 10ؒͰͰ͖ͨͷղফ ͳΜͱ͍͏͜ͱͰ͠ΐ͏
©2021 Wantedly, Inc. WͱW ͷؒʹஅઈ͕͋Δ 10ؒͰͰ͖ͨͷղফ ͜Ε͔Βͷվળͷํ
©2021 Wantedly, Inc. Wʹ͍ΔػೳΛ3FBDUԽͯ͠ Wʹ͍͖͍࣋ͬͯͨ 10ؒͰͰ͖ͨͷղফ ͜Ε͔Βͷվળͷํ
©2021 Wantedly, Inc. v1 ʹࡌ͍ͬͯΔػೳΛ v4 ʹগͣͭ͠Ҡߦ͍ͨ͠ 10ؒͰͰ͖ͨͷղফ ͜Ε͔Βͷվળͷํ
©2021 Wantedly, Inc. /FYUKTج൫ͷҠߦਪਐ͍ͨ͠ 10ؒͰͰ͖ͨͷղফ ࠷ऴతʹ
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮ͷඋ ύοέʔδͷϒϥογϡΞοϓͱެ։ࢦ͍ͨ͠
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮උ σβΠϯγεςϜʹྗΛೖΕ͍ͯΔ
©2021 Wantedly, Inc. ࣮σβΠϯγεςϜͷ 3FBDU࣮ʹ͕͋Δ σβΠϯγεςϜͷ React ࣮උ
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮උ ݟ͚ͨͩͰ͖͍ͯͨ v1
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮උ σβΠφʔͷࢥөͤͨ͞ v2
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮උ લੈͷ՝Λղܾ͢Δ͘ੜ·Εͨv3
©2021 Wantedly, Inc. ϖʔδʹΑͬͯґଘ͍ͯ͠Δ ύοέʔδͷόʔδϣϯ͕ҟͳΔ σβΠϯγεςϜͷ React ࣮උ
©2021 Wantedly, Inc. WͷҠߦਪਐ͍ͨ͠ σβΠϯγεςϜͷ React ࣮උ
©2021 Wantedly, Inc. σβΠϯγεςϜͷ React ࣮උ ESLint ϧʔϧ JSDoc ΛͬͯҠߦΛଅ͍ͯ͠Δ
©2021 Wantedly, Inc. ͍ͣΕύοέʔδެ։ࢦ͍ͨ͠ σβΠϯγεςϜͷ React ࣮උ
©2021 Wantedly, Inc. R&D ະདྷʹ͚ͯ
©2021 Wantedly, Inc. R&D αʔϏεՁ্ʹͭͳ͕Δٕज़తͳνϟϨϯδΛ ਪਐ͍ͨ͠ • ΑΓྑ͍ UX ͷͨΊʹ
Island Architecture ͷϑϨʔϜϫʔΫݕূͨ͠Γ • ΑΓྑ͍ DX ͷͨΊʹ ESbuild ͱ͔ SWC ͱ͔ vite ͱ͔ͬͨϏϧυߴΛߟ͑ͨΓ • Edge Compute ΛͬͨػೳͷՄೳੑΛ୳ͬͨΓ
©2021 Wantedly, Inc. ·ͱΊ
©2021 Wantedly, Inc. • ۙͷ Frontend chapter ͷऔΓΈ • ࠓޙղܾ͍͖͍ͯͨ͠՝
ͨ͜͠ͱ 1. 10ؒͰͰ͖ͨͷղফ 2. σβΠϯγεςϜͷ React ࣮ͷඋ 3. R&D
©2021 Wantedly, Inc. Advertisement Wantedly ͷΤϯδχΞ৫ͱͯ͠ɺ৽نࢀೖऀʹ͚ͯ ʮ͜ΕΛ͓͍ͬͯͯ΄͍͠ʂʯ͜ͱΛɺ֎෦ʹެ։ Ͱ͖ΔΑ͏ʹ·ͱΊͨυΩϡϝϯτͰ͢ɻ Spatial chat
ͷεϙϯαʔϒʔεͰཧຊΛ༣ૹͰ ϓϨθϯτ͢Δاըͬͯ·͢ͷͰͥͻ͓͕͚ͩ͘͞ ͍ʂ Wantedly ͷٕज़͕٧·ͬͨυΩϡϝϯτެ։த
©2021 Wantedly, Inc. Λฉ͖ʹདྷ͍ͯͩ͘͞ʂ Advertisement
©2021 Wantedly, Inc. Thank you!