๊ธ์ชฝ ๊ฐ์ velopert ๊ฐ์
๊ฐ์ธ์ ์ผ๋ก๋ React
๊ฐ์๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ๊น๋ฏผ์ค ๊ฐ์ฌ๋์ ๊ฐ์๊ฐ ๋๋ฌด ์ค๋ช
์ด ์ข์์ ๋ค์๋ ์ ์ด ์์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ฌ์์๋ ์
๋ฌด ํน์ฑ์ React๊ฐ ์๋ Vue.js๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค.
๊ทธ๋์ Vue.js๋ฅผ ๋ฐฐ์ธ ๋๋ ๊น๋ฏผ์ค ๊ฐ์ฌ๋์ ๊ฐ์๊ฐ ์ฝ๊ฒ ์ฝํ ๊ฒ ๊ฐ์์ ๋ธ๋ก๊ทธ์์ Vue.js ๊ฐ์ข๋ฅผ ์ฝ๊ณ ์์๋๋ฐ ๊ฐ์ข์ ๋ค์ ๊ธ์ด ๋ง์นจ ์์ ๋งํฌ์ ๋ฌ๋ฆฐ ๊ธ์ด์์ต๋๋ค. ์ฐ์ฐํ ์ฝ๊ฒ ๋์์ต๋๋ค. ์ฌ๊ธฐ์ ์ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋ช
์ ๋ฐ์์ต๋๋ค.
์ฒซ์งธ๋ก๋ ์ ๋ง ํ๋ก๋ต๊ฒ ๋ชจ๋ ๊ฒ์ ์ ๋ฌธ์ ์ผ๋ก ๊ฐ๋ฅด์น์๋ ๋ถ๊ป๋ ์ด๋ฌํ ๊ณ ๋ฏผ์ด ์์ผ์
จ๋ค๋ ์ .
๋์งธ๋ก๋ ์ด ๊ธ์ฒ๋ผ ํ ๋ถ์ผ(React)์์ 200%์ ์ญ๋์ ๋ณด์ฌ์ค ์ ์๋ ๊ฐ๋ฐ์๊ฐ ๋ฉ์๋ค๊ณ ์๊ฐํ๊ณ ๊ทธ๋ ๊ฒ ๋๊ณ ์ถ๋ค๋ ๊ธ์ฒ๋ผ ๋น์ ๊ป์ ๊ฟ์ ์ด๋ฃจ์
จ๋ค๋ ์ .
์ฐธ๊ณ ๋ก ํจ์คํธ์บ ํผ์ค์ ์ฌ๋ผ์จ ๊ฐ์๋ 2019๋
์ด์๊ณ 2018๋
์๋ ๊น๋ฏผ์ค ๊ฐ์ฌ๋์ ๊ฐ์๋ฅผ ๊ฐ๋ช
๊น๊ฒ ๋ดค๋ ์ ์ด ์์ต๋๋ค. ๊ทธ๋์ ์ด์ ์์ ์ ์ด๋ ๊ฒ ๋๊ฒ ๋ค๋ ํฌ๋ถ๋ฅผ ๋ฐํ์๊ณ ์ ๋ง ๋ชฉํ๋ฅผ ์ฑ์ทจํ์
จ๋ค๋ ๊ฒ์ ๋ณด์์ ๋ ์ ๋ ๋๋ฌด ๋๋ผ์ ์ต๋๋ค.
๊ทธ๋์ ์ ๋ํ ๊ผญ ๋ฆฌ์กํธ๋ฅผ ๋ค์ ํ์ตํ๋ ๊ฒ๋ง์ด ์๋๋ผ ๊น๋ฏผ์ค ๊ฐ์ฌ๋์ ์ข์ ๊ฐ์๋ฅผ ์๊ฐํ๋ฉด์ ๋ฌดํํ ์ญ๋์ ํ์ ๊ฐ๋ฐ์๋ก์ ์ฑ์ฅํ๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค.
์ ๊ฐ Vue.js๋ฅผ ํ์ฌ์์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ํ๋๋ผ๋ React๋ฅผ ๋์ ์ ์๋ ์ด์ ๊ฐ ๋ฐ๋ก ์ด๊ฒ์
๋๋ค.
์์ผ๋ก ์ ๊ฐ ์ด๋ค ํ๋ฐํธ์๋ ๊ธฐ์ ์ ๋ ์ ๋ฌธ์ ์ผ๋ก ์ตํ๊ฒ ๋ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ง๊ธ์ ์์น์์๋ React์ Vue ๋ชจ๋ ์ต์ ์ ๋คํ๊ณ ์ถ์ต๋๋ค.
ํน์ ์๋์? React๋ฅผ ๊ฐ์๊ธฐ ํ์ฌ์์ ์ฐ๋ผ๊ณ ํ๊ฒ๋ ์ง ๋ฏธ๋๋ ์๋ฌด๋ ๋ชจ๋ฅด๋ ๊ฑฐ๋๊น์!
Vue.js๋ jQuery๋ฅผ ์ฐ๋ ๊ฒ์์ ์ฝ๊ฐ ์ง๋ณดํ SPA์ฑ์ ๋ง๋ค ์ ์๋ค๋ ๋๋์ด๋ผ๋ฉด, React๋ ์์ ๊ทธ ์ด์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. React๋ CSS์กฐ์ฐจ๋ styled-component๋ฅผ ์ด์ฉํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ๋จ์์ CSS๋ฅผ ์ ์ํ๋ ๊ฒ์ด ๋์ธ๊ฐ ๋์์ผ๋๊น์. ๊ทธ๋ฆฌ๊ณ React hook์ผ๋ก ์ํ๊ด๋ฆฌ๋ฅผ ํ ๋์๋ ES6๋ฌธ๋ฒ์ธ ๋ฐฐ์ด ๋์คํธ๋ญ์ฒ๋ง์ ์ด์ฉํฉ๋๋ค. ์ง๊ธ ์ ๋ React๊ฐ Vue๋ณด๋ค ์ฐ์ํ๋ค๊ณ ๋ง์๋๋ฆฌ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋งํผ React๊ฐ ๋ ๋ง์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น์ค์ ๋ ๋ง์ด ๋๋ ์ชฝ์ผ๋ก ๊ฐ๊ณ ์๊ธฐ์ React๋ฅผ ๊ณต๋ถํ๋ ค๋ฉด Vue๋ณด๋ค ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ๊ฒฝ์ ๋ ๋ง์ด ์จ์ผ ํ๋ค๋ ์๋ฏธ์ ๋๋ค.
์ด์ ์ ์ ๊ฐ jQuery๋ฅผ ์ฌ์ฉํ ๋๋ ๋์ค๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ๋ฏ ์ํฌ์ ์ผ๋ก๋ง ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด ์จ ๊ฒ ๊ฐ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฐ๋ผ๋ ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์๋ ์ต์ํ์ง๋ง ์์ง๋ ํ๋กํ ํ์ดํผ์ปฌํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฒด๊ณ์ ๊ดํด ์ฌ๊ณ ํ๋ ค๋ฉด ์๊ฐ์ด ํ์ํ ๊ฒ ๊ฐ๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๊ณผ ์ ๋ฌธ๋ฒ์ ์ข ๋ ์ง์คํ์ฌ ์ ๊ณต๋๋ ๋นํธ์ธ ๋ฉ์๋๋ฅผ ์ ํ์ฉํ๋ ๋ฐ ํ๋ จ์ ๋ง์ด ํด๋ณด๋ ค๊ณ ์๊ฐํ์ต๋๋ค. ๋ฌผ๋ก ์ด ๊ณผ์ ์ ๋งค์ฐ ์ง๋ฃจํ๊ณ ํ๋ค๊ฒ ์ง๋ง, ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํํํ ํ ํ ํ ์ด ํ๋ก์ ํธ์์ ์ ๊ฐ ๋๋ฆ๋๋ก ๋ง์กฑํ ๋งํ ์ข์ ์ฑ๊ณผ๋ฅผ ๋ด๋น์น๊ณ ์ถ์ต๋๋ค.
-
ํ๋ฐํธ์๋์ ๋ค์ํ ํ๋ ์์ํฌ&๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ตํ๋ฉด์ IT์ ๊ฒฌ๋ฌธ์ ๋ํ๊ณ ์ถ์ต๋๋ค.
-
๋คํํ ๋ฆฌ์กํธ๋ ์ด๋ฏธ ์ ํ๋ ๋ถ๋ถ์ด๋ผ ํ๋ฃจ ์ผ๊ณผ ํ ์ฒด๋ ฅ์ด ๋ชจ์๋ผ๋ ๋ ๊ฐ๋ณ๊ฒ ๊ณต๋ถํ ์ ์์ต๋๋ค.
-
์ด๋ฏธ ๋ฆฌ์กํธ ๊ฐ์๋ Redux๋ถ๋ถ๊น์ง ์๊ฐํ๋ ๋ถ๋ถ์ ๋๋ค. ํ์ง๋ง ์ ๋ถ ๋ค์๋ค๊ณ ํ๋๋ผ๋ ๋ชจ๋ ๋ด ๊ฒ์ด ๋ ๊ฒ์ด ์๋๊ณ ์ด๋ฏธ Vue.js๋ฅผ ๊ณต๋ถํ๋ฉด์ ๋ง๊ฐ๋์ด ๊ฐ๊ณ ์๋ ํ์ต ๊ณก์ ์ ๋์ด๋ฆฌ๊ณ ์ ํฉ๋๋ค.
๐ ๊ฐ์ธ์ ์ผ๋ก ๋ฆฌ์กํธ๋ฅผ ๋ ๐ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
- 1ํ๋ : ์๋ฃ (2020. 10. 12. ~ 2021. 1. 9.)
- 2ํ๋
: ์๋ฃ (2021. 3. 3. ~ 2021. 3. 27.)
- 1ํ๋ ์์ ๋ถ์กฑํ ๋ถ๋ถ ์์ฃผ๋ก ์๊ฐ
- 3ํ๋
: ์์ (2021. 6. 12. ~ (โ ํ์ฌ))
- ํ์ํ ๋ถ๋ถ๋ง ์ค์ตํ๊ณ ๋์ด๊ฐ๊ธฐ
- ์ด์ Hello world ์ถ๋ ฅ ์์ค์ ์์ ๋ ๊ตณ์ด ๋ณด๋ฉด์ ๋ฐ๋ผ ์น ํ์๊ฐ ์๋ค๊ณ ํ๋จ.
- ๋์ ์ข ๋ ์ด๋ ค์ด ๋ด์ฉ์ ์ง์คํ์
- useState๋ ์๋๊น useReducer์ ์ข ๋ ์ง์คํด ๋ณด๊ธฐ
- react-router-dom์ ๊ฐ์๋์ ์์ด๋ ์๋ธ๋ผ์ฐํ ๊น์ง ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ๋ชฉํ!
- ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ดํด ์กฐ๊ธ ๋ ์ง์คํ์
- ํ์ํ ๋ถ๋ถ๋ง ์ค์ตํ๊ณ ๋์ด๊ฐ๊ธฐ
โถ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ
- ๐ 1์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ: Javascript ์ ๋ฌธ
- ๐ 2์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ: ์๊ณ ์์ผ๋ฉด ์ ์ฉํ JS ๋ฌธ๋ฒ
- ๐ 3์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ: ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ค๋ฃจ๊ธฐ
โถ ๋ชจ๋ ๋ฆฌ์กํธ
- ๐ 1์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: ๋ฆฌ์กํธ ์ ๋ฌธ
- ๐ 2์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: ์ปดํฌ๋ํธ ์คํ์ผ๋ง
- ๐ 3์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: ๋ฉ์ง ํฌ๋๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
- ๐ 4์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: API ์ฐ๋
- ๐ 5์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: Router
- ๐ 6์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: Redux (2ํ๋ /2ํ๋ )
- ๐ 7์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: Redux ๋ฏธ๋ค์จ์ด
- ๐ 8์ฅ. ๋ฒจ๋กํผํธ์ ํจ๊ป ํ๋ ๋ชจ๋ ๋ฆฌ์กํธ: ํ์ ์คํฌ๋ฆฝํธ์ ๋ฆฌ์กํธ ํจ๊ป ์ฌ์ฉํ๊ธฐ