SPA๋ ์ฑ๊ธ ํ์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก(html ํ์ผ์ด ํ๊ฐ), ์๋ฒ๋ก๋ถํฐ ์๋ก์ด ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค์ง ์๊ณ ํ๋ฉด์ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ง ์๋ฒ์์ ์ ๋ฌ๋ฐ์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ธ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋งํ๋ค.
SPA ์ฅ์
- ๋ชจ๋ํ ๋ฐ ์ปดํฌ๋ํธ ๊ฐ๋ฐ์ ์ฉ์ด
- ์ ์ฒด ํ์ด์ง๋ฅผ ์ ๋ฐ์ดํธ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์ฐ์ค๋ฌ์ด UX๋ฅผ ์ฐ์ถ(๊น๋นก๊ฑฐ๋ฆด ์ผ์ด ์์)
- ์๋ฒ ์ ์ฅ์์๋ ์์ฒญ๋ฐ์ ๋ฐ์ดํฐ๋ง ๋๊ฒจ์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ณผ๋ถํ๋ฅผ ์ค์
SPA ๋จ์
- ํด๋ผ์ด์ธํธ๊ฐ ์ต์ด๋ก ์๋ฒ์ ์์ฒญํ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ์ต์ด ํ์ด์ง ๋ก๋ฉ์๋๊ฐ ๋๋ฆผ (=> ์ฝ๋ ์คํ๋ฆฌํ ๊ฐ์ )
- ํด๋ผ์ด์ธํธ์ ์ค์ ๋น์ฆ๋์ค ๋ก์ง์ด ๋ ธ์ถ๋ ์ ์์
- SPA๋ ํ๋์ ํ์ด์ง์ ์ฌ๋ฌ ํ์ด์ง๋ฅผ JS๋ก ๊ตฌํํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ JS๋ฅผ ์ฝ์ง ๋ชปํ๋ ๊ฒ์์์ง์ ๋ํด์๋ ํฌ๋กค๋ง์ด ์๋์ด ์์ธ์ด ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ณ , MPA์ ๊ฐ์ด Headํ๊ทธ ๋ถ๋ถ์ ๋ฉํ ํ๊ทธ๋ฅผ ์ฝ์ ํ์ฌ๋ SPA๋ ํด๋น ์ฌ์ดํธ ๋ด์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋๋ผ๋ HTML์ ๋ณ๋๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ํ์ด์ง์ ๋์ผํ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์ํ๋ค. ์ด๋ฌํ ์ด์ ๋ก ๊ฒ์์์ง์ต์ ํ(SEO)์ ๋ฌธ์ ๊ฐ ๋ ์ ์์
SPA์ MPA์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ ๋ก๋ฉ๋ฐฉ์์ ์๋ค.
MPA๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ต์ด ์์ฒญ์ ํ๊ฒ ๋๋ฉด ํ๋์ ์ ์ ์ธ ํ์ด์ง์ ๋ชจ๋ ์์ค๋ฅผ ๊ฐ์ ธ์จ๋ค. ๊ทธ ํ์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๊ธฐ ์ํด ์ฌ์ฉ์๊ฐ ํด๋ฆญ์ ํ๊ฒ๋๋ฉด ๋๋ค์ ์๋ก์ด ์ ์ ์ธ ํ์ด์ง ์ ์ฒด๋ฅผ ๊ฐ์ ธ์จ๋ค.
๋ฐ๋ฉด SPA๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ต์ด๋ก ์์ฒญ์ ํ๊ฒ๋๋ฉด HTML, CSS, JS ๋ฑ ์ฌ์ดํธ์ ํ์ํ ๋ชจ๋ ์์ค๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ค์ ์์ฒญ์๋ AJAX๋ฅผ ์ด์ฉํด ๋ณ๊ฒฝ์ ํ์ํ ๋ถ๋ถ๋ง ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ด๋ค.