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.1k
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
110
スキーマ駆動で加速するフロントエンド開発
chloe463
0
360
Wantedly のフロントエンド領域の取り組みと課題
chloe463
0
140
GraphQL Fragment Colocation の話
chloe463
2
1k
デザインシステム仕切り直し
chloe463
1
3k
5分でできる生産性改善~ESLint Custom Rule を作ろう~
chloe463
0
3.9k
GraphQLサーバーのスキーマファースト開発を半年経て
chloe463
2
2.5k
Other Decks in Programming
See All in Programming
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
39
14k
効率的な開発手段として VRTを活用する
ishkawa
1
180
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
120
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
9.3k
20250708_JAWS_opscdk
takuyay0ne
2
150
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
180
コーディングエージェント概観(2025/07)
itsuki_t88
0
120
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)
risatube
PRO
1
460
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
190
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
210
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
階層化自動テストで開発に機動力を
ickx
1
410
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Scaling GitHub
holman
461
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
BBQ
matthewcrist
89
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Embracing the Ebb and Flow
colly
86
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimizing for Happiness
mojombo
379
70k
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!