#
SSR and Next.js์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(SSR)์ด๋ ์๋ฒ์์ ์ฝ๋๋ฅผ ์คํํด์ ๋ ๋๋งํ๋ ๊ฒ์ ๋งํ๋ค.
๋ค์์ ์ฅ์ ์ ๊ฐ์ง๋ค.
๊ฒ์ ์์ง ์ต์ ํ(SEO)
๋น ๋ฅธ ์ฒซ ํ์ด์ง ๋ ๋๋ง
#
์งง์ ํ์คํ ๋ฆฌ(AJAX๊ฐ ์๋ ์์ ) ์๋ฒ์์ ์ ์ฒด HTML์ ๋ง๋๋ ๋ฐฉ์
AJAX์ ๋ฑ์ฅ
๋น๋๊ธฐ์ ์ผ๋ก ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ์ฌ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ ๋๋งํ์ง ์๊ณ , ๊ฐฑ์ ์ด ํ์ํ ์ผ๋ถ๋ง ๋ ๋๋งํ ์ ์๊ฒ ๋จ.
๋์ ์ผ๋ก HTML์ ๋ง๋ค๋ฉด์ JavaScript์ ์ญํ ์ด ๋์ด๋๊ฒ ๋จ.
SPA๋ก..
JavaScript MVC Framework์ ๋ฑ์ฅ
Backbone.js, Ember, Knockout ...
MVC Framework์ ๋ํ์ AngularJS
React์ ๋ฑ์ฅ
Virtual DOM์ ์ด์ฉ
Flux ์ํคํ ์ณ
์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ์ง์
- (๋ฐฐ๊ฒฝ) V8 ์์ง, Node.js ๋ฑ์ผ๋ก ์๋ฒ์์๋ JS ๊ธฐ๋ฐ์ ํด๋ผ์ด์ธํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ํ ์ ์์
์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ ๋ ๋ฒ ๋ ๋๋ง ํ๋ค. ์๋ฒ ์ฌ์ด๋์์ ์์ฑ๋ HTML์๋ ์ด๋ฒคํธ ์์ฑ์ด ์๋ค. ๋ ๋ฒ์งธ ๋ ๋๋งํ ๋ ์ด๋ฏธ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ด ๋์ด ์๋ค๋ฉด, ์์ฑ๋ DOM์ ์ค์ง ์ด๋ฒคํธ ์์ฑ๋ง ์ถ๊ฐํ๋ค.
์ React์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ธ๊ฐ?
#
๋ฆฌ์กํธ์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋งrenderToString : ๋ฌธ์์ด์ ๋ฐํํ์ฌ HTML์ DOM์ ์ถ๊ฐํ๋ค.
hydrate : ๋ ์์์ ํ์ํ ์ด๋ฒคํธ ์ฒ๋ฆฌ ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ค.
๐ ๋์ค์ ์ง์ ํด๋ด์ผ๊ฒ ๋ค..!
#
Next.jsNext๋ ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง์ ํนํ๋ ํ๋ ์์ํฌ๋ค.
์๋ฒ์ฌ์ด๋ ๋ ๋๋ง์ ์ฅ์
SEO
์ด๊ธฐ ๋ก๋ฉ ์ฑ๋ฅ ๊ฐ์
์ด๋ฏธ์ง ๋ฆฌ์์ค ์ต์ ํ
์ ์ ํ์ผ ์๋น
- ๋ฐฐ๋ ์ด๋ฏธ์ง, ์์ด์ฝ ๋ฑ๋ฑ์์ ์ฌ์ฉํจ
์ฝ๋ ์คํ๋ฆฌํ ์๋ํ
์นํฉ ๊ธฐ๋ฐ ํ๊ฒฝ (create-react-app๊ณผ ๋ฌ๋ฆฌ ์นํฉ ์ค์ ๋ณ๊ฒฝ์ด ์ฝ๋ค.)
#
์๋ฒ์์ ์์ฑ๋ ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐgetInitialProps
: ๊ตฌ๋ฒ์ ์์ ์ฌ์ฉํ data fetching ๋ฐฉ์getStaticProps
: ๋น๋ ์ ๊ณ ์ ๋๋ ๊ฐ์ผ๋ก ๋น๋ ์ดํ์๋ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค.- static data๋ฅผ ์ํด (๋ณ๊ฒฝ๋์ง ์์ ๋ฐ์ดํฐ. ๋ธ๋ก๊ทธ ํฌ์คํธ ๋ฑ๋ฑ ...)
getServerSideProps
: ๋น๋์ ์๊ด์์ด ๋งค ์์ฒญ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก๋ถํฐ ๊ฐ์ ธ์จ๋ค.- ๋งค๋ฒ ๋ณ๊ฒฝ๋ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ํด (์ํ ๋ชฉ๋ก. ์ค์๊ฐ ๋ด์ค ๋ฑ๋ฑ ...)
getStaticPaths
: ๋น๋ ํ์ ๋ ์ ์ ์ผ๋ก ๋ ๋๋งํ ๊ฒฝ๋ก ์ค์ .