Tailwind VS SCSS(Sass) - dev-team-projects/DeliTalk GitHub Wiki

๐ŸŽจ Tailwind vs SCSS(Sass)

๐ŸŒŸ Tailwind CSS

Tailwind CSS๋Š” utility-first ์Šคํƒ€์ผ๋ง ๋ฐฉ์‹์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
๋งŽ์€ CSS ํด๋ž˜์Šค ์ด๋ฆ„์„ ์กฐํ•ฉํ•ด์„œ ์Šคํƒ€์ผ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

โ— ํŠน์ง•

  • Utility-First Framework:
    ํด๋ž˜์Šค ์ด๋ฆ„ ์ž์ฒด๊ฐ€ ์Šคํƒ€์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ) bg-blue-500, text-center, p-4

  • ์„ค์ • ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
    tailwind.config.js ํŒŒ์ผ์„ ํ†ตํ•ด ์ƒ‰์ƒ, ์—ฌ๋ฐฑ, ํฐํŠธ ๋“ฑ์˜ ํ…Œ๋งˆ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ

  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค
    ํŠน์ • ์Šคํƒ€์ผ ์กฐํ•ฉ์„ ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ๋””์ž์ธ ์ผ๊ด€์„ฑ
    ๋ฏธ๋ฆฌ ์ •์˜๋œ ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•ด ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋””์ž์ธ์„ ํ†ต์ผ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

  • JSX์™€์˜ ํ˜ธํ™˜์„ฑ
    React ๋“ฑ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ JSX์™€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ†ตํ•ฉ๋จ

๐Ÿงต SCSS (Sass)

SCSS๋Š” Sass์˜ ๋ฌธ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, CSS๋ฅผ ํ™•์žฅํ•ด์ฃผ๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
๋ณด๋‹ค ํšจ์œจ์ ์ธ ์Šคํƒ€์ผ๋ง๊ณผ ๊ตฌ์กฐ์ ์ธ CSS ์ž‘์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

โ— ํŠน์ง•

  • CSS ์ „์ฒ˜๋ฆฌ๊ธฐ
    CSS ๋ฌธ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์ปดํŒŒ์ผ ๊ณผ์ •์„ ํ†ตํ•ด .css ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋จ

  • ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
    ์ค‘์ฒฉ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๊ฐ€ ๊ณ„์ธต์ ์œผ๋กœ ์ •๋ฆฌ๋˜์–ด ์ฝ๊ธฐ ์‰ฌ์›€

  • ๋ณ€์ˆ˜ ์‚ฌ์šฉ
    ์ƒ‰์ƒ, ํฌ๊ธฐ ๋“ฑ์„ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•ด ๋ฐ˜๋ณต ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    ์˜ˆ) $main-color: #3490dc;

  • Mixin๊ณผ ํ•จ์ˆ˜
    ๋ฐ˜๋ณต๋˜๋Š” ์Šคํƒ€์ผ์„ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์ž‘์„ฑํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    โ†’ @mixin, @function

  • ๊ธฐ์กด CSS์™€์˜ ํ˜ธํ™˜์„ฑ
    ๊ธฐ์กด CSS๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ ์ง„์  ๋„์ž… ๊ฐ€๋Šฅ

โš–๏ธ ์ฃผ์š” ์ฐจ์ด์  ์š”์•ฝ

ํ•ญ๋ชฉ Tailwind CSS SCSS (Sass)
์Šคํƒ€์ผ ๋ฐฉ์‹ ํด๋ž˜์Šค ์กฐํ•ฉ (inline) ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ
์ ‘๊ทผ ๋ฐฉ์‹ Utility-first ์ „ํ†ต์ ์ธ CSS ํ™•์žฅ ๋ฐฉ์‹
์„ค์ •/์‚ฌ์šฉ๋ฒ• tailwind.config.js๋กœ ์„ค์ • ์ปดํŒŒ์ผ ๊ณผ์ • ํ•„์š” (Sass โ†’ CSS)
์žฌ์‚ฌ์šฉ์„ฑ ํด๋ž˜์Šค ์กฐํ•ฉ์œผ๋กœ ๋ฐ˜๋ณต ์‚ฌ์šฉ ๋ณ€์ˆ˜, ๋ฏน์Šค์ธ, ํ•จ์ˆ˜ ๋“ฑ์œผ๋กœ ์žฌ์‚ฌ์šฉ
์œ ์—ฐ์„ฑ ๋น ๋ฅธ ์ ์šฉ, ์ผ๊ด€๋œ ์Šคํƒ€์ผ ๋ณต์žกํ•˜๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ์‰ฌ์›€
React ํ˜ธํ™˜์„ฑ ๋งค์šฐ ๋›ฐ์–ด๋‚จ (JSX์— ๋ฐ”๋กœ ์‚ฌ์šฉ) ๋ณ„๋„ ํด๋ž˜์Šค๋ช… ๊ด€๋ฆฌ ํ•„์š”

โœ… ์ •๋ฆฌ

  • Tailwind CSS ์ถ”์ฒœ

    • ๋น ๋ฅด๊ฒŒ UI๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•  ๋•Œ
    • ์ผ๊ด€๋œ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•  ๋•Œ
    • React ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์“ธ ๋•Œ
  • SCSS ์ถ”์ฒœ

    • ๊ธฐ์กด CSS ๊ฒฝํ—˜์ด ๋งŽ๊ณ , ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์ด ์ต์ˆ™ํ•  ๋•Œ
    • ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ๋งŽ์€ ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•  ๋•Œ
    • ์ „์—ญ ์Šคํƒ€์ผ๋ณด๋‹ค ๊ตฌ์กฐํ™”๋œ ์Šคํƒ€์ผ ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