SPA๋ ๋ณธ์ ์ด ์๋๋ฐ SSR์ด๋ผ๋ ๋ง์ ์ด๋ฉด์ธ๊ฒ๊ฐ์์...
์ฐพ์๋ณด๋ค๊ฐ ๊น๋จน๊ธฐ์ ์ ์ ๋ฆฌํด๋๋ค!
1. CSR (Client Side Rendering)
- ํด๋ผ์ด์ธํธ์์ js๋ฅผ ํตํด ๋ ๋๋ง ํ๋ ๋ฐฉ์
- SPAํ์์ ๋๋ถ๋ถ์ ํ๋ก ํธ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Vue, React...)๊ฐ CRS๋ฐฉ์์ผ๋ก ๋ง๋ค์ด์ง
- ์ด๊ธฐ ๋ ๋๋ง ์๊ฐ ๋ฌธ์ , SEO๋ฌธ์ , ๋ฉํ๋ฐ์ดํฐ ๋์ ์์ฑ์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด SSRํ๋ ์์ํฌ(Next.js, Nuxt.js...)๋ฅผ ๋ณด์ ํ๊ณ ์์
1-1. SPA (Single Page Application)
- Client Side Rendering(Client Side Navigation)๋ฐฉ์
- ์ดํ๋ฆฌ์ผ์ด์ ์๋ช ์ฃผ๊ธฐ์ค์์ ํ๋ฒ๋ง ๋ฆฌ์์ค๋ฅผ ๋ก๋ฉํ๊ณ , ๊ทธ ํ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ๋์๋ง ์๋ฒ์ ํต์ ํจ
- ์ฒ์ ์์ฒญ์ ๋ฑ ํ๋ฒ ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค๊ณ , ํ์ด์ง๋ฅผ ์ด๋ ํ ๊ฒฝ์ฐ ๊ธฐ์กด ํ์ด์ง ๋ด๋ถ๋ฅผ ์์ ํด์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์
- ํ์ํ ๋ถ๋ถ๋ง ๊ฐฑ์ ํ๊ธฐ์ ์์ฐ์ค๋ฌ์ด ํ์ด์ง ์ด๋์ด ๊ฐ๋ฅํจ
- React, Vue ๋ฑ์ด ๋์ค๋ฉด์ ๋์ ํ!
2. SSR (Server Side Rendering)
- ์ ํต์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฉ์
- ํ์ด์ง๋ฅผ ์ด๋ํ ๋๋ง๋ค ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํจ
- ๋ชจ๋ ํ ํ๋ฆฟ์ ์๋ฒ ์ฐ์ฐ์ ํตํ์ฌ ๋ ๋๋งํ๊ณ , ์์ฑ๋ ํ์ด์ง ํํ๋ก ๋ณด์ฌ์ค
- ์น์์ ์ ๋ณด์ ๊ธฐ๋ฅ์ด ๋ง์์ง๋ฉด์ spa ๊ฐ๋ ์ด ์๊ฒผ๋ค๊ณ ํจ.
2-1. MPA (Multiple Page Application)
- ํ๋ก ํธ์ ๋ฐฑ์ด ๊ฐํ๊ฒ! ๊ฒฐํฉ ๋ผ์์
- AJAX๋ก ๋ถ๋ถ์ ์๋ก๊ณ ์นจ์ ํตํด ๋จ์ ์ ๋ณด์ํ๋ ๋ฏ ํ์ผ๋... ์์ง ๋ถ์กฑํ๋ค๋ ์๊ฒฌ์ด ๋ง์๋ค๊ณ ํ๋ค
๐์ฅ์ | ๐๋จ์ | |
SPA | - ์์ฐ์ค๋ฌ์ด ํ๋ฉด - ํ์ํ ๋ฆฌ์์ค๋ง ๋ถ๋ถ์ ์ผ๋ก ๋ก๋ฉ ๊ฐ๋ฅ - ์๋ฒ์ ํ ํ๋ฆฟ์ฐ์ฐ์ ํด๋ผ์ด์ธํธ๋ก ๋ถ์ฐ - ์ปดํฌ๋ํธ๋ณ๋ก ๊ฐ๋ฐ์ด ์ฉ์ด - ๋ชจ๋ฐ์ผ์ฑ ๊ฐ๋ฐ์ ๋์ผํ API ์ฌ์ฉ ๊ฐ๋ฅ |
- JSํ์ผ์ ํ๋ฒ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ๊ตฌ๋์๋ ๋๋ฆผ (webpack์ code splitting์ผ๋ก ํด๊ฒฐํ ์ ์๋ค ํจ) - ๊ฒ์์์ง ์ต์ ํ(SEO)๊ฐ ์ด๋ ค์ -๋ณด์ ๋ฌธ์ ์ |
SSR | - ๊ฒ์์์ง ์ต์ ํ!!!!! (๊ฒ์ ๋ก๋ด์ด ํ์ด์ง๋ฅผ ํฌ๋กค๋งํ๊ธฐ์ ๋งค์ฐ ์ข๋ค๊ณ ) - ๋ทฐ๋ฅผ ์๋ฒ์์ ๋ ๋๋งํ์ฌ ๊ฐ์ ธ์ค๋ฏ๋ก ์ฒซ ๋ก๋ฉ์ด ๋งค์ฐ ์งง์ |
- ํ๋ฉด์ด ๊น๋นก์ - ํ์ด์ง ์ด๋ ์ ์ค๋ณต ํ ํ๋ฆฟ๋ ๊ณ์ ๋ฐ์์ค์ผ ํจ - ์๋ฒ ๋ ๋๋ง์ ๋ฐ๋ฅธ ๋ถํ - ๋ชจ๋ฐ์ผ์ฑ ๊ฐ๋ฐ ์ ์ถ๊ฐ์ ์ธ ๋ฐฑ์๋ ์์ ์๊ตฌ |
ํ๋๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ์ ์ ํ ํ์ฉํ์ฌ ์์ด ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๊ณ !
์์๋ ๋งํ๋ฏ์ด React → Next.js, GatsbyJS / Vue → Nuxt.js ๋ฑ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ
SPA์์ SEO๋ฅผ ํ ์ ์๊ฒ ๋์์ค๋ค๊ณ ํ๋ค.
๊ทผ๋ฐ ๊ทธ๋์ SEO๊ฐ ๋ญ์ง์ ๋ํ ๊ถ๊ธ์ฆ์ด ๋ ์๊ฒผ๋ค๐ญ
SEO (Search Engine Optimization, ๊ฒ์์์ง ์ต์ ํ)
์น ํ์ด์ง ๊ฒ์์์ง์ด ์๋ฃ๋ฅผ ์์งํ๊ณ , ์์๋ฅผ ๋งค๊ธฐ๋ ๋ฐฉ์์ ๋ง๊ฒ ์น ํ์ด์ง๋ฅผ ๊ตฌ์ฑํด์ ๊ฒ์ ๊ฒฐ๊ณผ์ ์์์ ๋์ฌ ์ ์๋๋ก ํ๋ ์์ ! ๋ฉ์ง ์ฌ์ดํธ์ ๋ฉ์ง ์ ๋ณด๋ค์ด ๊ฐ๋ํด๋ ๊ทธ๊ฒ ๊ฒ์ํ์ ๋ ๋ ธ์ถ๋์ง ์์ผ๋ฉด... ์๋ฌด๋ ๋ชจ๋ฅด๋.. ๊ฐ๋ผํ๊ณ ์ค ์ฌ์ดํธ๊ฐ ๋๊ธฐ ๋๋ฌธ์... ๋ง์ด ๋ณด์ฌ์ผ ๋ง์ด ํผ์ง๋๊น!
'๐๊ณต๋ถ > ํฐ ๋ฐ๊ฒฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
0์ ํฉํ ๋ฆฌ์ผ (0) | 2020.12.09 |
---|---|
์ค๋ ๊ณ์ฐํ๊ธฐ (0) | 2020.12.05 |
๊ฐ์ด ๋ฐ๋ณต๋ ๋์ ์ฐ์ฐ (0) | 2020.11.11 |
Java vs Js (0) | 2020.11.07 |
์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์, ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (0) | 2020.11.06 |
๋๊ธ