SPA?

apro_xoΒ·2021λ…„ 11μ›” 20일
0
post-thumbnail

1. SPA?

Single Page application

졜초 ν•œλ²ˆ νŽ˜μ΄μ§€ 전체λ₯Ό λ‘œλ”©ν•œ 이후 λΆ€ν„°λŠ” λ°μ΄ν„°λ§Œ λ³€κ²½ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλŠ” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λœ»ν•œλ‹€.

Vue.js와 React.jsμ—μ„œ μ±„νƒν•˜λŠ” 방식인데, 기쑴의 μ›Ή νŽ˜μ΄μ§€μ˜ 단점을 λ³΄μ™„ν•˜μ§€λ§Œ SPA의 단점 μ—­μ‹œ μ‘΄μž¬ν•œλ‹€. 이λ₯Ό 기쑴의 μ›Ή νŽ˜μ΄μ§€μ™€ λΉ„κ΅ν•˜λ©΄μ„œ μ•Œμ•„λ³΄μž.

2. κΈ°μ‘΄ μ›Ή νŽ˜μ΄μ§€

κΈ°μ‘΄ μ›Ή νŽ˜μ΄μ§€μ—μ„œλŠ” μ‚¬μš©μžκ°€ λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œ 이동할 λ•Œ λ§ˆλ‹€ μƒˆλ‘œμš΄ HTML을 λ°›μ•„μ˜€κ³  νŽ˜μ΄μ§€λ₯Ό λ‘œλ”©ν•  λ•Œ λ§ˆλ‹€ μ„œλ²„μ—μ„œ λ¦¬μ†ŒμŠ€λ₯Ό 전달 λ°›μ•„μ„œ ν•΄μ„ν•œ λ’€ 화면에 보여쀬닀.

λ”°λΌμ„œ μ„œλ²„κ°€ ν•  일이 λ§Žμ•˜κΈ° λ•Œλ¬Έμ—, μ„±λŠ₯μƒμ˜ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμ—ˆλ‹€. μ„œλ²„ νŠΈλž˜ν”½μ΄ 많이 λ‚˜μ˜¬ μˆ˜λ„ 있고 λ§Žμ€ μ‚¬μš©μžκ°€ λͺ°λ¦¬λ©΄ κ³ΌλΆ€ν•˜κ°€ κ±Έλ €μ„œ μ„œλ²„κ°€ λ‹€μš΄ λ˜λŠ” λ“±μ˜ λ¬Έμ œκ°€ λ°œμƒ κ°€λŠ₯ν–ˆλ‹€. 캐싱과 압좕을 톡해 μ–΄λŠ 정도 보완할 수 μžˆμ§€λ§Œ μš”μ¦˜ 처럼 μ‚¬μš©μžμ™€μ˜ μΈν„°λž™μ…˜μ΄ λ§Žμ€ νŽ˜μ΄μ§€μ˜ 경우 이 방법 λ˜ν•œ νž˜λ“€μ–΄μ§„λ‹€.

λ˜ν•œ ν™”λ©΄ μ „ν™˜μ΄ ν•„μš”ν•  λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ HTML을 뢈러였기 λ•Œλ¬Έμ— λ°”λ€” ν•„μš”κ°€ μ—†λŠ” λΆ€λΆ„κΉŒμ§€ μƒˆλ‘œ 받아와 λ‘œλ”©ν•˜λ―€λ‘œ 맀우 λΉ„νš¨μœ¨μ μ΄λ‹€.

이λ₯Ό 보완할 수 μžˆλŠ” 것이 SPA이닀.

3. Vue, React etc..

μš”μ¦˜ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλ“€μ΄ 많이 μ‚¬μš©ν•˜λŠ” Vue.js와 React.js와 같은 라이브러리 λ˜λŠ” ν”„λ ˆμž„μ›Œν¬λ“€μ€ SPA λ°©μ‹μ˜ κ°œλ°œμ„ 도와쀀닀.

