๐กSPA
๋ฑ์ฅ๋ฐฐ๊ฒฝ
- ์ ํต์ ์ธ ์น์ฌ์ดํธ์์๋ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ ๋ด์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋ฉด, ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ด์ง๋ฅผ
๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋งค๋ฒ HTML ํ์ผ๋ก ๋ "ํ์ด์ง ์ ์ฒด"๋ฅผ ๋ถ๋ฌ์์ผํ๋ค.
- ์ ํต์ ์ธ ์น์ฌ์ดํธ๋ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ก๋ฉํ๊ณ , SPA๋ Menu์ Footer์ ๊ฐ์ด ํ์ด์ง ์ ํ ์ ํ์
์ค๋ณต๋๋ ๋ถ๋ถ์ ์๋ก ๋ถ๋ฌ์ค์ง ์์ผ๋ฉฐ, ์ด์ ๊ฐ์ด " ํ์ด์ง ์ ์ฒด๋ฅผ ๋ถ๋ฌ์ค๋ ํ์"๋ฅผ
๋ณดํต ๊น๋นก์ธ๋ค๊ณ ํํํ๋ค.
- ์น์ฌ์ดํธ๊ฐ ๋ณด๋ค ๋ณต์กํด์ง๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ ํํ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉด์, ์ฌ์ฉ์์ ์๋น์ค ์ฌ์ด์ ๋์ฑ
๋ง์ ์ํธ์์ฉ์ด ์ผ์ด๋๊ฒ ๋์๋ค, ํ์ง๋ง ์ด๋๋ง๋ค Header๋ Navigation Bar๋ฑ๊ณผ ๊ฐ์ด ์ค๋ณต๋๋ ์์๋ค์ ๋งค๋ฒ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์๋ฒ์ ๋ถํ์ํ ํธ๋ํฝ์ ๋ฐ์์์ผฐ๋ค.
๋ฐ๋ผ์ ๋ ๋๋ฆฐ ๋ฐ์์ฑ์ ๊ฐ๊ฒ๋๊ณ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์๋ค.
- 1990๋
๋ ํ๋ฐ์ ์์์ผ HTML ๋ฌธ์ ์ ์ฒด๊ฐ ์๋, ์
๋ฐ์ดํธ์ ํ์ํ ๋ฐ์ดํฐ๋ง ์๋ฒ์์ ์ ๋ฌ๋ฐ์
JavaScript๊ฐ ๋์ ์ผ๋ก HTML ์์๋ฅผ ์์ฑํด์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ด ๊ฐ๋ฐ๋์ด ์ฌ์ฉ๋๊ธฐ ์์
- 2000๋
๋ ์ค๋ฐ๋ถํฐ๋ ์ด๋ฌํ ๊ฐ๋ฐ ๋ฐฉ์์ ์ด์ฉํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ณดํธํ๋์์ผ๋ฉฐ, ์ด๊ฒ์ ์ฑ๊ธ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์
, ์ฆ SPA๋ผ๊ณ ํ๋ค.
๊ฐ๋
- SPA(Single Page Application)์ ์๋ฒ๋ก๋ถํฐ ์์ ํ ์๋ก์ด ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์๋๋ผ,
ํ๋ฉด์ ์
๋ฐ์ดํธํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ง ์๋ฒ์์ ์ ๋ฌ๋ฐ์ ๋ธ๋ผ์ฐ์ ์์ ํด๋นํ๋ ๋ถ๋ถ๋ง ์
๋ฐ์ดํธํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ์น ์ฌ์ดํธ๋ฅผ ๋งํ๋ค.
SPA์ ์ฅ๋จ์
์ฅ์
1. ์ฌ์ฉ์์์ Interaction์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ๋ค.
- ์ ์ฒด ํ์ด์ง๊ฐ ์๋๋ผ ํ์ํ ๋ถ๋ถ์ ๋ฐ์ดํฐ๋ง ๋ฐ์์ ํ๋ฉด์ ์
๋ฐ์ดํธ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์
์ฌ์ฉ์์์ ์ํธ์์ฉ์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ๋ค.
2. ์๋ฒ ๊ณผ๋ถํ์ ๋ฌธ์ ๊ฐ ํ์ ํ๊ฒ ์ค์ด๋ ๋ค.
- ์๋ฒ์์ ์์ฒญ๋ฐ์ ๋ฐ์ดํฐ๋ง ๋๊ฒจ์ฃผ๋ฉด ๋๊ธฐ๋๋ฌธ์, ๊ณผ๋ถํ ๋ฌธ์ ๊ฐ ์๊ธธ ํ๋ฅ ์ด ์ ๋ค.
3. ๋ถํ์ํ ๋๋๋ง
- ํ๋ฉด ์ ์ฒด๋ฅผ ์๋ก ๋๋๋งํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๋ค.
- SPA ๋ฐฉ์์ผ๋ก ๋ง๋ค์ด์ง ๋ํ์ ์ธ ์๋น์ค Youtube, Facebook, Gmail, airbnb, Netflix๋ฑ์ด
์๋ค.
๋จ์
1. ์ฒซ ํ๋ฉด ๋ก๋ฉ ์๊ฐ์ด ๊ธธ์ด์ง๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ์ฒซ ํ๋ฉด์ ๋ก๋ฉํ ๋ HTML ํ์ผ์ ์ฝ์ด๋ค์ธ ํ ๊ทธ ์์ script tag์์ ์๋
JavaScript ํ์ผ์ ๋ค์ ๋ฐ์์ค๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ์ด ๋, HTML ํ์ผ์ ๊ฑฐ์ ๋น์ด์๊ณ , ๋๋ถ๋ถ์ ์ฝ๋๋ JavaScript ํ์ผ์์ ๋ค์ด์๋ค๋ณด๋
JavaScript ํ์ผ์ ํฌ๊ธฐ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ JavaScript ํ์ผ์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ผ๋ก ์ธํด ์ฒซ ํ๋ฉด์
๋ก๋ฉ ์๊ฐ์ด ๊ธธ์ด์ง๋ค.
2. ๊ฒ์ ์์ง ์ต์ ํ(SEO)์ ์ข์ง ์๋ค.
- ๊ตฌ๊ธ์ด๋ ๋ค์ด๋ฒ๊ฐ์ ๊ฒ์์์ง์ ๊ฒ์ ๋ก๋ด์ด ์น ํ์ด์ง์ ์๋ ์ ๋ณด๋ฅผ ์์งํ๊ณ ๋ถ์ํด์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด ๋ณด๊ดํ๊ณ ์๋ค๊ฐ ์ฌ์ฉ์๊ฐ ๊ฒ์์ด๋ฅผ ์
๋ ฅํ๋ฉด ๋ณด๊ดํ๊ณ ์๋
์ธ๋ฑ์ค์์ ๊ฒ์์ด๊ณผ ๊ฐ์ฅ ์ฐ๊ด์ฑ์ด ๋์ ์น ํ์ด์ง๋ค์ ์์๋๋ก ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค.
- ๊ทธ๋ฌ๋ SPA์ ๊ฒฝ์ฐ HTML ํ์ผ์ ๋ณ๋ค๋ฅธ ์๋ฃ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฒ์ ์์ง์ด ์ ์ ํ ๋์ํ์ง ๋ชปํ๋ค.
- ์ด ๋๋ฌธ์ ๊ฒ์ ๋
ธ์ถ์ด ์ค์ํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒ์ ์์ง ์ต์ ํ์ ๋ํ ๋์์ฑ
์ ๋ฐ๋ก
๋ง๋ จํด์ผ ํ๊ณ , ๋๋ถ์ด ์ฑ ์์์ ๋ค์ํ ์ํ ๊ด๋ฆฌ๋ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์ ๋ณต์ก๋๊ฐ
๋์ฑ ๋์ด๋๋ค.
๐ก Wireframe
๊ฐ๋
- ์น ํ์ด์ง์ ๋ ์ด์์๊ณผ UI ์์ ๋ฑ์ ๋ํ ๋ผ๋
- ๋์์ธ์ ๋ค์ด๊ฐ๊ธฐ ์ ๋จ๊ณ๋ก ์ (wire)๋ฅผ ์ด์ฉํด ์ค๊ณฝ์ (frame)์ ์ก๋ ๊ฒ์ ๋งํ๋ค.
Mockup ๊ณผ์ ์ฐจ์ด์
- ๋ฐ๋ชจ ์์ฐ, ํ๊ฐ๋ฅผ ์ํ ์ต์ํ์ ๊ธฐ๋ฅ๋ง ๋ด์ ๋ํ์ด๋ค.
- ๋ฐ์คํฌํฑ, ์ค๋งํธํฐ์ ํ๋ ์์ ๋ง์์ ์ง๊ณฝ์ ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋์์ธํ ๊ฒ์ ๋งํ๋ค.