๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘Code/JavaScript

JavaScript | MPA์™€ SPA & SSR๊ณผ CSR

by pajiyeee 2023. 7. 4.

MPA์™€ SPA

MPA

  • multi page application ์˜ ์•ฝ์ž
  • ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€(HTMLํŒŒ์ผ)๋กœ ๊ตฌ์„ฑ๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ํด๋ฆญ๊ณผ ๊ฐ™์ด ์ธํ„ฐ๋ ‰์…˜์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด html ์„ ๋ฐ›์•„์™€์„œ ํ•ด๋‹น ๋งํฌ๋กœ ์ด๋™ํ•˜์—ฌ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ์ƒˆ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ์ „ํ†ต์ ์ธ ์›น ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ๋ฐฉ์‹

SPA

  • Single Page Application์˜ ์•ฝ์ž
  • ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€(HTMLํŒŒ์ผ)๋กœ ๊ตฌ์„ฑ๋œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ๋ธŒ๋ผ์šฐ์ €์— ์ตœ์ดˆ์— ํ•œ ๋ฒˆ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋กœ๋“œํ•˜๊ณ , ์ดํ›„๋ถ€ํ„ฐ๋Š” ํŠน์ • ๋ถ€๋ถ„๋งŒ Ajax๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๋ฐฉ์‹
  • ๋‹จ์ธ ํŽ˜์ด์ง€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)๋Š” ํ˜„์žฌ ์›น๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
  • react/vue, ์•ต๊ทค๋Ÿฌ์™€ ๊ฐ™์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์ด SPA ๋ฐฉ์‹

 

 

SSR๊ณผ CSR

- SSR์€ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค์ง€๋งŒ, CSR์€ json ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›์•„์˜ค๊ฒŒ ๋œ๋‹ค.

 

SSR(Server Side Rendering)

  • Multi page application ์€ SSR ๋ฐฉ์‹ ์ฑ„ํƒ
  • ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์˜ ์•ฝ์ž๋กœ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์™„์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ html ํŒŒ์ผ์„ ๋ฐ›์•„์™€ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹
  • ๊ณผ์ •
    • ๋จผ์ € ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ดˆ๊ธฐ ํ™”๋ฉด์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒ„
    • ๊ทธ๋Ÿผ ์„œ๋ฒ„๋Š” ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด์™€ ๋ชจ๋‘ ์‚ฝ์ž…ํ•˜๊ณ  css๊นŒ์ง€ ๋ชจ๋‘ ์ ์šฉํ•ด์„œ ๋ Œ๋”๋ง ์ค€๋น„๋ฅผ ๋งˆ์นœ html๊ณผ js ์ฝ”๋“œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์‘๋‹ต์œผ๋กœ ์ „๋‹ฌ
    • ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๋ฐ”๋กœ ์ „๋‹ฌ ๋ฐ›์€ ํŽ˜์ด์ง€๋ฅผ ๋„์›€
    • ์ด์–ด, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ js์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  html ์‹คํ–‰
  • ๋‹จ์ 
    • ํŽ˜์ด์ง€์—์„œ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ์„œ๋ฒ„ html๋กœ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์™„์ „ํ•œ ๋ฆฌ์†Œ์Šค๋กœ ์‘๋‹ตํ•จ
    • ๋”ฐ๋ผ์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ์ƒˆ๋กœ๊ณ ์นจ๋˜์–ด ํ™”๋ฉด์ด ๊นœ๋นก์ธ ํ›„์— ํ‘œ์‹œ
    • TTV(Time TO View)์™€ TTI(Time To Interact)๊ฐ„์˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์ด ์กด์žฌ
      • ๋นˆ ๊ป๋ฐ๊ธฐ ์›นํŽ˜์ด์ง€๊ฐ€ ๋˜์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋ ค๊ณ  ํ•ด๋„ ์•„๋ฌด๋Ÿฐ ๋ฐ˜์‘์ด ์—†์„ ์ˆ˜๋„ ์žˆ์Œ
    • ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์ค€๋น„ํ•ด์„œ ์‘๋‹ตํ•˜๋ฏ€๋กœ ์„œ๋ฒ„์ธก ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€
  • ์žฅ์ 
    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ html์— ๋‹ด๊ฒจ์ ธ ๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”์— ์œ ๋ฆฌ
    • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ™”๋ฉด์„ ๋ Œ๋”ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋ฅผ ๋จผ์ € ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋”ฉ

 

