๐ React / Vue / Angular / Svelte ๋ฅผ ๋น๊ตํด๋ณด๋ ์ํฐํด์ ์์ฑํด๋ณด์
๋ผ์ด๋ธ๋ฌ๋ฆฌ(Library)
์ ํ๋ ์์ํฌ(Framework)
๋ ์ฝ๋ ์์ฑ์ ์ฃผ๋๊ถ์ ๋๊ฐ ๊ฐ์ง๊ณ ์๋๋์์ ํฐ ์ฐจ์ด๊ฐ ๋ฉ๋๋ค. ํ๋ ์์ํฌ์ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ ํ๋ ์์ํฌ๊ฐ ์ง๋์ ํ ์์์ ์์ฑ๋์ด์ผ ํฉ๋๋ค. ํ๋ ์์ํฌ๋ผ๋ โํโ ์์์ ์ ๋นํ ํ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ ๊ฒ์ด์ฃ . ๋ฐ๋ฉด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉ์๊ฐ ๊ฐ์ ธ๋ค๊ฐ ์ฐ๋ ํํ ์
๋๋ค. ์ด ๋ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์ฌ์ฉ์๊ฐ ๊ฐ๊ณ ์๊ฒ ์ฃ . ์ฌ์ฉ์๊ฐ ํ์ํ ๋ ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํธ์ถํ์ฌ ๊ตฌ์ฑ๋ ํจ์๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ๊ฐ ์ฐ๋ ๊ฒ์
๋๋ค.
*๋ฆฌ์กํธ์ ๊ฒฝ์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ถ๋ฅ๊ฐ ๋ฉ๋๋ค!
https://2021.stateofjs.com/en-US/libraries/front-end-frameworks
ํ๋ก ํธ์๋์์ ๊ฐ์ฅ ๋ง์ด ์ธ๊ธ๋๊ณ ์ฌ์ฉ๋๋ React, Vue, Angular, Svelte์ ์ฌ์ฉ ํํฉ์ ๋๋ค.
Usage Golden trio! React, Angular, Vue.js
์ด ์
์ ์ด๋ค ํํฉ์์๋ ๊ฑฐ์ ์ ๋ถ๋ถ์ ์ฐจ์งํ๊ณ ์๋ค์. ๊ฐ ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ด๋ค ์์ผ๋ก ์๊ฐํ๋์ง, ๊ฐ์กฐํ๋ ํน์ง์ด ๋ฌด์์ธ์ง ๋ณด๊ธฐ ์ํด ๊ณต์ ์ฌ์ดํธ์ ๋ค์ด๊ฐ ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
๐ขย ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ ์ธํ
๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ ์ปดํฌ๋ํธ๋ง ํจ์จ์ ์ผ๋ก ๋ ๋๋ง. โ ์ฝ๋๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ณ ๋๋ฒ๊น ํ๊ธฐ ์ฌ์.
์ปดํฌ๋ํธ ๊ธฐ๋ฐ
JS๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ ์ปดํฌ๋ํธ ๋ก์ง. DOM๊ณผ ๋ณ๊ฐ๋ก ์ํ ๊ด๋ฆฌ ๊ฐ๋ฅ
ํ ๋ฒ ๋ฐฐ์์ ์ด๋์๋ ์ฌ์ฉํ๊ธฐ
๊ธฐ์ ์คํ์ ๋๋จธ์ง ๋ถ๋ถ์๋ ๊ด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ React์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ด์ฉํด ๊ฐ๋ฐํ ์ ์์.
๐ย ํน์ง
๐ขย the modern web developerโs platform
Develop across all platform
ํ ๋ฐฉ์์ผ๋ก application์ buildํ๋ฉด ๋ค๋ฅธ ์ฑ์ ์ฌ์ฌ์ฉํ ์ ์๋ค.
speed & performance
์น ํ๋ซํผ์์ ๊ฐ์ฅ ๋น ๋ฅธ ์คํผ๋. SSR
incredible tooling
๊ฐ๋จํ๊ณ ๋ช ํํ ํ ํ๋ฆฟ, ํ์ฅ์ฑ ์ ์ด
loved by millions
๐ย ํน์ง
๐ขย The Progressive JavaScript Framework
Approchable
html, css, js ํ์ค์ผ๋ก ๋ง๋ค์ด์ก๋ค
Performant
๋ฐ์ํ, ๋ ๋๋ง ์์คํ ์ต์ ํ, ์๋ ์ต์ ํ ์ต์ํ
Versatile(๋ค์ฌ๋ค๋ฅํ, ๋ค์ฉ๋์)
์ ์๊ฐ๋ฅํ ์ํ๊ณ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ถํฐ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ํ๋ ์์ํฌ๊น์ง.
๐ย ํน์ง
๐ขย Cybernetically enhanced web apps
๐ย ํน์ง
๋ด๊ฐ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ฒ๋ค์ํด. - ์์ ์ ์๋ก๊ณ ์นจํ์ง ์๊ณ ์์ ๋ ํ์ผ์ ๋ด์ฉ ๋ฐ์ ๊ฐ๋ฅ
HMR(Hot Module replace)
์ฌ์ค ์ ๊ฐ ์ฒ์ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ด ์ด์ ๋ ๋ช ํํ์ต๋๋ค. ์ ๋ ๊ฐ๋ฐ ์ด๋ณด์๊ณ , ์ผ๋จ ๊ฐ์ฅ ๋ง์ด ์ด๋ค๋/์ด๋ณด์๊ฒ ์ถ์ฒ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ๋ฆฌ์กํธ์ ํจ๊ป ๊ฐ๋ฐ์ ์ ํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ ์์ฐ์ค๋ฝ๊ฒ ์ฒซ ํ๋ก์ ํธ ๊ทธ๋ฆฌ๊ณ ๋ค์ ํ๋ก์ ํธ์์๋ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค.
์ ๊ฐ ์ฒ์ ๊ฐ๋ฐ์ ๋ฐฐ์ฐ๋ ค๊ณ ํ ๋ ์ด๋์๋ ์ถ์ฒ ๋ฐ์๋ฏ์ด ์ง๊ธ ํ๋ก ํธ์๋์์ React๋ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
์ง์ ์ฌ์ฉํด๋ณธ ๊ฒฐ๊ณผ, ๊ตฌ๊ธ๋ง์ ํด๋ด๋ ๋ฆฌ์กํธ์ ๊ดํ ์ ๋ณด๊ฐ ์์ฃผ ๋ง์๊ณ , ์ด์ ๋ฐ๋ผ ์ฒ์ ์ฐธ์ฌํ ํ๋ก์ ํธ์์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํ ๋ฐ๋ฌธ์ ํ์ง๋ ์์์ต๋๋ค. ์ ๊ฐ ์ง๊ธ ์ฐธ์ฌํ๊ณ ์๋ ํ๋ก์ ํธ๋ฅผ ์ถ์ํ ๋๋ React๋ฅผ ์ฌ์ฉํ๊ณ , 2์ฐจ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ค๋ ์ง๊ธ๋ React๋ฅผ ์ฌ์ฉํ๊ณ ์ ํฉ๋๋ค.
ํ์ง๋ง Svelte์ โ๋น ๋ฅด๋คโ์ด๋ผ๋ ํน์ง์ ์ ๋๊ธธ์ด ๊ฐ๊ฒ ํ์ต๋๋ค.
๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋๋ฌด๋ ์์ฐ์ค๋ฌ์ ์์๋ ๋์ ๋ค์ด์๋ ํ๋ ์์ํฌ, Svelte์ ๋๋ค. ์๊น ์ฌ์ฉ ํํฉ์ ํ์ธํ๋ ํ์์ Retention๊ณผ Interest ๋ถ๋ถ์์ Svelte๋ ์์๊ถ์ ์ฐจ์งํ๊ณ ์์ต๋๋ค.
๋ฆฌ์กํธ์ next.js๊ฐ ์๋ ๊ฒ์ฒ๋ผ svelte์๋ svelteKit๊ฐ ์๋๋ฐ, svelteKit๋ฅผ ์ฌ์ฉํ๋ฉด SSR์น์ฑ์ ๊ตฌ์ถํ๊ฑฐ๋ ๋ผ์ฐํ ๋ฐฉ๋ฉด์์ ํธ๋ค๋ง์ด ์ฌ์์ง๋๋ค. (๊ฐ๋จํ๊ฒ ์ ๋ฆฌ๋ ์ฌ์ฉ๋ฐฉ๋ฒ ๋ธ๋ก๊ทธ) ์์ง svelteKit๋ ์ ์ ๋ฆด๋ฆฌ์ฆ ๋จ๊ณ๊ฐ ์๋์ง๋ง ์กฐ๋ง๊ฐ Official Release๊ฐ ๋์ฌ ๊ฒ ๊ฐ์ ๋ณด์ ๋๋ค.
์ ์ ์ฝ๋๋ก ๊ฐ๋ ์ฑ โฌ๏ธ, ๋๋ฒ๊น ์ฝ๊ฒ
Write less code!
No virtual DOM
virtual DOM์ ์ฌ์ฉํ์ง ์์์ผ๋ก์จ(๋ฒ์ธ์ผ ๋์ ์์ฑํ๊ณ ๊ธฐ์กด ๋๊ณผ ๋น๊ตํ๋๋ฐ ๋ฆฌ์์ค๊ฐ ๋ค์ด๊ฐ์ง ์์) ๋ค์ด๊ฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ฆฌ์กํธ์ ๊ฑฐ์ 1/3๋ฐฐ
๋ ์ ์ ์ฝ๋๋ก ์ง๊ด์ ์ผ๋ก ์ฝ๋๋ฅผ ์ฝ์ ์ ์์๊ณ , ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฆฌ์กํธ์ ๋นํด ์๋นํ ์ ๊ฒ ๋ ๋ค๋ ์ ์ด ๊ต์ฅํ ๋งค๋ ฅ์ ์ด์์ต๋๋ค. React๋ค์์ผ๋ก๋ Svelte๋ฅผ ๊ณต๋ถํด๋ณผ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
https://yozm.wishket.com/magazine/detail/1620/
https://heropy.blog/2019/09/29/svelte/