์ด ๊ธ์ Bradfrost ์ ์๋ "front of the front-end and back of the front-end web development" ๋ฅผ ๋ฒ์ญํ ๊ธ ์ ๋๋ค. ์๋ฌธ
๊ณ์ํด์ ์ด์ด์ง๋ ์๋ง์ ๋
ผ๋๋ค(..)
ํ๋ก ํธ์๋์ ์
๋ฌด ๋ฒ์๋ ๊ณผ์ฐ ์ด๋๊น์ง์ผ๊น?
์ํ ๋ฏน ๋์์ธ์์คํ
(Atomic design system)์ ์ ์ํ์๋
'๋ธ๋๋ ํ๋ก์คํธ(Bradfrost)'๊ฐ ์ด ๋
ผ๋์ ์ข
๊ฒฐ์ํค๋ ค ๊ธ์ ์์ฑํ์์ต๋๋ค.
์ ๋ชฉ์ "front of the front-end and back of the front-end web development" ์ ๋๋ค.
[1] front of the front-end
1. ํ๋ก ํธ ์ฝ๋๋ฅผ ์ํ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ์ ๋ฌด ์ ์
ํ๋ฉด์ ๋ณด์ฌ์ง๋ UI๋ฅผ ์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋
HTML, CSS, JavaScript ์ฝ๋ ์์ฑ์ ์ ๋ฌธ์ผ๋กํ๋ ์น ๊ฐ๋ฐ์ ์ ๋๋ค.
2. ์์ ์์ญ
-
HTML
์๋งจํฑ ๋งํฌ์ ๊ณผ ์ ๊ทผ์ฑ์ ์ค์ ์ ๋๊ณ
์น์ํ ๋ธ๋ผ์ฐ์ (friendly to browsers), ๊ธฐ์ ๋ณด์กฐ (assistive technologies)
๊ฒ์ ์์ง (search engines), ๊ธฐํ ๋ค๋ฅธ ํ๊ฒฝ (and other environments)
๋ฑ ์ ์ํด HTML์ ์์ฑํฉ๋๋ค. -
CSS
๋ณด์ด๋ ๊ฒ๊ณผ, ๋๋ผ๋ ๊ฒ์ ์ปจํธ๋กค ํ๋
์น ๊ฒฝํ, ์ปฌ๋ฌ, ํ์ดํฌ๊ทธ๋ํผ, ๋ฐ์ํ ๋ ์ด์์, ์ ๋๋ฉ์ด์ , ๊ธฐํ UI ๋ฑ
ํ๋ก ํธ์๋๋ CSS ๋ชจ๋ ์ค๊ณ, ์ ์ฐ์ฑ, ํธํ์ฑ, ํ์ฅ์ฑ์ ์ค์ ์ ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. -
DOM
๋์์ ์กฐ์ ๊ฐ๋ฅํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํฉ๋๋ค.
์๋ฅผ๋ค์ด ์ ๋ชฉ์ ํด๋ฆญ ํ ๋ ์์ฝ๋์ธ ํจ๋์
์ด๊ธฐ, ๋ซ๊ธฐ, ๋ชจ๋ฌ์ฐฝ ๋ซ๊ธฐ ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์กฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. -
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์
PC, ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ ๋ฑ ๊ธฐํ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๋ ๋๋ฐ์ด์ค์์
UI๊ฐ ์ ๋์ค๋์ง ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ ๋๋ฐ์ด์ค๋ฅผ ํ ์คํธ ํฉ๋๋ค. -
์ฑ๋ฅ ์ต์ ํ
ํ๋ก ํธ์๋ ์ฝ๋๋ก ์์ฑํ๋ ์ฑ๋ฅ ์ต์ ํ๋
๊ฐ๋ณ๊ณ ๋น ๋ฅธ ๋ก๋ฉ๊ณผ, ๋ฒ๋ฒ ์์ด ์๋ ๊ฒฝํ์์ํด ์ฑ๋ฅ์ ์ต์ ํ ํฉ๋๋ค. -
๋์์ด๋์์ ํ์
๋ธ๋๋, ๋์์ธ๋น์ , ์ฌ์ฉ์๊ฒฝํ(UX), ๋ฒ ์คํธ ํ๋ํฐ์ค(์ต๊ณ ์ ์ฌ๋ก)๋ค์ ์ฌ๋๋ค์ด ์ค์ ๋ก ํ๋ก๋ํธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ ์ฅ์์ธ
์น ๋ธ๋ผ์ฐ์ ์ ์ ์ ํ๊ฒ ๋ณด์ฌ์ค ์ ์๋๋ก ๋์์ด๋์ ํ์ ์ ํฉ๋๋ค. -
๋ฐฑ์๋ ์ฝ๋๋ค์ ๋์์ ๊ณ ๋ คํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ค๊ณผ์ ํ์
์๋น์ค, API, ์ํคํ ์ฒ ๋ฑ ๋ฐฑ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ํ์ ์ ํฉ๋๋ค.
-
UI ์ปดํฌ๋ํธ
๋ค๋ฅธ ๊ฐ๋ฐ์๋ถ๋ค๋ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋๋ก
UI ์ปดํฌ๋ํธ๋ฅผ ํ ํ๋ฆฟ ๋จ์๋ก ํจํค์งํ ํฉ๋๋ค. -
๊ฒฌ๊ณ ํ๊ณ ์ง๊ด์ ์ธ ๋ฌธ์ํ
๊ฐ presentational component๋ค์ ์ํ ์ปดํฌ๋ํธ API ๋ค์ ๋ํ์ฌ
๊ฒฌ๊ณ ํ๊ณ ์ง๊ด์ ์ธ ๋ฌธ์ํ๋ฅผ ์ํํ์ฌ, ๊ฐ๋ฐ์๋ค์ด ์ฝ๊ฒ ์์ ์ด ์ํ๋ ์์น์์
ํด๋น ์ปดํฌ๋ํธ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. -
๋จ์ํ ์คํธ
์ปดํฌ๋ํธ๊ฐ ์ ๋๋ก ๋์ํ๋์ง ํ์ธํ๊ธฐ ์ํด
UI ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋์ ๋ํ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํฉ๋๋ค. -
์ข ํฉ ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ฐ์ฑ๊ณผ ๊ตฌ์ฑ์ฑ์ ์ค๊ณ
๊ฐ๋ฐ์๋ค๊ณผ ํ๋ ฅํ๊ธฐ ์ํด์๋ ๊ฐ ์ปดํฌ๋ํธ๋ค์
์ด๋ป๊ฒ ์ด๊ณ /๊ตฌ์ฑํ ์ ์๋์ง ์ดํดํ๋๊ฒ๊ณผ
๊ฒฝ์ง/์ ๊ธ ๋ฐฉ์์ด ์ด๋ป๊ฒ ๋์ด์๋์ง ํ์ ํฉ๋๋ค. -
ํ๋ก๋ํธ์์ ๊ด๋ฆฌํ๋ ์ปดํฌ๋ํธ ์ ์ง๊ด๋ฆฌ
์ํํธ์จ์ด ์ ํ ์ ์ง๊ด๋ฆฌ๋ฅผ ํ๋ ค๋ฉด
๋ฒ์ ๊ด๋ฆฌ, ๋ฐฐํฌ, ๊ด๋ฆฌ, ๋ฆด๋ฆฌ์ฆ๋ ธํธ ์์ฑ ๋ฑ ๋ชจ๋ ์ด์๊ณผ ๊ด๋ จ๋ ๊ด๋ฆฌ๋ฅผ ํฉ๋๋ค.
[2] Back of the front-end
1. ๋ฐฑ์๋ ์ฝ๋๋ค์ ๋์์ ๊ณ ๋ คํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ์ ๋ฌด ์ ์
๋ฐฑ์๋ ๊ฐ๋ฐ์์ ํ์ ํ๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋
์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๋๋ฐ ํ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ์น ๊ฐ๋ฐ์ ์ ๋๋ค.
2. ์์ ์์ญ
-
์ ํ๋ฆฌ์ผ์ด์ ๋น์ฆ๋์ค ๋ก์ง ์์ฑ
CRUD (create, read, update, delete)์ ๊ฐ์ ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ํด
์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ผ์ฐํธ, ์บ์ฌ, ์ธ์ฆ(authentication) ๋ฑ๋ฑ
์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋๋ก ์๋ํ๋๋ก ํ์ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. -
๋ฐ์ดํฐ ์์ค, ์๋น์ค, API๋ค์ ์ฐ๊ฒฐ ๋ฐ ํตํฉ ๊ด๋ฆฌ
CMS์์ ์ ์ ๊ฐ ํผ์ ์์ฑํ ์์์ ์ ์ถํ ๋
ํด๋น ์๋น์ค ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก
์ปจํ ์ธ ๋ฅผ ๊ฒ์(retrieving), ์กฐ์(manipulating)ํ ์ ์๋๋ก ์์ ํฉ๋๋ค. -
UI ์ฝ๋์ฌ์ฉ
ํ๋ฉด์ ๋ณด์ฌ์ง๋ UI๋ฅผ ์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ํ๋ ฅํ์ฌ
ํ๋ฉด์ ๊ตฌ์ฑํ๊ณ ์ค์ ๊ธฐ๋ฅ ๋ฐ์ดํฐ์ ์๋น์ค๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. -
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์ฑ๋ฅ ์ต์ ํ
๋น ๋ฅธ ๋ฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด
๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ค๊ณ , ๊ฒ์ํ๋๋ก ์ฑ๋ฅ์ ์ต์ ํ ํฉ๋๋ค. -
ํตํฉ ํ ์คํธ
์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๋๋ก ์๋ํ๋๋ก
ํ์ชฝ ๋์์ ๋ค๋ฅธ์ชฝ ๋๊น์ง(end-to-end) ์์ฑํ ๊ฒ์ ํตํฉํ๊ฑฐ๋ ๊ธฐํ ํ ์คํธ๋ฅผ ์์ฑํฉ๋๋ค. -
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ ์ธํ๋ผ ์ค๊ณ
Nodejs ํ๋ ์์ํฌ๋ ํด, ๊ทธ๋ฆฌ๊ณ ์๋น์ค์ ๊ฐ์ ๊ฒ๋ค๋ก ์ธํ๋ผ๋ฅผ ์ค๊ณํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
-
๋ฐ๋ธ์ต์ค(Devops) ๊ด๋ฆฌ
์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค๋ฌ, ๋ฐฐํฌ ๋๊ตฌ, CI/CD ๋ฑ๋ฑ ๋ฐ๋ธ์ต์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
-
๋ค๋ฅธ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ํ๋ ฅ
ํ๋ฉด์ ๋ณด์ฌ์ง๋ UI๋ฅผ ์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ํ๋ ฅํ์ฌ ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ ๋ชจ๋ ์ปดํฌ๋ํธ๊ฐ ์ ํฌํจ๋์ด์๋์ง, ๋ณํ๊ฐ๋ฅํ์ง, ํ์ํ API๋ ์ ๊ฑธ๋ ค์๋์ง ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๋น๋ํ๊ธฐ ์ ์ ํ์ธํฉ๋๋ค.
-
ํ๋ก๋ํธ ํ๊ณผ ํ๋ ฅ
๋ชจ๋ ํ๋ก๋ํธ์ ์ํ๋ฅผ ๋ผ์ด๋ธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์
์ ํํ ์์ ํ ์ํ๋ฅผ ์ ์งํ ์ ์๋๋ก ํ๋ก๋ํธ ํ๊ณผ ํ๋ ฅํฉ๋๋ค. -
๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๋ค๋ฅธ IT ๋ถ์์ ํ๋ ฅ
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๋ฐฑ์๋ ์ฝ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋๋ก ํตํฉ/ํต์ ํ ์ ์๋์ง
๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๋ค๋ฅธ IT ๋ถ์์ ํ๋ ฅํ์ฌ ์ฌ๋ฐ๋ฅธ ๊ธฐ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถ ํฉ๋๋ค.
์ด ๋ฌธ์๋ ํ๋ก ํธ์๋ ์
๋ฌด์ ํผ๋์ ๊ฐ๊ณ ๊ณ์ ๋ถ๋ค์ด ์ฝ์ผ๋ฉด ์ข์ ๋ฏ ํ์ฌ ์์ฑํ์์ต๋๋ค.
๊ฐ ํ์ฌ์ ์
๋ฌด์ ๋ฐ๋ผ Bradfrost ๊ฐ๋ฐ์๊ฐ ์์ฑํ ๋ฌธ์์ ์ค์ ์
๋ฌด๋ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค.