๐Ÿ”ŽWeb

SPA vs MPA (CSR, SSR)

IOTrue 2022. 12. 29. 14:00

์š”์ฆ˜ ๋ฐฉ์‹ vs ๊ณ ์ „ ๋ฐฉ์‹

๐Ÿ”Ž SPA ๋ฐฉ์‹, MPA ๋ฐฉ์‹

โœ… SPA  ๋ฐฉ์‹

SPA : Single Page Application
๋‹จ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

 

-์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ํŽ˜์ด์ง€ ์ด๋™ ์‹œ JS๋ฅผ ํ†ตํ•ด์„œ ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” DOM์˜ ๋‚ด์šฉ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ณ 

     ์ด๋™ํ•  ํŽ˜์ด์ง€์— ๋งž๋Š” ์ปจํ…์ธ ๋กœ DOM์„ ๊ทธ๋ฆฐ ํ›„

     ๋ธŒ๋ผ์šฐ์ € ์ƒ์˜ URL์„ ๋ณ€๊ฒฝํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•œ ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์„ ์ฃผ๋Š” ๋ฐฉ์‹

-์–ด๋–ค ํŽ˜์ด์ง€๋ฅผ ์ ‘์†ํ•˜๋”๋ผ๋„ HTML, CSS, JS๋ฅผ ๋™์ผํ•œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์ ‘์†ํ•œ ํŽ˜์ด์ง€์— ๋งž๊ฒŒ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•œ๋‹ค.

-์ตœ๊ทผ JS ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ SPA๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค. (React, Vue, Angular ๋“ฑ) 

-์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๊ธฐ๋ณธ ๋ผˆ๋Œ€๋งŒ ์žˆ๊ณ , ๊ฐ ํŽ˜์ด์ง€์— ๋งž๋Š” ์ปจํ…์ธ ๋กœ DOM์„ ๊ทธ๋ฆฐ ํ›„ ์žฌ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

-๊ทธ๋ž˜์„œ ํŽ˜์ด์ง€ ์ด๋™์„ ํ•ด๋„ ํ™”๋ฉด ๊นœ๋นก์ž„์ด ์—†๋‹ค!

<html>
  <head>
    <title>Title</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

SPA ๋ฐฉ์‹์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ๋Š” ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค

 

 

โœ… MPA  ๋ฐฉ์‹

MPA : Multiple Page Application
์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

 

-๊ฐ ํ™”๋ฉด๋งˆ๋‹ค HTML, CSS, JS๋“ฑ์˜ ํŒŒ์ผ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

-ํŽ˜์ด์ง€ ๋ณ„๋กœ ํ•ด๋‹น ํŽ˜์ด์ง€์— ๋งž๋Š” HTML, CSS, JS ํŒŒ์ผ ๋“ฑ์„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์„œ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•œ๋‹ค.

-ํŽ˜์ด์ง€ ์ด๋™์‹œ ํ™”๋ฉด ๊นœ๋นก์ž„์ด ์žˆ๋‹ค!

<html>
  <head>
    <title>Title</title>
  </head>
  <body>
    <div>์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ์ปจํ…์ธ </div>
    ...
    ...
    ...
  </body>
</html>

MPA ๋ฐฉ์‹์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ๋Š” ์ด๋ฏธ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค

 

 

๊ทธ๋ฆฌ๊ณ  CSR, SSR ์ด๋ผ๋Š” ๊ฒŒ ์žˆ๋‹ค.

 

๐Ÿ”Ž CSR ๋ฐฉ์‹, SSR ๋ฐฉ์‹

โœ… CSR  ๋ฐฉ์‹

CSR ๋ฐฉ์‹ ์š”์•ฝ ๋„์‹ํ™”

 

CSR : Client Side Rendering

 

