SPA๋ฅผ ์ค๋ช ํ๊ธฐ ์ SPA๋ฅผ ์ ์ฌ์ฉํ๋์ง?
์ ํต์ ์ธ ์น ์ฌ์ดํธ๋ ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํ ๋๋ง๋ค ์ ์ ๋ฆฌ์์ค๊ฐ ๋ค์ด๋ก๋๋๊ณ ์ ์ฒด ํ์ด์ง๋ฅผ ๋ค์ ๋ ๋๋ง ํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฏ๋ก ์๋ก๊ณ ์นจ์ด ๋ฐ์๋์ด ์ฌ์ฉ์ฑ์ด ์ข์ง ์์ผ๋ฉฐ, ๋ณ๊ฒฝ์ด ํ์์๋ ๋ถ๋ถ์ ํฌํจํ์ฌ ์ ์ฒด ํ์ด์ง๋ฅผ ๊ฐฑ์ ํ๋ฏ๋ก ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค.
์น ์ฌ์ดํธ์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์๋ฒ์ชฝ์์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆด ์ ๋ฐ์ ์๋ค. ๊ทธ ๋งํผ ์๋์ ์ธ ์ธก๋ฉด์์ ์ฌ์ฉ์๋ ๋ถํธํจ์ ๊ทธ๋๋ก ๋๋ผ๊ฒ ๋๋ค.
ํ๋ฆดํ๋ฅ ์ด ๋์ ๊ฐ์ธ์ ์ธ ์ง์(์์ ๊ฐ๋ฅ์ฑ ๋์โ)
Traditional Page Lifecycle
HTML → CSS → DOM → Web browser
SPA Lifecycle
HTML → CSS → Virtual Dom → DOM(ํ์ ์์๋ง ๋ณ๊ฒฝ) → Web browser
Traditional Page Lifecycle vs SPA Lifecycle
SPA(Single Page Application)์ ๋ฑ์ฅ
์๋ฒ๋ก๋ถํฐ ์์ ํ ์๋ก์ด ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค์ง ์๊ณ ํ์ฌ์ ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ๋ค์ ์์ฑํจ์ผ๋ก์จ ์ฌ์ฉ์์ ์ํตํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์น ์ฌ์ดํธ๋ฅผ ๋งํ๋ค.
์ด๋ฌํ ์ ๊ทผ์ ์ฐ์๋๋ ํ์ด์ง๋ค ๊ฐ์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ญ์ ๋ง์์ฃผ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ฒ๋ผ ๋์ํ๋๋ก ๋ง๋ค์ด์ค๋ค,
SPA์์ HTML, ์๋ฐ์คํฌ๋ฆฝํธ, CSS ๋ฑ ํ์ํ ๋ชจ๋ ์ฝ๋๋ ํ๋์ ํ์ด์ง๋ก ๋ถ๋ฌ์ค๊ฑฐ๋, ์ ์ ํ ์์๋ค์ ๋์ ์ผ๋ก ๋ถ๋ฌ๋ค์ฌ์ ํ์ํ๋ฉด ๋ฌธ์์ ์ถ๊ฐํ๋๋ฐ, ๋ณดํต ์ฌ์ฉ์์ ๋์์ ์๋ตํ๊ฒ ๋๋ ๋ฐฉ์์ด๋ค.
SPA(Single Page Application)์ ์ฅ์
- ๋น ๋ฅธ ๋ก๋ฉ ์๊ฐ
- ์ข์ ์บ์ฑ ๋ฅ๋ ฅ
- ํฅ์๋ ์ฌ์ฉ์ ๊ฒฝํ
- ์ ์ํ ํ๋ก ํธ์๋ ๊ฐ๋ฐ
Reference
https://www.excellentwebworld.com/what-is-a-single-page-application/
'Frontend > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React/Axios] ๐คฌ Axios message: 'Network Error'(CORS ์ค๋ฅ) (0) | 2022.10.30 |
---|---|
[React/Axios] axios delete ์์ฒญ ์ body์ data ๋ฃ๋ ๋ฐฉ๋ฒ (0) | 2022.10.20 |
[React] React Router(๋ฆฌ์กํธ ๋ผ์ฐํฐ) ์ฌ์ฉํ๊ธฐ (0) | 2022.07.27 |
[React] React.PureComponent(์ฑ๋ฅ ํฅ์) (0) | 2022.07.03 |
[React] React ์ฌ์ฉํ ๋ ์๊ณ ์์ผ๋ฉด ์ข์ ๊ฒ! (1) | 2022.07.01 |