
์น์์๋ ์ฑ์ฒ๋ผ ๋ถ๋๋ฌ์ด ํ์ด์ง ์ ํ์ด ๊ฐ๋ฅํ ๊น?
์น์์๋ ์ฑ์ฒ๋ผ ๋ถ๋๋ฌ์ด ํ์ด์ง ์ ํ์ด ๊ฐ๋ฅํ ๊น? ๊ด๋ จ
์น์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ํ์ด์ง๊ฐ ๋จ๋ฒ์ ์ ํ๋์ด, ์ฌ์ฉ์๊ฐ ๋ง์น ์๊ฐ์ด๋์ ํ๋ฏ ๋๋ผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ๋ฌ๋ฆฌ ์น์์๋ ํ๋ฉด ์ ํ์ ๋ํ ์๊ฐ์ ํ๋ฆ์ ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ฃผ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ชจ๋ฐ์ผ ์ฑ์์๋ ๋ณดํต ํ๋ฉด์ ๋ฐ๊ฑฐ๋, ํ์ด๋ํ๋ ๋ฑ ์คํ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ, ๋ ๋๋ ํ๋ฉด๊ณผ ๋ค์ด์ค๋ ํ๋ฉด์ ๊ฒน์ณ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ์ฌ์ฉ์๋ ์ ํ ๊ณผ์ ์ ์ง๊ด์ ์ผ๋ก ๋ฐ๋ผ๊ฐ ์ ์์ด, ํ ํ๋ฉด์์ ๋ค์ ํ๋ฉด์ผ๋ก โ์ฐ๊ฒฐ๋์ด ์๋คโ๋ผ๋ ๋๋์ ๋ฐ์ต๋๋ค.
๋ฐ๋ฉด, ์น ํ๊ฒฝ์์๋ ๋งํฌ ํด๋ฆญ๊ณผ ํจ๊ป ๋ฐ๋ก ๋ค๋ฅธ ํ์ด์ง๋ก ๋์ด๊ฐ๋ ๊ฒ์ด ํํฉ๋๋ค. ํ์ด์ง๊ฐ ์์ ํ ๊ต์ฒด๋๋ ๋ฐฉ์์ด๋ผ, ์ฌ์ฉ์ ์์ ์์๋ ์ด๋ค ๊ฒฝ๋ก๋ฅผ ๊ฑฐ์ณ ์ด๋ํ๋์ง ์๊ฐ์ ์ผ๋ก ํ์ ํ๊ธฐ ํ๋ญ๋๋ค. ์๊ฐ์ ์ผ๋ก ๋ชจ๋ ์์๊ฐ ์ฌ๋ผ์ง๊ณ ์ ์์๊ฐ ๋ํ๋๊ธฐ ๋๋ฌธ์, ์ด์ ยท๋ค์ ํ๋ฉด์ ์ฐ์์ฑ์ด ๋ถ๋ช ํ ๋๋ฌ๋์ง ์๋ ๊ฒ์ด์ฃ . ์ด๋ ๊ฒ ์ ํ ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋จ์ ๊ฐ์ ์ฌ์ฉ์๊ฐ ๊ฒช๋ ๋ถํธ์ด๋ ๋ฏ์ฆ์ ํค์ฐ๊ฒ ๋ง๋ญ๋๋ค.
๋ก๋ฉ ์คํผ๋์ ํ์ด๋, ๊ทธ๋ฌ๋ ์ฌ์ ํ ์ด์ํ ์์ง์
์ฌ์ค ์น์์๋ ํ๋ฉด ์ ํ ์ ๋๋ฉ์ด์ ์ ์๋ํ ์๋ ์์ต๋๋ค. ์์ปจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํ์ด๋์์์ด๋ ์ฌ๋ผ์ด๋ ํจ๊ณผ๋ฅผ ๊ตฌํํด ๋ณผ ์ ์๊ณ , ํ์ด์ง ๋ก๋ฉ ์ ํ์ ์คํผ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ์์ผ๋ก๋ ์ ํ๊ฐ์ ๋ถ์ฌํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐฉ์๋ง์ผ๋ก๋ ๋ชจ๋ฐ์ผ ์ฑ ์์ค์ โ์์ฐ์ค๋ฌ์ด ์ฐ๊ฒฐ๊ฐโ์ ์ป๊ธฐ์ ํ๊ณ๊ฐ ์์ต๋๋ค. ํ๋ฉด ์์๊ฐ ์ด์ ยท๋ค์ ๋จ๊ณ์์ ์ด๋ป๊ฒ ๋ณํํด ๊ฐ๋์ง๋ฅผ ์ธ๋ฐํ๊ฒ ๋ณด์ฌ์ค ์ ์๋ค๋ฉด, ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฌ์ฉ์๋ ์ฌ์ ํ ๊ฐ์์ค๋ฌ์ด ์ ํ์ผ๋ก ๋๋ผ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ๋ง์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ค์ โ์ด๋ป๊ฒ ํ๋ฉด ์น์์๋ ์ฝ๊ณ ๊ฐ๋จํ๊ฒ, ๊ทธ๋ฆฌ๊ณ ๋ง์น ๋ค์ดํฐ๋ธ ์ฑ์ฒ๋ผ ๋ถ๋๋ฌ์ด ํ์ด์ง ์ ํ์ ๊ตฌํํ ์ ์์๊น?โ๋ฅผ ๊ณ ๋ฏผํ๊ฒ ๋ฉ๋๋ค.
์ด๋ฒ ๊ธ์์๋ ์ด๋ฌํ ๊ณ ๋ฏผ์์ ์ถ๋ฐํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ โSSGOIโ๋ฅผ ์๊ฐํ๊ณ , ์ด๋ฅผ ํตํด ํํฐ๋ ์คํธ์ ๋ํ์ ์ธ ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ ๊ฒฝํ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค. ํํฐ๋ ์คํธ ์ฑ์์๋ ์ด๋ฏธ์ง ๋ฆฌ์คํธ์์ ํน์ ์ด๋ฏธ์ง๋ฅผ ์ ํํ๋ฉด, ํด๋น ์ด๋ฏธ์ง๊ฐ ์์ฐ์ค๋ฝ๊ฒ ํ๋๋๋ฉด์ ์์ธ ํ์ด์ง๋ก ์ ํ๋๋๋ฐ์.
์ด๋ฐ ๋ถ๋๋ฌ์ด ์ ํ ํจ๊ณผ๋ฅผ ์น์์๋ ์๋ฒฝํ๊ฒ ๊ตฌํํ ์ ์์์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ฌ๋ก๋ฅผ ํตํด ์น์์ ๋ค์ดํฐ๋ธ ์ฑ ์์ค์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ด๋ป๊ฒ ๊ตฌํํ ์ ์๋์ง ๊ทธ ๊ณผ์ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.