CSR(Client Side Rendering)

  • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์‘๋‹ต ๋ฐ›์•„ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐฉ์‹(ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ ์•„๋‹˜)
  • ๊ณผ์ •
    • ๋จผ์ € ํด๋ผ์ด์–ธํŠธ์—์„œ ์ดˆ๊ธฐํ™”๋ฉด์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒ„
    • ๊ทธ๋Ÿผ ์„œ๋ฒ„๋Š” ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์™„์ „ํ•œ ๋ฆฌ์†Œ์Šค์˜ ์‘๋‹ต
    • ๋ชจ๋“  jsํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„์•ผ ํ•˜๊ธฐ ๋–„๋ฌธ์— ์ดˆ๊ธฐ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆผ
  • ์žฅ์ 
    • ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋น ๋ฅธ ์†๋„
    • ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์š”์ฒญํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€๋‹ด์„ ์ค„์ž„
    • ํด๋ฆญ ๊ฐ™์€ ์ธํ„ฐ๋ž™์…˜์œผ๋กœ ์ธํ•œ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งํฌ๊ฐ€ ์—†์–ด ๊นœ๋นก์ž„ ์—†์ด ๋ถ€๋“œ๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜
  • ๋‹จ์ 
    • ์›นํฌ๋กค๋Ÿฌ๊ฐ€ ํŽ˜์ด์ง€ ์ƒ‰์ธํ™” ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‚ด์šฉ์ด ๋นˆ ํŽ˜์ด์ง€์ฒ˜๋Ÿผ ๋ณด์—ฌ seo์— ๋ถˆ๋ฆฌ
    • ์ดˆ๊ธฐ์— ๋ชจ๋“  js ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„ ์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.

 

 

 

TTV ์™€ TTI

- ์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ๋ถ„์„ ์‹œ TTV ์™€ TTI๋„ ์ค‘์š”ํ•œ ์š”์†Œ๋กœ ์‚ฌ์šฉ

 

- CSR์€ TTV = TTI

CSR์€ ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ๊ณผ ๋™์‹œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ธํ„ฐ๋ž™์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋ž˜์„œ ์ตœ์ข…์ ์œผ๋กœ ๋ฒˆ๋“ค๋งํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ด์ฃผ๋Š” JSํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํšจ์œจ์ ์œผ๋กœ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์„์ง€, 

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ฒซ ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•œ๋‹ค.

 

- SSR์€ TTV  TTI

SSR์€ ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ธฐ์™€ ์ธํ„ฐ๋ž™์…˜์ด ๊ฐ€๋Šฅํ•œ ์‹œ๊ธฐ์˜ ๊ณต๋ฐฑ๊ธฐ๊ฐ„์ด ์กด์žฌ

๊ทธ๋ž˜์„œ ์‹œ๊ฐ„ ๋‹จ์ฐจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๊ณ ,

์–ด๋–ป๊ฒŒ ๋” ๋งค๋„๋Ÿฌ์šด UIUX๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•œ๋‹ค.

 

TTV

  • Time To View
  • ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณด๋Š”๋ฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

 

TTI

  • Time To Interaction
  • ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ธํ„ฐ๋ž™์…˜์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

 

 

 

 

 

 

 

๐Ÿ“Œ์ฐธ๊ณ ๊ธ€

https://miracleground.tistory.com/165

https://velog.io/@wiostz98kr/SSR-CSR-SSG-TTV-TTI-๊ฐœ๋…-์ •๋ฆฌ

https://callmedevmomo.medium.com/์›น-๋ Œ๋”๋ง์˜-2-๊ฐ€์ง€-์ ‘๊ทผ-csr-ssr-๋ถ€์ˆ˜๊ธฐ-ba9e2b9c0d6b

'๐Ÿ”‘Code > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

JavaScript | Code kata | week 2 .day 1  (0) 2023.03.28