μš°μ„  νŽ˜μ΄μ§€ μ „ν™˜μ΄ μžˆμ„ λ•Œ μ„œλ²„μ— μš”μ²­ν•˜μ—¬ μƒˆλ‘œμš΄ HTML을 κ°€μ Έμ˜€λŠ” 것이 μ•„λ‹ˆλΌ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λ Œλ”λ§μ„ λ‹΄λ‹Ήν•˜λ©° μ‚¬μš©μžμ™€μ˜ μΈν„°λž™μ…˜μ΄ λ°œμƒν•œλ‹€λ©΄ 변경이 ν•„μš”ν•œ λΆ€λΆ„λ§Œ λ³€κ²½ν•˜μ—¬ λΆˆν•„μš”ν•œ λ Œλ”λ§μ„ 방지할 수 μžˆλ‹€.

Single Pageμ΄μ§€λ§Œ μ—¬λŸ¬ νŽ˜μ΄μ§€λ₯Ό 보여쀄 수 μžˆλ‹€. React.js의 경우 λŒ€ν‘œμ μœΌλ‘œ React Routerλ₯Ό μ‚¬μš©ν•  수 있고 Vue.js의 경우 Vue-Routerλ₯Ό μ‚¬μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λΌμš°νŒ…μ„ 톡해 μ—¬λŸ¬ νŽ˜μ΄μ§€λ₯Ό κ΅¬ν˜„ν•˜μ—¬ 보여쀄 수 μžˆλ‹€. Next.js와 같은 λΌμ΄λΈŒλŸ¬λ¦¬λ„ μ‘΄μž¬ν•œλ‹€. λ”°λΌμ„œ μš°λ¦¬λŠ” SPAλ₯Ό 톡해 기쑴의 μ›Ή νŽ˜μ΄μ§€μ˜ 단점을 보완할 수 μžˆλ‹€.

4. SPA의 단점?

SPA의 단점은 Single PageλΌλŠ” 이름과 맞게 규λͺ¨κ°€ 컀지면 javascript 파일이 λ„ˆλ¬΄ 컀진닀.νŽ˜μ΄μ§€λ₯Ό λ‘œλ”©ν•  λ•Œ μ‚¬μš©μžκ°€ λ°©λ¬Έν•˜μ§€ μ•Šμ„ νŽ˜μ΄μ§€λ„ 같이 λ Œλ”λ§ν•˜κΈ° λ•Œλ¬Έμ— λ‘œλ”©μ‹œκ°„μ΄ κΈΈλ‹€λŠ” 점이닀. ν•˜μ§€λ§Œ 이 단점은 μ½”λ“œ μŠ€ν”Œλ¦¬νŒ…μ„ 톡해 ν•΄κ²°ν•  수 μžˆλ‹€. λΌμš°νŠΈλ³„λ‘œ νŒŒμΌμ„ λ‚˜λˆ„μ–΄μ„œ νŠΈλž˜ν”½κ³Ό λ‘œλ”© 속도λ₯Ό κ°œμ„  ν•  수 μžˆλ‹€.

λ˜ν•œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν†΅ν•œ λΌμš°νŒ… 관리법은 μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 일반 ν¬λ‘€λŸ¬μ—μ„œλŠ” μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆλ‹€λŠ” 것이닀. λ”°λΌμ„œ νŽ˜μ΄μ§€ κ²°κ³Όκ°€ μ œλŒ€λ‘œ λ‚˜νƒ€λ‚˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. 그리고 μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ 싀행될 λ•ŒκΉŒμ§€ νŽ˜μ΄μ§€κ°€ λ‚˜νƒ€λ‚˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ‚¬μš©μžκ°€ 빈 ν™”λ©΄λ§Œ 보고 μžˆμ„ μˆ˜λ„ μžˆλ‹€λŠ” 것이닀. 이 λ‹¨μ μ€μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§μ„ 톡해 극볡할 수 μžˆλ‹€.

profile
유λŠ₯ν•œ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžκ°€ λ˜κ³ ν”ˆ μ‚¬λžŒπŸ˜€

0개의 λŒ“κΈ€