์ฑ์ฒ๋ผ ๋ง๋ค๊ณ ์ถ์๋ฐ, ์น์ ์น์ผ ๋ฟ์ธ๊ฐ์?
SPA ๊ตฌ์กฐ๋ ํ์ด์ง ์ ํ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ ์ ์ ๋๋ค. ํ์ด์ง ์ ํ ์ ํ๋ฉด์ ์คํ์ฒ๋ผ ์์ ์ ํ ํจ๊ณผ๋ฅผ ๋ถ์ฌํด์ผ ํ๋๋ฐ, ์ด๋ ์ ํต์ ์ธ ๋ฉํฐ ํ์ด์ง ๋ฐฉ์์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง Next.js๋ React Router ๊ฐ์ ํ๋์ ์ธ ์น ํ๋ ์์ํฌ๋ a ํ๊ทธ๋ Link ์ปดํฌ๋ํธ๋ฅผ ํตํ ๋ค์ดํฐ๋ธํ ํ์ด์ง ์ด๋ ๋ฐฉ์์ ์ง์ํ๊ณ ์์ด, ์ด๋ฌํ ๊ธฐ๋ณธ ๋์๊ณผ ์ ๋๋ฉ์ด์ ์ ํจ๊ป ๊ตฌํํ๋ ๊ฒ์ด ์๋ก์ด ๊ณผ์ ๊ฐ ๋์์ต๋๋ค.
๊ธฐ์กด ์ฝ๋๋ ๊ฑด๋๋ฆฌ์ง ๋ง๋ผ๊ณ ์? ๊ทธ๋๋ ์ ๋๋ฉ์ด์ ์ ํ์ํด์!
ํ์ด์ง ์ ํ ์ ๋๋ฉ์ด์ ์ ๋์ ํ๋ ค๋ฉด ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ์ ์ธ ๊ณ ๋ฏผ์ด ํ์ํฉ๋๋ค. ์ฐ์ ํ๋ฉด์ ๋ ๋๋งํ๋ ๋ฐฉ์ ์์ฒด๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ๊ธฐ์กด์ฒ๋ผ ํ ํ์ด์ง๊ฐ ์์ ํ ์ฌ๋ผ์ง๊ณ ์ ํ์ด์ง๊ฐ ๋ํ๋๋ ๊ฒ์ด ์๋๋ผ, ๋ง์น ๋ชจ๋ฐ์ผ ์ฑ์ฒ๋ผ ํ๋ฉด๋ค์ ์คํ์ผ๋ก ์์ ๊ด๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฅผ ์ํด์๋ ๋ผ์ฐํ ์์คํ ๋ ์์ ์ด ํ์ํ๋ฐ, ๋จ์ํ URL์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋์ด ํ๋ฉด ์ ํ API๋ฅผ ํตํด ์ ๋๋ฉ์ด์ ๊ณผ ํจ๊ป ํ์ด์ง๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ์ ๋ณ๊ฒฝ์ ํนํ ๊ธฐ์กด ํ๋ก์ ํธ์ ๋์ ํ ๋ ํฐ ์ด๋ ค์์ด ๋ฉ๋๋ค. ํ๋ฉด ๋ ๋๋ง ๋ฐฉ์๋ถํฐ ๋ผ์ฐํ ์์คํ ๊น์ง ๊ด๋ฒ์ํ ์์ ์ด ํ์ํ๊ณ , SSR(Server Side Rendering)์ ์ฌ์ฉํ ๋๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ํ ๊ด๋ฆฌ๋, ํ์ด๋๋ ์ด์ ๊ณผ์ ์์๋ ์ถ๊ฐ์ ์ธ ๊ณ ๋ ค ์ฌํญ์ด ์๊น๋๋ค.
Link๋ ์ฐ๊ณ ์ถ๊ณ , ์ ๋๋ฉ์ด์ ๋ ๋ฃ๊ณ ์ถ์ด์
์ด๋ฌํ ๋ฌธ์ ์์ ์์์ โSSGOIโ๋ SPA ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋, ๊ธฐ์กด ์น ํ๋ ์์ํฌ์ ๋ค์ดํฐ๋ธํ ๋ผ์ฐํ ๋ฐฉ์๊ณผ ์์ฐ์ค๋ฝ๊ฒ ํตํฉ๋ ์ ์๋ ๋ฐฉ์์ ๋ชจ์ํ์ต๋๋ค. ๋ผ์ฐํ ๊ณผ ์ ๋๋ฉ์ด์ ์ ์ํ ๋ณ๋์ ๋ ์ด์ด๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ, ํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๋์์ ์ต๋ํ ์ ์งํ๋ฉด์๋ ๋ถ๋๋ฌ์ด ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์๋๋ก ํ์ต๋๋ค.
SSGOI๋ฅผ ๋ง๋ค๋ฉด์ ์ป์ ๊ฐ์ฅ ํฐ ๊ตํ์ โํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๋์์ ์กด์คํ๋ฉด์๋, ์ ๋๋ฉ์ด์ ์ ํ์ํ ๋ถ๋ถ๋ง ์ต์ํ์ผ๋ก ์์ ํ๋คโ๋ผ๋ ๊ฒ์ด์์ต๋๋ค. ์ ๋๋ฉ์ด์ ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ํ๋ถํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง, ๊ทธ ๊ตฌํ ๊ณผ์ ์ด ๋๋ฌด ๋ณต์กํ๋ฉด ์ค์ ๋์ ์ด ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋์ ์ ๋ต๊ณผ ํจ๊ป, ์ด๋ป๊ฒ ๊ธฐ์กด ์น ํ๋ ์์ํฌ์ ์ฅ์ ์ ์ด๋ฆฌ๋ฉด์ ๋ชจ๋ฐ์ผ ์ฑ ์์ค์ ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์์๋์ง๊ฐ ๊ด๊ฑด์ด์์ต๋๋ค.
์ค๋ฒจํธ(Svelte)์ CSS๋ก ๋ง๋๋ ์์ฐ์ค๋ฌ์ด ํ์ด์ง ์ ํ
๊ธฐ์กด ๋ผ์ฐํ ์ ๊ทธ๋๋ก, ์ ๋๋ฉ์ด์ ๋ง ๋ํ๊ธฐ
์ด๋ฒ ํ๋ก์ ํธ์์๋ ํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๋ผ์ฐํ ์ ๊ทธ๋๋ก ํ์ฉํ๋ฉด์๋, ๋ค์ํ ํ์ด์ง ์ด๋ ์ ๋๋ฉ์ด์ ์ ์ ์ฉํ ์ ์๋ ๋ฐฉ์์ ๊ณ ๋ฏผํ์ต๋๋ค. Link ์ปดํฌ๋ํธ๋ a ํ๊ทธ๋ฅผ ํตํ ๊ธฐ๋ณธ์ ์ธ ๋ผ์ฐํ ์ ์ ์งํ๋, ์ ํ ๊ณผ์ ์์ ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ ์ ๋ํ๋ ๊ฒ์ด ๋ชฉํ์์ต๋๋ค. ํนํ ๋ชจ๋ฐ์ผ ์ฑ์์์ฒ๋ผ ํ๋ฉด์ด ๊ฒน์น๊ฑฐ๋ ์ฌ๋ผ์ด๋ ๋๋ ์์ฐ์ค๋ฌ์ด ์ ํ ํจ๊ณผ๋ฅผ ์น์์๋ ๊ตฌํํ๊ณ ์ ํ์ต๋๋ค.
์ด๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ง๊ด์ ์ธ ์ค์ ๋ฐฉ์์ ๊ณ ์ํ์ต๋๋ค.
import { createTransitionConfig, transitions } from "ssgoi";
const config = createTransitionConfig({
transitions: [
{
from: "/home",
to: "/about",
transitions: transitions.fade(),
},
{
from: "/blog",
to: "/post/*",
transitions: (context) => {
return context.isMobile ? transitions.slideRight() : transitions.fade();
},
},
],
defaultTransition: transitions.fade(),
});
๋ ์ด์์ ํ๋๋ก ์์ํ๋ ์ ํ ํจ๊ณผ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ์ฅ ๋จผ์ ์ฃผ๋ชฉํ ๊ฒ์ Svelte์ ํธ๋์ง์ API์์ต๋๋ค. Svelte๋ ์ปดํฌ๋ํธ๊ฐ ์์ฑ๋๊ฑฐ๋, ์ฌ๋ผ์ง ๋ ๊ธฐ๋ณธ์ ์ธ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ฅผ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ๋ถ์ฌํ ์ ์์ผ๋ฉฐ, ์ปดํฌ๋ํธ ๋จ์๋ฟ ์๋๋ผ ํ์ด์ง ์ ์ฒด์๋ ์ด๋ฅผ ํ์ฉํ ์ ์๋ ์ ์ฐํจ์ด ์์์ต๋๋ค.
์ค์ ๊ตฌํ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ์ด์์์ SSGOI๋ฅผ ํตํฉํ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
<script lang="ts">
import { onNavigate } from '$app/navigation';
import { Ssgoi } from 'ssgoi';
import config from './transitionConfig';
</script>
<Ssgoi {onNavigate} {config}>
<slot />
</Ssgoi>
๊ทธ๋ฆฌ๊ณ ๊ฐ ํ์ด์ง๋ PageTransition
์ปดํฌ๋ํธ๋ก ๊ฐ์ธ์ค๋๋ค.
<script lang="ts">
import { PageTransition } from 'ssgoi';
</script>
<PageTransition>
<h1>ํ์ด์ง ์ฝํ
์ธ </h1>
<p>์ด ๋ด์ฉ์ด ๋ถ๋๋ฝ๊ฒ ์ ํ๋ฉ๋๋ค.</p>
</PageTransition>
CSS absolute๋ก ๊ตฌํํ๋ ๊ฒน์นจ ํจ๊ณผ
๊ณ ๋ฏผ ๋์ ๋ ์ค๋ฅธ ๋ฐฉ๋ฒ์ โCSS absolute๋ฅผ ๋์ ์ผ๋ก ์ฝ์ ํ์โ๋ผ๋ ๊ฒ์ ๋๋ค. ๋ ๋๋ ํ์ด์ง์ ์ง์ ํ๋ ํ์ด์ง๊ฐ ๋์์ ๊ฐ์ ํ๋ฉด ์์ ๊ฒน์ณ ์์ด์ผ ์์ฐ์ค๋ฌ์ด ์ ๋๋ฉ์ด์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก, ํธ๋์ง์ ์ด ์งํ๋๋ ๋์๋ง ๋ ํ์ด์ง๋ฅผ ๋ชจ๋ absolute ์์น๋ก ๋ฐฐ์นํ๋ ๋ฐฉ์์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฒซ ๋ฒ์งธ ํ์ด์ง๊ฐ ์์ํ ์์์ง๋ฉด์ ์ฌ๋ผ์ง๊ณ , ๋ ๋ฒ์งธ ํ์ด์ง๊ฐ ๊ทธ ๋ค์์ ์ฌ๋ฉฐ์ ๋ฑ์ฅํ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
[data-page-transition] {
position: absolute;
width: 100%;
/* ํธ๋์ง์
์ค์๋ง ์ ์ฉ๋๋ ์คํ์ผ */
}
์ด ๊ณผ์ ์์ ์ด๋ฒคํธ ์์์ CSS ์์ฑ ์ถฉ๋์ด ๋ฐ์ํ๊ฑฐ๋, ๋ธ๋ผ์ฐ์ ํธํ ์ด์๊ฐ ์๊ธฐ๋ ๋ฑ์ ๋๊ด์ด ์กด์ฌํ์ต๋๋ค. ์์ปจ๋, ์ด๋ค ํ์ด๋ฐ์ absolute๋ก ์ ํํ ์ง, ํ์ด์ง๊ฐ ์กด์ฌํ๋ ์ํ์์ ์ ํ์ด์ง๋ฅผ ์ด๋ป๊ฒ ๋ฏธ๋ฆฌ ๋ก๋ํ ์ง ๋ฑ์ ์ธ์ฌํ๊ฒ ์กฐ์จํด์ผ ํ์ต๋๋ค.
์ด๋ ๊ฒ ๋ง๋ค์ด์ง SSGOI๋ ๋ ๋๋ ํ๋ฉด๊ณผ ์๋ก ๋ค์ด์ค๋ ํ๋ฉด ๋ชจ๋์ ๊ฐ์ฑ ์๋ ํธ๋์ง์ ํจ๊ณผ๋ฅผ ์ค ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ฏธ์ง๊ฐ ํ๋ํ๋ฏ ์์ง์ด๋ โํ์ด๋ก ํธ๋์ง์ โ์ด๋ ๊ฐค๋ฌ๋ฆฌ ๋ชฉ๋ก์์ ์์ธ ๋ทฐ๋ก ๋์ด๊ฐ๋ ์์ฐ์ค๋ฌ์ด ์ ํ ๋ฑ ๋ค์ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์ด ๊ณผ์ ์์ ์ ๋๋ฉ์ด์ ํ์ด๋ฐ, easing ํจ์์ ์ ์ฉ, transform ์์ฑ ํ์ฉ ๋ฑ ํ๋ก ํธ์๋ ์ ๋๋ฉ์ด์ ๊ธฐ๋ฒ ์ ๋ฐ์ ๊น์ด ์๊ฒ ํ๊ตฌํ ์ ์์์ต๋๋ค.
0.2์ด์ ์์ , ํํฐ๋ ์คํธ ์ ํ ํจ๊ณผ ๊ตฌํ๊ธฐ
SSGOI๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ๊ฐ์ฅ ๋์ ์ ์ด๊ณ ํฅ๋ฏธ๋ก์ ๋ ์์ ์ โํํฐ๋ ์คํธโ์ ํ์ด์ง ์ ํ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ๋ ๊ฒ์ด์์ต๋๋ค. ํํฐ๋ ์คํธ ์ฑ์์๋ ์ด๋ฏธ์ง ๊ทธ๋ฆฌ๋ ํ๋ฉด์์ ํน์ ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ๋ฉด, ํด๋น ์ด๋ฏธ์ง๊ฐ ๋ถ๋๋ฝ๊ฒ ํ๋๋๋ฉด์ ํ๋ฉด ์ ์ฒด๋ฅผ ์ฑ์ฐ๊ณ , ๋๋จธ์ง ์ปจํ ์ธ ๋ค์ด ์์ฐ์ค๋ฝ๊ฒ ํ์ด๋์ธ ๋๋ฉฐ ์์ธ ํ์ด์ง๋ก ์ ํ๋ฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ์ฌ์ฉ์์๊ฒ ๋ง์น ์ด๋ฏธ์ง๊ฐ ์ด์ ์์ง์ด๋ ๋ฏํ ๋๋์ ์ฃผ๋ฉฐ, ์ฝํ ์ธ ์ ์ฐ์์ฑ์ ์๋ฒฝํ๊ฒ ๋ณด์ฌ์ค๋๋ค.

