# [[Uber Base Web Design System]] ## ๐Ÿ“Œ[[ brief]] Summary [[Uber Base Web]] Design[[ system]]์€ Uber์—์„œ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋‚ด๋ถ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๊ฐœ๋ฐœ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•ํ•œ React ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค [1, 2]. 2018๋…„์— ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๊ธฐ๊ธฐ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํƒ„ํƒ„ํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค [2]. ํŠนํžˆ ์ ‘๊ทผ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ค‘์‹œํ•˜๋ฉฐ, ๋…์ž์ ์ธ 'Overrides API ํŒจํ„ด'์„ ํ†ตํ•ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ ์ธ ํŠน์ง•์ด๋‹ค [3-5]. ## ๐Ÿ“– Core Content - **ํƒ„์ƒ ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉ์ :** Uber์˜ ์ˆ˜๋งŽ์€ ๋‚ด๋ถ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์ด ๊ฐ๊ธฐ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ํ•™์Šต ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์ค‘๋ณต ๊ฐœ๋ฐœ(๋ฐ”ํ€ด์˜ ์žฌ๋ฐœ๋ช…) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค [1]. Base ๋””์ž์ธ ์–ธ์–ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ๋””์ž์ด๋„ˆ, ์—”์ง€๋‹ˆ์–ด, ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ € ๊ฐ„์˜ ๊ณตํ†ต ์–ธ์–ด ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค [2, 6]. - **์‹ ๋ขฐ์„ฑ ([[Reliability]]):** ๊ฐ ์ปค๋ฐ‹๋งˆ๋‹ค ์‹œ๊ฐ์  ํšŒ๊ท€(visual regression) ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ์™€ Puppeteer๋ฅผ ํ™œ์šฉํ•œ ์—”๋“œํˆฌ์—”๋“œ(End-to-End) ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ํ”ฝ์…€ ๋‹จ์œ„์˜ ์™„๋ฒฝํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๋ณด์žฅํ•˜๊ณ  ๋ฒ„๊ทธ ๋ฐœ์ƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค [7]. - **์ ‘๊ทผ์„ฑ ๋ฐ ์„ฑ๋Šฅ ([[Accessibility]] & Performance):** ํ‚ค๋ณด๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์™€ ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์—„๊ฒฉํ•œ ์ ‘๊ทผ์„ฑ ๊ธฐ์ค€(ARIA ๋“ฑ)์„ ์ถฉ์กฑํ•œ๋‹ค [3, 8]. ๋˜ํ•œ, ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๋ฐ ์—ด์•…ํ•œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด [[Styletron]]์„ ํ™œ์šฉํ•˜์—ฌ ์›์ž์ (atomic) ์Šคํƒ€์ผ๋ง์„ ์ƒ์„ฑ, ๋‹ค์šด๋กœ๋“œ๋˜๋Š” ์ฝ˜ํ…์ธ  ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค [3]. - **Overrides API ํŒจํ„ด:** Base Web์ด ์ฑ„ํƒํ•œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ํ™•์žฅ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ด๋‹ค [9]. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ํ•˜์œ„ ์š”์†Œ(sub-element)์— ์‹๋ณ„์ž๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜์—ฌ ์Šคํƒ€์ผ๊ณผ ์†์„ฑ์„ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜, ์ปดํฌ๋„ŒํŠธ ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋„๋ก `overrides` ์†์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค [5, 9-11]. - **ํ™•์žฅ์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ด์ :** Overrides ํŒจํ„ด์„ ํ†ตํ•ด ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์— ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ์†์„ฑ(prop)์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” 'prop soup' ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค [9, 10]. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์˜ˆ์ธกํ•ด ์†์„ฑ์„ ๋…ธ์ถœํ•˜์ง€ ์•Š์•„๋„, ์†Œ๋น„์ž๊ฐ€ ์ง์ ‘ ์—ฃ์ง€ ์ผ€์ด์Šค์— ๋งž์ถฐ UI๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด ๊ฑฐ๋Œ€ํ•œ ์Šค์ผ€์ผ์—์„œ๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋น„๋Œ€ํ•ด์ง€์ง€ ์•Š๊ณ  ์œ ์—ฐํ•จ์„ ์œ ์ง€ํ•œ๋‹ค [9]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Overrides Pattern]], [[React Component Architecture]], [[Styletron]], [[Design Tokens]], [[Accessibility (A11y)]] - **Projects/Contexts:** [[Building Reusable UI Components]], [[Scalable [[Frontend]] Design Systems]] - **Contradictions/Notes:** ์†Œ์Šค์— ์ƒ์ถฉํ•˜๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-26*