3์๊ฐ ๋ง์ ํ๋ฃจ๋ฃฉ!
Elm๊ณผ ํจ๊ป ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊น์ง ๊ณต๋ถํด์ ๐
ํ๋ก ํธ์๋ ํนํ ์ธ์ด, Elm โ๏ธ
Elm(์๋ฆ)์ ์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์น์ฑ์ ๋ง๋ค ์ ์๋ ํ๋ก ํธ์๋ ํนํ ์ธ์ด์
๋๋ค. ์น ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ์ GUI(Graphical user interface)๋ฅผ ์ ์ธ์ ์ผ๋ก ์์ฑํ๊ธฐ ์ํ ๋๋ฉ์ธ ํนํ ์ธ์ด๋ก, ์ฌ์ฉ์ฑ๊ณผ ๊ฒฌ๊ณ ์ฑ ๋ฑ์ ํนํ ์ค์ํฉ๋๋ค.
FE ํ๋ ์์ํฌ๊ฐ ๋ณต์กํ๋ค๋ฉด
Elm ํ ๋ฒ ์ฌ์ฉํด ๋ณด์ธ์ ๐
Elm์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด์ ํ๋ก ํธ์๋ ์น์ฑ ์ ์ฉ ํ๋ ์์ํฌ์
๋๋ค. ์ธ์ด์ ํ๋ ์์ํฌ๋ฅผ ๊ฐ๊ฐ ๊ณต๋ถํ ํ์ ์์ด, ๋จ๋ฒ์ ์น์ฑ์ ๋ง๋ค ์ ์๊ฒ ๋ฉ๋๋ค.
๋ฆฌ์กํธ๋ ๋ทฐ ๋ฑ์ ์ฃผ๋ฅ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ๊ฐ ๋๋ฌด ๋ณต์กํ๋ค๊ณ ๋๋ผ์
จ๋ค๋ฉด, Elm์ด ๊ทธ ๋์์ด ๋ ์๋ ์๊ฒ ์ต๋๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๊ฒฝ์ฐ, ์๋ก์ด ํ๋์ ์ ํํ๋ ํ๋ฐํธ์๋ ์ชฝ ํ๋ ์์ํฌ๋ฅผ ๋ฐฐ์ฐ๊ธฐ๋ ๋ฒ
์ฐน๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋ค ๊ฐ์ถฐ์ง Elm ํ๋๋ง ๊ณต๋ถํด์ ๋น ๋ฅด๊ฒ ๋ด๊ฒ ํ์ํ ์น์ฑ์ ๋ง๋ค์ด ๋ด
์๋ค.
์ด ๊ฐ์๋ Elm ํ์ค ๋ฌธ์๋ฅผ ํจ๊ป ์ฝ๊ณ ๋ฐ๋ผ ํ๋ ๋ฐฉ์์ผ๋ก ํ์ตํฉ๋๋ค. ์น์ฑ์ ๋ง๋๋ ํ๋ฅญํ ์ํคํ
์ฒ์ธ The Elm Architecture(TEA)๋ฅผ ๊ณต๋ถํฉ๋๋ค. ๊ณต์ ๋ฌธ์๋งํผ ์ข์ ๊ฒ ์์ง๋ง, ํผ์ ์๋ฌธ ๋ฌธ์๋ฅผ ๋ค ์ฝ๋ ๊ฒ์ ์ฝ์ง ์์ฃ . ๊ธฐ์ด ๋ฌธ๋ฒ๋ถํฐ ํ์
, ์น์ฑ ์ ์, ์ต์ ํ๊น์ง ์น์ ํ ํ๊ตญ์ด ์ค๋ช
๊ณผ ํจ๊ป๋ผ๋ฉด ๋ฌธ์ ์์ด ๋๊น์ง ๋ฐ๋ผ๊ฐ์ค ์ ์์ผ๋ฆฌ๋ผ ๊ธฐ๋ํฉ๋๋ค.
Elm ๊ณต์ ๋ฌธ์
์ด ๊ฐ์์ ์ง์๊ณต์ ์๋์ โ๏ธ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ด์ฌ ์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก์, ๊ฐํน ์
๋ฌด ๋ด์ธ์ ์ผ๋ก ์น์ฑ์ ๋ง๋ค์ด์ผ ํ ๋ Elm์ ์๊ธดํ๊ฒ ํ์ฉํ ๊ฒฝํ์ด ์์ด์, ์ด ๋ฌด๋ฃ ๊ฐ์๋ฅผ ๊ณต๊ฐํ๊ฒ ๋์์ต๋๋ค.
- ๋ผ์ธํ๋ฌ์ค์์ ๊ด๊ณ ์์ต ๋ฐฐ๋ถ ์์คํ
์ ๋ฐฑ์๋ ๋ฐฐํฌ ๊ด๋ฆฌ ์ฑ์ Elm์ผ๋ก ๊ฐ๋ฐํด์ ์ด์
- ์ ์ฃผ ๊ฐ๋ฐ์ ๋ชจ์ ์ด์ ํ์ด์ง๋ฅผ Elm์ผ๋ก ๊ฐ๋ฐํด์ ์ด์
์ด๋ฐ ๋ถ๋ค๊ป ์ถ์ฒํด์ ๐โโ๏ธ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ด์ฌ ์๋ ํ๋ฐํธ์๋ ๊ฐ๋ฐ์
๋ด๋ถ ๊ด๋ฆฌ ํด ๋ฑ ์น์ฑ์ ๋ง๋ค์ด์ผ ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์
๊ฐ๋จํ ํ๋ฐํธ์๋ ์น์ฑ ํ๋ ์์ํฌ๋ฅผ ์ฐพ๊ณ ์๋ ๋ถ
๐ค ์ด ๊ฐ์์ ํจ๊ปํด์
- ์์ ํจ์๋ก ์น์ฑ์ ๋ค์ํ ์ดํํธ๋ฅผ ๊น๋ํ๊ฒ ๋ค๋ฃจ๋ ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
- ๋ฐฑ์๋ ๊ฐ๋ฐ์์กฐ์ฐจ๋ ์ฝ๊ฒ ์น์ฑ์ ๋ง๋ค ์ ์๊ฒ ๋ฉ๋๋ค.
- Elm์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก๋ง ๊ฐ๋ฐํ ์ ์์ต๋๋ค. Elm์ผ๋ก ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๋ ์์ฐ์ค๋ฝ๊ฒ ์ตํ๊ฒ ๋ฉ๋๋ค.
- ์ ๊ทธ๋ ๊ฒ ๋ณต์กํ ํ๋ ์์ํฌ๋ฅผ ๊ณต๋ถํ๋๋ผ ํ๋ค์๋, ์ด๋ ๊ฒ ์ฌ์ด ๋์์ด ์์๋๋ฐ ๊ฐํํ๊ฒ ๋ฉ๋๋ค.
์์ ์ง๋ฌธ Q&A ๐ฌ
Q. Elm์ด ๋ญ๊ฐ ์ข๋์?
Elm์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด์, ํ๋ก ํธ์๋ ์น์ฑ ์ ์ฉ ํ๋ ์์ํฌ์
๋๋ค. ์ธ์ด ๋ฐ๋ก ํ๋ ์์ํฌ ๋ฐ๋ก ๊ณต๋ถํ ํ์ ์์ด, ๋จ๋ฒ์ ์น์ฑ์ ๋ง๋ค ์ ์๊ฒ ๋ฉ๋๋ค.
Q. ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ ์ค๋นํด์ผ ํ ๊ฒ์ด ์๋์?
HTML/CSS ๊ฒฝํ์ ์์ด์ผ ์ข๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ฌ์ ๊ฒฝํ์ด ์์ผ๋ฉด ์์ํ๊ฒ ํ์ตํ์ค ์ ์์ต๋๋ค. ๋ฆฌ์กํธ๋ ๋ทฐ ๋ฑ์ ํ๋ ์์ํฌ ๊ฒฝํ์ ์์ผ๋ฉด ๋์์ด ๋์ง๋ง, ์์ด๋ ์๊ฐ์ ์ ํ ๋ฌธ์ ์์ต๋๋ค.
์๊ฐ ์ ์ฐธ๊ณ ์ฌํญ ๐ข
์ค์ต ํ๊ฒฝ
- ์ด์ ์ฒด์ ๋ฐ ๋ฒ์ (OS): Windows, macOS, Linux, Ubuntu ๋ฑ ๋ฌด๊ด, ์น๋ธ๋ผ์ฐ์ ํ๊ฒฝ.
- ์ฌ์ฉ ๋๊ตฌ: ์น ๋ธ๋ผ์ฐ์ ๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.
ํ์ต ์๋ฃ
์ ์ ์ง์ ๋ฐ ์ ์์ฌํญ
- HTML/CSS ๊ธฐ์ด์ง์์ด ํ์ํฉ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ๋์ ํ๊ฒฝ์ ์๊ณ ์์ด์ผ ํ์ง๋ง, ์์ค๋์ ๊ฒฝํ์ด ํ์ํ์ง๋ ์์ต๋๋ค.
๊ฐ์ ์ธ๋ค์ผ ๋ฐฐ๊ฒฝ์ฌ์ง ์ด๋ฏธ์ง ์ถ์ฒ: Unsplash์Dylan Freedom