ํ”„๋ŸฐํŠธ์—”๋“œ CSS ๊ทธ๋ฆฌ๋“œ๋Š” ์ตœ์‹  ์›น์šฉ์œผ๋กœ ์„ค๊ณ„๋œ 2์ฐจ์› ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์ด๋ฉฐ CSS(Cascading Style Sheets) ์–ธ์–ด์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. CSS Grid๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐ์Šคํฌํ†ฑ์ด๋“  ๋ชจ๋ฐ”์ผ ํ”Œ๋žซํผ์ด๋“  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ณต์žกํ•˜๊ณ  ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค๋ ฅ์ ์ธ ๋””์ž์ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ธ CSS Grid๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ, ํŠนํžˆ ๊ณ ํ’ˆ์งˆ์˜ ๋ฐ˜์‘ํ˜• ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” AppMaster ์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋„๋ฆฌ ์ฑ„ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ CSS ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์ด์ ์€ ์ตœ์†Œํ•œ์˜ ์ฝ”๋”ฉ ๋…ธ๋ ฅ์œผ๋กœ ๋ ˆ์ด์•„์›ƒ ๋ฐ ๋””์ž์ธ ์ƒ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„์ž…๋˜๊ธฐ ์ „์—๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋น„์˜๋ฏธ์  ๋งˆํฌ์—…๊ณผ ๋ฒˆ๊ฑฐ๋กœ์šด ๋ถ€๋™ ๋˜๋Š” ์œ„์น˜ ์ง€์ • ๊ธฐ์ˆ ์— ์˜์กดํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. CSS ๊ทธ๋ฆฌ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ๊ทธ๋ฆฌ๋“œ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ฃผ์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ๋‹ค์–‘ํ•œ ์›น ์š”์†Œ์˜ ๋ณด๋‹ค ์ง๊ด€์ ์ด๊ณ  ๊ฐ„๋‹จํ•œ ์ •๋ ฌ, ์œ„์น˜ ์ง€์ • ๋ฐ ํฌ๊ธฐ ์กฐ์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž์™€ ์ตœ์ข… ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ถฉ์กฑํ•˜๋ฉด์„œ ์œ ์—ฐํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CSS ์‚ฌ์–‘์˜ ์ผ๋ถ€์ธ ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์€ Google Chrome, Mozilla Firefox, Apple Safari ๋ฐ Microsoft Edge์™€ ๊ฐ™์€ ์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ €์™€์˜ ํฌ๊ด„์ ์ธ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ์žฅ์น˜์—์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ CSS Grid๋Š” Flexbox์™€ ๊ฐ™์€ ๋‹ค๋ฅธ CSS ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์—ฌ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์™„์ „ํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋ ˆ์ด์•„์›ƒ ํˆดํ‚ท์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

CSS ๊ทธ๋ฆฌ๋“œ์˜ ์ฃผ๋ชฉํ• ๋งŒํ•œ ์ธก๋ฉด ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ˜์‘์„ฑ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด ํฌ๊ธฐ, ์žฅ์น˜ ์œ ํ˜• ๋ฐ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๋””์ž์ธ์ด ์ž๋™์œผ๋กœ ์กฐ์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์˜ค๋Š˜๋‚  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹ค์–‘ํ•œ ์žฅ์น˜ ๋ฐ ํ™”๋ฉด ํ•ด์ƒ๋„์™€ ๋ชจ๋ฐ”์ผ ์šฐ์„  ๋””์ž์ธ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ˆ˜์š” ์ฆ๊ฐ€๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ํŠนํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์€ ํŠน์ • ์ค‘๋‹จ์ ์ด๋‚˜ ์กฐ๊ฑด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ CSS ๊ทธ๋ฆฌ๋“œ ์†์„ฑ๊ณผ ๊ทœ์น™์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ๊ณ ๋„๋กœ ์ตœ์ ํ™”๋˜๊ณ  ์ ์‘๋ ฅ์ด ๋›ฐ์–ด๋‚œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ถ๊ทน์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ํ˜œํƒ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ ˆ์ด์•„์›ƒ ๊ธฐ๋Šฅ ์™ธ์—๋„ CSS ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์€ ์š”์†Œ์˜ ์‹œ๊ฐ์  ๋ฐฐ์น˜ ๋ฐ ๋ ˆ์ด์–ด๋ง์— ๋Œ€ํ•œ ์ •๋ฐ€ํ•œ ์ œ์–ด ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ๋ฆฌ๋“œ์˜ ํŠน์ • ์˜์—ญ์„ ๋‹ค์–‘ํ•œ ์š”์†Œ์— ํ• ๋‹นํ•˜์—ฌ ๋”์šฑ ๋ณต์žกํ•œ ๋””์ž์ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ทธ๋ฆฌ๋“œ ํ…œํ”Œ๋ฆฟ ์˜์—ญ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ๊ทธ๋ฆฌ๋“œ ์ง€์›๊ณผ ๊ฐ™์€ ์‹คํ—˜์  ๊ธฐ๋Šฅ์€ ๋ณต์žกํ•˜๊ณ  ์ค‘์ฒฉ๋œ ๊ทธ๋ฆฌ๋“œ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ œ์–ด ๋ฐ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

AppMaster ์™€ ๊ฐ™์€ no-code ํ”Œ๋žซํผ์˜ ๋งฅ๋ฝ์—์„œ CSS Grid์™€ ๊ฐ™์€ ๊ฐ•๋ ฅํ•œ ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์˜ ์ค‘์š”์„ฑ์€ ์•„๋ฌด๋ฆฌ ๊ฐ•์กฐํ•ด๋„ ์ง€๋‚˜์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. No-code ํ”Œ๋žซํผ์€ ์‚ฌ์šฉ ํŽธ์˜์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ์šฐ์„ ์‹œํ•˜๋ฏ€๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ๋„ ์ œํ•œ๋œ ๊ธฐ์ˆ  ์ „๋ฌธ ์ง€์‹์œผ๋กœ ๊ณ ํ’ˆ์งˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CSS Grid๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ํ”Œ๋žซํผ์€ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค๋ ฅ์ ์ด๊ณ  ๊ธฐ๋Šฅ์ ์ธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‹ ์†ํ•œ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ AppMaster ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธํ„ฐํŽ˜์ด์Šค ์ œ์ž‘์„ ์œ„ํ•œ ๊ณ ์œ ํ•œ ์‹œ๊ฐ์  drag-and-drop ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ ˆ์ด์•„์›ƒ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. VueJS ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” UI ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ธฐ์ˆ ์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ๊ณผ ํ•จ๊ป˜ CSS ๊ทธ๋ฆฌ๋“œ์˜ ๊ณ ์œ ํ•œ ์œ ์—ฐ์„ฑ์„ ํ†ตํ•ด AppMaster ๋‹ค์–‘ํ•œ ์žฅ์น˜์—์„œ ํƒ์›”ํ•œ ์„ฑ๋Šฅ๊ณผ ์‘๋‹ต์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •๊ตํ•˜๊ณ  ํ˜„๋Œ€์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Go(Golang)์™€ ๊ฐ™์€ ๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ๊ณผ์˜ ๊ธด๋ฐ€ํ•œ ํ†ตํ•ฉ์€ ๊ธฐ์—… ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ชจ๋‘์— ๋Œ€ํ•œ ๋†’์€ ํ™•์žฅ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ํ”„๋ŸฐํŠธ์—”๋“œ CSS ๊ทธ๋ฆฌ๋“œ๋Š” ํ˜„๋Œ€ ์›น์˜ ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์ด ๋œ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฐ˜์‘ํ˜• ๋””์ž์ธ, ์ •๋ฐ€ํ•œ ์š”์†Œ ์ œ์–ด ๋ฐ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ์€ ํŠนํžˆ AppMaster ์™€ ๊ฐ™์€ no-code ํ”Œ๋žซํผ์œผ๋กœ ์ž‘์—…ํ•  ๋•Œ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. CSS Grid๋ฅผ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ์ „๋ฌธ ๊ฐœ๋ฐœ์ž์™€ ์ผ๋ฐ˜ ๊ฐœ๋ฐœ์ž ๋ชจ๋‘ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค๋ ฅ์ ์ด๊ณ  ๊ธฐ๋Šฅ์ ์ด๋ฉฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ๊ถ๊ทน์ ์œผ๋กœ ๋Œ€์ƒ ๊ณ ๊ฐ์—๊ฒŒ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.