ν”„λ‘œμ νŠΈ κ°œμš”

κΈ°μ‘΄ 4λ…„ μ „ React + Redux + styled-components 기반 μ½”λ“œλ₯Ό 2026λ…„ μ΅œμ‹  기술 μŠ€νƒμœΌλ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜λ©΄μ„œ, 각 기술의 차이와 λ°œμ „μ„ 직접 μ²΄κ°ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

개발 μš°μ„ μˆœμœ„: 둜그인 β†’ κ²Œμ‹œκΈ€(ν”Όλ“œ) β†’ μŠ€ν† λ¦¬ β†’ DM


기술 μŠ€νƒ ν•œλˆˆμ— 보기

λΆ„λ₯˜ κΈ°μ‘΄ (4λ…„ μ „) λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ (2026)
ν”„λ ˆμž„μ›Œν¬ React (CRA) Next.js 15
μ–Έμ–΄ TypeScript TypeScript
μƒνƒœκ΄€λ¦¬ Redux (Ducks) Zustand + TanStack Query
λΌμš°νŒ… React Router Next.js App Router
μŠ€νƒ€μΌλ§ styled-components Tailwind CSS v4
HTTP Axios μ»€μŠ€ν…€ Ky
이미지 μ΅œμ ν™” 이미지 μŠ€ν”„λΌμ΄νŠΈ + SVG WebP + Next/Image
λ¦°ν„°/포맷터 Prettier Biome
νŒ¨ν‚€μ§€ λ§€λ‹ˆμ € npm/yarn PNPM

Next.js 15

무엇인가?

Next.jsλŠ” React 기반의 ν’€μŠ€νƒ μ›Ή ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. 순수 React(CRA)λŠ” λΈŒλΌμš°μ €μ—μ„œλ§Œ μ‹€ν–‰λ˜λŠ” CSR(Client-Side Rendering)μ΄μ§€λ§Œ, Next.jsλŠ” μ„œλ²„μ—μ„œλ„ React μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‹€ν–‰ν•  수 μžˆμ–΄ SSR(Server-Side Rendering) κ³Ό CSR을 ν˜Όν•©ν•΄μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ™œ μ„ νƒν–ˆλ‚˜?

κΈ°μ‘΄ μ½”λ“œλŠ” 순수 React(CRA)μ˜€κΈ° λ•Œλ¬Έμ— λͺ¨λ“  λ Œλ”λ§μ΄ λΈŒλΌμš°μ €μ—μ„œ μ΄λ£¨μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. μ΄λŠ” 초기 λ‘œλ”© μ‹œ 빈 화면이 λ³΄μ΄λŠ” 문제(White Flash)κ°€ μžˆμ—ˆκ³ , 검색엔진 μ΅œμ ν™”(SEO)에도 λΆˆλ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

Next.js App Routerλ₯Ό μ‚¬μš©ν•˜λ©΄:

핡심 κ°œλ…: App Router

src/app/
β”œβ”€β”€ (auth)/login/page.tsx   β†’ /login 경둜
β”œβ”€β”€ (main)/page.tsx         β†’ / 경둜 (ν”Όλ“œ)
β”œβ”€β”€ (main)/[username]/      β†’ /username 경둜 (ν”„λ‘œν•„)
└── direct/page.tsx         β†’ /direct 경둜 (DM)

κ΄„ν˜Έλ‘œ 묢은 폴더 (auth), (main) 은 URL에 영ν–₯을 μ£Όμ§€ μ•ŠλŠ” κ·Έλ£Ήν•‘μž…λ‹ˆλ‹€. λ ˆμ΄μ•„μ›ƒμ„ λΆ„λ¦¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€.

Server Component vs Client Component