--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Uber Base Web Design System|Uber Base Web Design System]] last_updated: 2026-05-02 --- # [[Uber Base Web Design System|Uber Base Web Design System]] ## ๐Ÿ“Œ Brief Summary [[Uber Base Web|Uber Base Web]] DesignSystem์€ Uber์—์„œ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋‚ด๋ถ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๊ฐœ๋ฐœ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•ํ•œ React ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค [1, 2]. 2018๋…„์— ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๊ธฐ๊ธฐ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํƒ„ํƒ„ํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค [2]. ํŠนํžˆ ์ ‘๊ทผ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ค‘์‹œํ•˜๋ฉฐ, ๋…์ž์ ์ธ 'Overrides API ํŒจํ„ด'์„ ํ†ตํ•ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ ์ธ ํŠน์ง•์ด๋‹ค [3-5]. --- > "์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋‚ด๋ถ€ ์•ฑ์„ ์ผ๊ด€๋œ ๋””์ž์ธ ์–ธ์–ด๋กœ ํ†ตํ•ฉํ•˜๊ณ , '์˜ค๋ฒ„๋ผ์ด๋“œ(Overrides)' ํŒจํ„ด์„ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ์˜ ์œ ์—ฐ์„ฑ๊ณผ API์˜ ๊ฐ„๊ฒฐํ•จ ์‚ฌ์ด์˜ ๋ชจ์ˆœ์„ ํ•ด๊ฒฐํ•˜๋ผ" โ€” ์šฐ๋ฒ„์—์„œ ๊ฐœ๋ฐœํ•œ, ๊ทน๋„์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•๊ณผ ์ ‘๊ทผ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ React UI ํ”„๋ ˆ์ž„์›Œํฌ. ## ๐Ÿ“– Core Content - **ํƒ„์ƒ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉ์ :** Uber์˜ ์ˆ˜๋งŽ์€ ๋‚ด๋ถ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์ด ๊ฐ๊ธฐ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ํ•™์Šต ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์ค‘๋ณต ๊ฐœ๋ฐœ(๋ฐ”ํ€ด์˜ ์žฌ๋ฐœ๋ช…) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค [1]. Base ๋””์ž์ธ ์–ธ์–ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ๋””์ž์ด๋„ˆ, ์—”์ง€๋‹ˆ์–ด, ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ € ๊ฐ„์˜ ๊ณตํ†ต ์–ธ์–ด ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค [2, 6]. - **์‹ ๋ขฐ์„ฑ ([[Reliability|Reliability]]):** ๊ฐ ์ปค๋ฐ‹๋งˆ๋‹ค ์‹œ๊ฐ์  ํšŒ๊ท€(visual regression) ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ์™€ Puppeteer๋ฅผ ํ™œ์šฉํ•œ ์—”๋“œํˆฌ์—”๋“œ(End-to-End) ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ํ”ฝ์…€ ๋‹จ์œ„์˜ ์™„๋ฒฝํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๋ณด์žฅํ•˜๊ณ  ๋ฒ„๊ทธ ๋ฐœ์ƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค [7]. - **์ ‘๊ทผ์„ฑ ๋ฐ ์„ฑ๋Šฅ ([[Accessibility|Accessibility]] & Performance):** ํ‚ค๋ณด๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์™€ ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์—„๊ฒฉํ•œ ์ ‘๊ทผ์„ฑ ๊ธฐ์ค€(ARIA ๋“ฑ)์„ ์ถฉ์กฑํ•œ๋‹ค [3, 8]. ๋˜ํ•œ, ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๋ฐ ์—ด์•…ํ•œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด [[Styletron|Styletron]]์„ ํ™œ์šฉํ•˜์—ฌ ์›์ž์ (atomic) ์Šคํƒ€์ผ๋ง์„ ์ƒ์„ฑ, ๋‹ค์šด๋กœ๋“œ๋˜๋Š” ์ฝ˜ํ…์ธ  ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค [3]. - **Overrides API ํŒจํ„ด:** Base Web์ด ์ฑ„ํƒํ•œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ํ™•์žฅ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ด๋‹ค [9]. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ํ•˜์œ„ ์š”์†Œ(sub-element)์— ์‹๋ณ„์ž๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜์—ฌ ์Šคํƒ€์ผ๊ณผ ์†์„ฑ์„ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜, ์ปดํฌ๋„ŒํŠธ ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋„๋ก `overrides` ์†์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค [5, 9-11]. - **ํ™•์žฅ์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ด์ :** Overrides ํŒจํ„ด์„ ํ†ตํ•ด ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์— ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ์†์„ฑ(prop)์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” 'prop soup' ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค [9, 10]. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์˜ˆ์ธกํ•ด ์†์„ฑ์„ ๋…ธ์ถœํ•˜์ง€ ์•Š์•„๋„, ์†Œ๋น„์ž๊ฐ€ ์ง์ ‘ ์—ฃ์ง€ ์ผ€์ด์Šค์— ๋งž์ถฐ UI๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด ๊ฑฐ๋Œ€ํ•œ ์Šค์ผ€์ผ์—์„œ๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋น„๋Œ€ํ•ด์ง€์ง€ ์•Š๊ณ  ์œ ์—ฐํ•จ์„ ์œ ์ง€ํ•œ๋‹ค [9]. --- - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Granular Override and Observability-driven Governance" โ€” ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ํ•˜์œ„ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ์˜ค๋ฒ„๋ผ์ด๋“œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์‹œ์Šคํ…œ์˜ ์ฑ„ํƒ๋ฅ ์„ ๋ฐ์ดํ„ฐ๋กœ ์ธก์ •ํ•˜์—ฌ ๋””์ž์ธ ํ’ˆ์งˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ํŒจํ„ด. - **ํ•ต์‹ฌ ํ˜์‹  ์š”์†Œ:** - **[[Overrides Pattern|Overrides Pattern]]:** 'Prop Soup' ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ปดํฌ๋„ŒํŠธ์˜ ์Šคํƒ€์ผ๊ณผ ๊ตฌ์กฐ๋ฅผ ํ•˜์œ„ ์š”์†Œ ๋‹จ์œ„๋กœ ์ •๋ฐ€ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ผ prop ์ œ๊ณต. - **Styletron Integration:** ๋Ÿฐํƒ€์ž„์— ์•„ํ† ๋ฏน CSS๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ์Šคํƒ€์ผ ์ถฉ๋Œ ๋ฐฉ์ง€. - **Design Observability:** 'Base Counter' ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ ๋น„์œจ์„ ์ธก์ •ํ•˜๊ณ  ๋””์ž์ธ ๊ฑฐ๋ฒ„๋„Œ์Šค ๊ตฌํ˜„. - **Native Accessibility:** ํ‚ค๋ณด๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜, ํ™”๋ฉด ํŒ๋…๊ธฐ ํ˜ธํ™˜์„ฑ ๋ฐ ARIA ์—ญํ• ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์™„๋ฒฝ ์ง€์›. - **์˜์˜:** ๋Œ€๊ทœ๋ชจ ์กฐ์ง์—์„œ ๊ฐœ๋ฐœ ์†๋„๋ฅผ 3๋ฐฐ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์‹œ๊ฐ์  ๋ถˆ์ผ์น˜๋ฅผ 4๋ฐฐ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๋“ฑ, ์—”์ง€๋‹ˆ์–ด๋ง ํšจ์œจ์„ฑ๊ณผ ๋””์ž์ธ ์ผ๊ด€์„ฑ์˜ ์–‘๋ฆฝ ๊ฐ€๋Šฅ์„ฑ์„ ์ฆ๋ช…ํ•จ. ## โš–๏ธ Trade-offs & Caveats - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ณผ๊ฑฐ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณ„๋„์˜ Prop์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค ํ–ˆ์œผ๋‚˜, Base Web ์ •์ฑ…์€ '์˜ค๋ฒ„๋ผ์ด๋“œ'๋ผ๋Š” ๋‹จ์ผ ํ†ต๋กœ๋ฅผ ํ†ตํ•ด ๋ฌดํ•œํ•œ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์ •์ฑ…์œผ๋กœ ์ „ํ™˜ํ•จ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ๋ณต์žกํ•œ [[SaaS|SaaS]] ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์ถ• ์‹œ Base Web์˜ ์˜ค๋ฒ„๋ผ์ด๋“œ ์ฒ ํ•™์„ ์ฐธ๊ณ ํ•˜๋ฉฐ, ๋ชจ๋“  ๋””์ž์ธ ์‹œ์Šคํ…œ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด '์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅ์„ฑ(Customizability)' ์ ์ˆ˜๋ฅผ ๋งค๊ฒจ ๊ด€๋ฆฌํ•จ. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Overrides Pattern|Overrides Pattern]], React Component Architecture, Styletron, [[Design Tokens|Design Tokens]], [[Accessibility (A11y)|Accessibility (A11y]] - **Projects/Contexts:** [[Building Reusable UI Components|Building Reusable UI Components]], Scalable Frontend Design Systems - **Contradictions/Notes:** ์†Œ์Šค์— ์ƒ์ถฉํ•˜๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-26* --- - [[Design-System|Design-System]], [[Atomic-Styling-and-Design-Systems|Atomic-Styling-and-Design-Systems]], Web-Accessibility, Reusable-UI-Components, Scalable-UI-Systems - **Raw Source:** 00_Raw/Base Web.md