-์ฒ˜์Œ์— ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML๊ณผ static ํŒŒ์ผ๋“ค์„ ๋ฐ›์•„์˜ค๊ณ ,

     ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ js๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€ ์ปจํ…์ธ ์— ๋งž๋Š” view๋ฅผ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹.

-์„œ๋ฒ„๋Š” ํŒŒ์ผ ์ „๋‹ฌ์ž ์—ญํ• ๋งŒ ํ•œ๋‹ค.

-์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ฒ˜์Œ์—๋งŒ ํŽ˜์ด์ง€๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ์ดํ›„๋ถ€ํ„ฐ๋Š”

     ํด๋ผ์ด์–ธํŠธ ํ˜ผ์ž ํ™”๋ฉด์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น ๋ฅธ ํ™”๋ฉด ์ „ํ™˜์ด๋‚˜ ์ธํ„ฐ๋ž™์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

-SEO์— ์ทจ์•ฝํ•˜๋‹ค (ํ•˜์ง€๋งŒ ๊ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ SEO ์ทจ์•ฝ์„ ๋ณด์™„ํ•˜๋Š” ๊ธฐ์ˆ ๋“ค์„ ์„ ๋ณด์ด๊ณ  ์žˆ๋‹ค)

-ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ์—๋งŒ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์™€ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€ ์ „ํ™˜์ด ๋น ๋ฅด๋‹ค

 

โœ… SSR  ๋ฐฉ์‹

SSR ๋ฐฉ์‹ ์š”์•ฝ ๋„์‹ํ™”

 

SSR : Server Side Rendering

 

-์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML๊ณผ data๊ฐ€ ํ•จ๊ป˜ ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์„ ๋ฐ›์•„์˜จ๋‹ค.

-์ด๋ฏธ DOM์ด ๋‹ค ๊ตฌ์„ฑ๋œ ํŒŒ์ผ์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๊ตฌ๋™ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

-์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ €์˜ ์ƒˆ๋กœ๊ณ ์นจ์ด ์ผ์–ด๋‚˜๋Š” ๋ฐฉ์‹.

 

 

๐Ÿ’ก CSR, SSR ์ •๋ฆฌ

CSR ๋ฐฉ์‹, SSR ๋ฐฉ์‹ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘

์ ˆ๋Œ€์ ์œผ๋กœ ๋น ๋ฅด๊ฑฐ๋‚˜ ๋А๋ฆฌ๊ฑฐ๋‚˜ ์ข‹๊ณ  ๋‚˜์จ์€ ์—†๋‹ค.

์ด์šฉํ•˜๋Š” ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž์˜ ์ด์šฉ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ๋„ ํ•˜๊ณ 

์‹คํ–‰๋˜๋Š” ๊ธฐํƒ€ ์š”์†Œ๋“ค์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋‚˜ ๋น„์šฉ์— ๋ฏผ๊ฐํ•  ๊ฒฝ์šฐ CSR๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ณ ,

์ •์  ์ฝ˜ํ…์ธ ์™€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” SSR์„ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๊ณ ,

๋‘ ๊ฐ€์ง€๋ฅผ ์„ž์–ด์„œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ฆ‰, ํ”„๋กœ์ ํŠธ๋‚˜ ์„œ๋น„์Šค์— ๋งž๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

 

โ— ๊ฒฐ๋ก 

-CSR ๋ฐฉ์‹, SSR ๋ฐฉ์‹ : ๋ Œ๋”๋ง์„ ์–ด๋””์„œ ํ•˜๋Š”์ง€์˜ ์ฐจ์ด

-SPA ๋ฐฉ์‹, MPA ๋ฐฉ์‹ : ํŽ˜์ด์ง€๋ฅผ ํ•œ ๊ฐœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€์˜ ์ฐจ์ด

 

 

์ด๊ฒƒ์ด CSR ...?

 

 

 

์ฐธ๊ณ 

https://medium.com/walmartglobaltech/the-benefits-of-server-side-rendering-over-client-side-rendering-5d07ff2cefe8