๋ฐฑ ๋ฒ์ ๊ด์ฐฐ์ด ๋ง๋ ํ ๋ฒ์ ์์ง์
ํํฐ๋ ์คํธ ์คํ์ผ์ ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์ ๋จ์ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋์ด์ ์ฌ๋ ์๋ UX ์ฐ๊ตฌ์ ์ฌ์ ์ด์์ต๋๋ค. ์ค์ ํํฐ๋ ์คํธ ์ฑ์ ํ๋ฉด ์ ํ์ ์๋ฐฑ ๋ฒ ๋ฐ๋ณตํด์ ๊ด์ฐฐํ๊ณ , ํ๋ฉด์ ๋ นํํด ์ฌ๋ก์ฐ ๋ชจ์ ์ผ๋ก ๋ถ์ํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ด์ง ์ง์ ์์ clip ํจ๊ณผ๊ฐ ์ด๋ป๊ฒ ์ ์ฉ๋๋์ง, ๋๊ฐ๋ ํ์ด์ง์ ์์๋ค์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ํ์ฅ๋๋ฉฐ ํ์ด๋์์ ๋๋์ง ๋ฑ ์ธ๋ฐํ ๋์์ ํน์ฑ์ ํ์ ํ ์ ์์์ต๋๋ค.
โ์ฑ ๊ฐ๋คโ๋ผ๋ ๋ง์ด ์ต๊ณ ์ ์นญ์ฐฌ์ด ๋๋ ์๊ฐ
์ด๋ ๊ฒ ๊ตฌํ๋ ํ์ด์ง ์ ํ์ ๋จ์ํ ์๊ฐ์ ํจ๊ณผ ์ด์์ ๊ฐ์น๋ฅผ ๋ง๋ค์ด๋ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐค๋ฌ๋ฆฌ์์ ์์ธ ํ์ด์ง๋ก ๋์ด๊ฐ ๋ ์ด๋ฏธ์ง๊ฐ ๋ถ๋๋ฝ๊ฒ ํ์ฅ๋๋ ์์ง์์ ์ฌ์ฉ์์ ์์ ์ ์์ฐ์ค๋ฝ๊ฒ ์ด๋๋ฉด์, ๋์์ ๋ธ๋๋์ ์ธ๋ จ๋จ์ ์ ๋ฌํฉ๋๋ค. ํนํ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฃจ๋ ์๋น์ค์์ ์ด๋ฌํ ๋ถ๋๋ฌ์ด ์ ํ์ ์ฝํ ์ธ ์ ๊ฐ์น๋ฅผ ํ์ธต ๋๋ณด์ด๊ฒ ๋ง๋ญ๋๋ค.
์ด๋ฌํ ๊ด์ฐฐ๊ณผ ๋ถ์์ ๊ณผ์ ์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก์ ํฐ ์ฑ์ฅ์ ๊ฐ์ ธ๋ค์ฃผ์์ต๋๋ค. ๋จ์ํ ์ ๋๋ฉ์ด์ ์ ๋ฃ๋๋ค๋ ์ฐจ์์ ๋์ด, ์ฌ์ฉ์์ ์์ ์ด๋๊ณผ ์ธ์ง ํ๋ฆ์ ๊ณ ๋ คํ ์ฌ์ธํ ์ ํ ํจ๊ณผ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ๊ณง ๋ชจ๋ฐ์ผ ์ฑ ์์ค์ ์ ๊ตํ ์ธํฐ๋์ ์ ์น์์ ๊ตฌํํ ์ ์๋ ๊ธฐ์ ์ ์ญ๋์ผ๋ก ์ด์ด์ก์ฃ .
๋ค์ดํฐ๋ธ ์ฑ์์๋ ๋ณผ ์ ์์๋ ๋ถ๋๋ฌ์ด ์ ํ์ ์น์์ ๊ตฌํํจ์ผ๋ก์จ, ์ฌ์ฉ์๋ค์ โ์ด ์๋น์ค๋ ๋ํ ์ผ์ ์ ๊ฒฝ ์ด๋คโ๋ผ๋ ์ธ์์ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ ๋จ์ํ ๊ธฐ๋ฅ์ ๋ง์กฑ์ ๋์ด, ๋ธ๋๋์ ๋ํ ์ ๋ขฐ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด๋ฌํ ์ฌ์ธํ ์ธํฐ๋์ ์ ์๋น์ค์ ์ ๋ฌธ์ฑ๊ณผ ์์ฑ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ค์ํ ์์์ ๋๋ค.
์ด์ SSGOI๋ฅผ ํตํด ์ด๋ฌํ ๊ณ ๊ธ ์ ํ ํจ๊ณผ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๊ฒ ๋์์ต๋๋ค. ํํฐ๋ ์คํธ ์คํ์ผ์ ์ ํ ํจ๊ณผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ด๋ฏธ ๊ตฌํ๋์ด ์์ด, ๊ฐ๋ฐ์๋ค์ ๋ณต์กํ ๊ตฌํ ๊ณผ์ ์์ด๋ ์ ๋ฌธ์ ์ธ ์์ค์ ์ ๋๋ฉ์ด์ ์ ์ ์ฉํ ์ ์์ฃ .
์น ์ ๋๋ฉ์ด์ , ์ด์ ๋น์ฐํ ์ ํ์ด ๋ ๋ฏธ๋
ํ์ด์ง ์ ํ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ๋ ๋ฐฉ์์ ๋งค์ฐ ๋ค์ํ๋ฉฐ, ๊ทธ๋งํผ ์ฐฝ์์ ์ธ ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฝํ ์ธ ๊ฐ ์คํฌ๋ฆฐ์์ ๋ถ๋๋ฝ๊ฒ ํ์ด๋์์ ๋ ๋ค ๋ค์ ํ์ด์ง๊ฐ ์ฌ๋ผ์ด๋์ธ์ผ๋ก ์ด์ด์ง๋ ๋ฐฉ์์ ์๋ํด ๋ณผ ์๋ ์๊ณ , ํ๋ฉด์ ํน์ ์์๊ฐ ์ด๋ํ๋ฉด์ ๋ฐฐ๊ฒฝ ์ปฌ๋ฌ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ณ๊ฒฝ๋๋ ์ ํ ํจ๊ณผ๋ฅผ ๋ง๋ค์ด๋ผ ์๋ ์์ต๋๋ค. ์ ๋๋ฉ์ด์ ๊ธฐ๋ฒ๊ณผ CSS ํธ๋์ง์ , ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ์ ์ ์ ํ ์กฐํฉํ๋ฉด, ์กฐ๊ธ ๋ ์๋ค๋ฅด๊ณ ์ ์ ํ ์๊ฐ์ ๊ฒฝํ์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค.
SSGOI ์ญ์ ๋ค์ํ ์์ด๋์ด๋ฅผ ์์ฉํ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๋จ์ํ ํ๋ฉด์ด ์ฌ๋ผ์ก๋ค ๋ํ๋๋ ์์ค์ ๋์ด, ์ฌ๋ฌ ์์๊ฐ ์๋ก ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋๋์ ์ฃผ๋ ์ ํ ๋ฐฉ์์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์นํ์ด์ง๋ฅผ ์ฌ์ฉํ๋ ์๊ฐ์ด ๋จ์ ๋ ํ๋ฉด ์ด๋์ด ์๋๋ผ, ํ๋์ ์ด์ด์ง ํ๋ก์ฐ๋ก ์ธ์๋๋๋ก ๋ง๋ค ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ์์ฐ์ค๋ฌ์ด ์ ํ ์์์ ์๋น์ค๋ฅผ ๋์ฑ ์์ ๊ฐ ์๊ฒ ์ฒดํํ๋ ๋์์, ๋ธ๋๋์ ๊ณ ์ ํ ๊ฐ์ฑ์ ์๊ฐ์ ์ผ๋ก ๋๋ผ๊ฒ ๋ฉ๋๋ค.
์ต๊ทผ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ๊ธฐ ์์ํ ViewTransitionAPI์ ๊ฐ์ ์ ๊ธฐ์ ์ ์์ผ๋ก ์น ์ ๋๋ฉ์ด์ ๋ถ์ผ๋ฅผ ํฌ๊ฒ ๋ฐ์ ์ํฌ ์ ์์ต๋๋ค. ๊ธฐ์กด์๋ ์ง์ ์คํฌ๋ฆฝํธ๋ CSS๋ฅผ ์์ฑํ์ฌ ๊ตฌํํด์ผ ํ๋ ์ ํ ํจ๊ณผ ์ค ์ผ๋ถ๋ฅผ ๋ธ๋ผ์ฐ์ ๋จ์์ ์ง์ํจ์ผ๋ก์จ, ๊ฐ๋ฐ์์๊ฒ ๋์ฑ ๊ฐ์ํ๋ ์ฝ๋ฉ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ ์ฑ๋ฅ ๋ฉด์์๋ ๊ธ์ ์ ์ธ ์ด์ ์ ๊ธฐ๋ํ ์ ์์ฃ . ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ๋จ์ํด์ง๋ฉด, ๊ทธ๋งํผ ์ ๋๋ฉ์ด์ ์ ์์ฑ๋์ ์คํ์ ์ธ ์๋๊ฐ ๋์์ ํ๋๋๋ ์ ์ํ์ด ์ด๋ฃจ์ด์ง ๊ฒ๋๋ค.
๋์๊ฐ ์น์ด ๊ณ์ ์งํํ๋ฉฐ ์๋ก์ด API๊ฐ ์์ ๋ฑ์ฅํ๋ ๋งํผ, ์ด๋ค์ ๊ฒฐํฉํ ์๋ก์ด ์๋๋ค์ด ๊ณ์ํด์ ์ด์ด์ง ๊ฒ์ ๋๋ค. ์ฆ์ ํ์ด์ง ์ด๋์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ํ ์น์ฌ์ดํธ, ๊ฐ๊ฐ์ ์ธ ๋์์ธ ์์๊ฐ ๊ฐ์กฐ๋๋ ํ๋ก๋ชจ์ ํ์ด์ง ๋ฑ์์, ๋ ์์ฑ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ฐฝ์ถํ๋ ์ ํ์ด ์ฐ๊ตฌ๋๊ณ ๊ตฌํ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํด ๋ด ๋๋ค.
์ฐธ๊ณ