--- category: Unified tags: [auto-consolidated, technical-documentation] title: File-based Routing last_updated: 2026-05-02 --- # File-based Routing ## πŸ“Œ Brief Summary **File-based Routing(파일 기반 λΌμš°νŒ…)** 은 ν”„λ‘œμ νŠΈμ˜ 폴더 및 파일 ꡬ쑰가 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λΌμš°νŒ…(λ‚΄λΉ„κ²Œμ΄μ…˜) ꡬ쑰와 μΌλŒ€μΌλ‘œ λ§€ν•‘λ˜λŠ” λΌμš°νŒ… νŒ¨λŸ¬λ‹€μž„μž…λ‹ˆλ‹€ [1]. λͺ…μ‹œμ μΈ 라우트 μ„€μ •(Configuration) μ½”λ“œλ₯Ό μž‘μ„±ν•  ν•„μš” 없이, μ •ν•΄μ§„ 디렉토리에 νŒŒμΌμ„ μƒμ„±ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œ μžλ™μœΌλ‘œ λΌμš°νŠΈκ°€ μƒμ„±λ˜μ–΄ 개발의 직관성과 생산성을 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€ [2, 3]. ## πŸ“– Core Content * **ꡬ쑰와 λΌμš°νŒ…μ˜ 일치:** 파일 기반 λΌμš°νŒ…μ€ **"폴더 ꡬ쑰 = λ‚΄λΉ„κ²Œμ΄μ…˜ ꡬ쑰"** λΌλŠ” 철학을 λ”°λ¦…λ‹ˆλ‹€ [1]. νŠΉμ • 디렉토리(예: `app` 폴더) λ‚΄μ˜ λͺ¨λ“  파일이 μžλ™μœΌλ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 라우트둜 λ³€ν™˜λ˜μ–΄ ꡬ쑰의 투λͺ…성이 보μž₯λ©λ‹ˆλ‹€ [2, 4]. * **λͺ¨λ°”μΌλ‘œμ˜ νŒ¨λŸ¬λ‹€μž„ ν™•μž₯:** μ›Ή ν”„λ ˆμž„μ›Œν¬μΈ Next.jsμ—μ„œ μ˜κ°μ„ λ°›μ•„ λͺ¨λ°”일 μƒνƒœκ³„(React Native)에 λ„μž…λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1]. λŒ€ν‘œμ μΈ κ΅¬ν˜„μ²΄μΈ Expo RouterλŠ” 이 κ°œλ…μ„ μ΄μ‹ν•˜μ—¬ λͺ¨λ°”일 μ•± κ°œλ°œμ—μ„œλ„ λͺ…μ‹œμ μΈ λ‚΄λΉ„κ²Œμ΄μ…˜ μ„€μ • μ½”λ“œλ₯Ό μ—†μ• κ³  개발 κ²½ν—˜μ„ ν˜μ‹ ν•˜μ˜€μŠ΅λ‹ˆλ‹€ [5]. * **μžλ™ν™”λœ λ”₯ 링크(Deep Linking):** 파일 기반 λΌμš°νŒ… μ‹œμŠ€ν…œμ˜ κ°€μž₯ κ°•λ ₯ν•œ κΈ°λŠ₯ 쀑 ν•˜λ‚˜λŠ” λ³„λ„μ˜ μ„€μ • 없이 λͺ¨λ“  화면이 μžλ™μœΌλ‘œ 링크 κ°€λŠ₯(Linkable)ν•΄μ§„λ‹€λŠ” μ μž…λ‹ˆλ‹€ [2]. 덕뢄에 였λ₯˜κ°€ λ°œμƒν•˜κΈ° μ‰¬μš΄ μˆ˜λ™ λ”₯ 링크 λ§€ν•‘ μž‘μ—…κ³Ό λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈλ₯Ό λŒ€ν­ 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€ [6]. * **μžλ™ 쀑첩 λΌμš°νŒ…(Nested Navigation):** ν΄λ”μ˜ 계측 ꡬ쑰λ₯Ό 기반으둜 쀑첩 라우트λ₯Ό μžλ™μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€ [7]. κΈ°μ‘΄ λΌμš°νŒ… 라이브러리(예: React Navigation)μ—μ„œλŠ” 쀑첩 λ„€λΉ„κ²Œμ΄ν„°λ₯Ό 일일이 λͺ…μ‹œμ μœΌλ‘œ μ •μ˜ν•΄μ•Ό ν–ˆμœΌλ‚˜, 파일 기반 λ°©μ‹μ—μ„œλŠ” 이λ₯Ό μžλ™ν™”ν•©λ‹ˆλ‹€ [3, 7]. * **μ›Ή ν˜Έν™˜μ„± 및 νƒ€μž… μΆ”λ‘ :** 파일 μ‹œμŠ€ν…œμ„ λ°”νƒ•μœΌλ‘œ 라우트 νƒ€μž…μ΄ μžλ™μœΌλ‘œ μΆ”λ‘ λ˜μ–΄ νƒ€μž…μŠ€ν¬λ¦½νŠΈ 지원이 μš©μ΄ν•©λ‹ˆλ‹€ [8, 9]. λ˜ν•œ 정적 μ‚¬μ΄νŠΈ 생성(SSG) 및 API 라우트 λ“± μ›Ή μ΅œμš°μ„ (Web-first) μ»¨λ²€μ…˜μ„ μ§€μ›ν•˜μ—¬ λͺ¨λ°”일과 μ›Ή κ°„μ˜ μ½”λ“œ 곡유λ₯Ό κ·ΉλŒ€ν™”ν•˜λŠ” μœ λ‹ˆλ²„μ„€ μ•± ꡬ좕에 μ ν•©ν•©λ‹ˆλ‹€ [5, 10]. ## βš–οΈ Trade-offs & Caveats * **μœ μ—°μ„±μ˜ ν•œκ³„ (Limited Flexibility):** URL ꡬ쑰가 ν”„λ‘œμ νŠΈμ˜ 물리적 파일 ꡬ쑰에 λ‹¨λ‹¨νžˆ μ’…μ†λ˜λ―€λ‘œ, 파일 기반 μ‹œμŠ€ν…œμ— κΉ”λ”ν•˜κ²Œ λ§€ν•‘λ˜μ§€ μ•ŠλŠ” **λ³΅μž‘ν•œ 동적 λΌμš°νŒ… κ·œμΉ™**을 κ΅¬ν˜„ν•  λ•ŒλŠ” ν•œκ³„κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€ [11]. 예λ₯Ό λ“€μ–΄, μ‚¬μš©μžμ˜ νŠΉμ • μƒνƒœμ— 따라 화면이 μ‘΄μž¬ν•˜κ±°λ‚˜ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„μ•Ό ν•˜λŠ” μƒνƒœ λ¨Έμ‹  기반의 λ³΅μž‘ν•œ λ‚΄λΉ„κ²Œμ΄μ…˜μ—μ„œλŠ” μ„€μ • 기반 방식보닀 μœ μ—°μ„±μ΄ λ–¨μ–΄μ§‘λ‹ˆλ‹€ [11]. * **κΈ°λ³Έ 경둜 μ„€κ³„μ˜ μ œμ•½:** 도ꡬ(예: Expo Router)κ°€ `app` 폴더와 같은 νŠΉμ • λ””ν΄νŠΈ 경둜λ₯Ό κ°€μ •ν•˜κ³  μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ—, νŒ€μ˜ 관둀에 따라 μ½”λ“œλ₯Ό `src` 폴더 등에 κ²©λ¦¬ν•˜λ €λŠ” 기쑴의 폴더 μ•„ν‚€ν…μ²˜μ™€ μΆ©λŒν•  수 있으며 이λ₯Ό μ–΅μ§€λ‘œ λ³€κ²½ν•  경우 버그가 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€ [4]. * **ν•™μŠ΅ 곑선과 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ λΉ„μš©:** 기쑴의 μ„€μ •/μ»΄ν¬λ„ŒνŠΈ 기반 λΌμš°νŒ…(예: React Navigation) 방식에 μ΅μˆ™ν•œ κ°œλ°œμžμ—κ²ŒλŠ” μƒˆλ‘œμš΄ νŒ¨λŸ¬λ‹€μž„μ„ μ΄ν•΄ν•˜κ³  μ μš©ν•˜κΈ° μœ„ν•œ ν•™μŠ΅ 곑선이 λ”°λ¦…λ‹ˆλ‹€ [11]. λ˜ν•œ κΈ°μ‘΄ ν”„λ‘œμ νŠΈμ—μ„œ 파일 기반 λΌμš°νŒ…μœΌλ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜λ €λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 폴더 ꡬ쑰λ₯Ό μ „λ©΄μ μœΌλ‘œ μž¬μ‘°μ •(Restructuring)ν•΄μ•Ό ν•˜λŠ” 큰 μž‘μ—…μ΄ ν•„μš”ν•©λ‹ˆλ‹€ [12]. * **κ³ κΈ‰ μ‚¬μš© μ‚¬λ‘€μ—μ„œμ˜ ν•œκ³„:** μ•„μ£Ό κ³ λ„ν™”λ˜κ³  μ„Έλ°€ν•œ μ œμ–΄κ°€ ν•„μš”ν•œ λ‚΄λΉ„κ²Œμ΄μ…˜ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œλŠ” κ²°κ΅­ 기쑴의 λͺ…μ‹œμ μΈ λΌμš°νŒ… API(예: react-navigation API)둜 νšŒκ·€ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€ [13]. ## πŸ”— Knowledge Connections ### Related Concepts #### [관계 μœ ν˜• A (μ•„ν‚€ν…μ²˜/기반 기술)] - [[Configuration-based Routing]] - μ—°κ²° 이유: 파일 기반 λΌμš°νŒ…κ³Ό λŒ€μ²™μ μ— μžˆλŠ” λͺ…μ‹œμ  μ„€μ •(λ˜λŠ” μ»΄ν¬λ„ŒνŠΈ) 기반의 λΌμš°νŒ… νŒ¨λŸ¬λ‹€μž„μž…λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λΌμš°νŠΈμ™€ λ‚΄λΉ„κ²Œμ΄ν„°λ₯Ό κ°œλ°œμžκ°€ 직접 μ •μ˜ν•¨μœΌλ‘œμ¨ 얻을 수 μžˆλŠ” 'μ„Έλ°€ν•œ μ œμ–΄(Fine-grained control)'와 '높은 μœ μ—°μ„±'이 무엇인지 비ꡐ 이해할 수 있으며, μ™œ λ³΅μž‘ν•œ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ„€μ • 기반 λΌμš°νŒ…μ΄ μ—¬μ „νžˆ κ°•λ ₯ν•œμ§€ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 10, 14]. - [[Deep Linking]] - μ—°κ²° 이유: 파일 기반 λΌμš°νŒ…μ΄ μ œκ³΅ν•˜λŠ” κ°€μž₯ 큰 ν˜œνƒ 쀑 ν•˜λ‚˜κ°€ λ”₯ 링크 μ„€μ •μ˜ μžλ™ν™”μž…λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λͺ¨λ°”일 μ•±μ˜ νŠΉμ • ν™”λ©΄μœΌλ‘œ URL을 톡해 직접 μ ‘κ·Όν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μ΄ν•΄ν•˜κ³ , 파일 ꡬ쑰가 κ³§ URL κ²½λ‘œκ°€ 됨으둜써 λ§€ν•‘ 관리가 μ–Όλ§ˆλ‚˜ λ‹¨μˆœν•΄μ§€λŠ”μ§€ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [1, 2, 6]. #### [관계 μœ ν˜• B (κ΅¬ν˜„/ν™œμš© 도ꡬ)] - [[Expo Router]] - μ—°κ²° 이유: React Native μƒνƒœκ³„μ—μ„œ 파일 기반 λΌμš°νŒ…μ„ κ΅¬ν˜„ν•œ λŒ€ν‘œμ  ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ›Ήμ˜ 파일 기반 λΌμš°νŒ… νŒ¨λŸ¬λ‹€μž„μ΄ μ–΄λ–»κ²Œ λͺ¨λ°”일 λ„€μ΄ν‹°λΈŒ ν™˜κ²½μ˜ λ‚΄λΉ„κ²Œμ΄μ…˜(μŠ€νƒ, νƒ­ λ“±)으둜 μΉ˜ν™˜λ˜μ–΄ λ™μž‘ν•˜λŠ”μ§€ μ‹€μ œ κ΅¬ν˜„ 사둀λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€ [1, 5, 15]. - [[Next.js]] - μ—°κ²° 이유: 파일 기반 λΌμš°νŒ… νŒ¨λŸ¬λ‹€μž„μ„ μ›Ή ν”„λ‘ νŠΈμ—”λ“œ μƒνƒœκ³„μ— 널리 λ³΄κΈ‰ν•˜κ³  Expo Router 등에 직접적인 μ˜κ°μ„ μ€€ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 파일 μ‹œμŠ€ν…œ 기반의 λΌμš°νŒ…μ΄ μ–΄λ–»κ²Œ 정적 μ‚¬μ΄νŠΈ 생성(SSG)μ΄λ‚˜ API λΌμš°νŠΈμ™€ λ§€λ„λŸ½κ²Œ μ—°κ²°λ˜λŠ”μ§€ 근본적인 철학을 배울 수 μžˆμŠ΅λ‹ˆλ‹€ [1, 2, 5]. ### Deeper Research Questions - 파일 기반 λΌμš°νŒ… μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©μžμ˜ κΆŒν•œμ΄λ‚˜ 인증 μƒνƒœμ— λ”°λ₯Έ 동적 μ ‘κ·Ό μ œμ–΄(Auth Guards)λŠ” ꡬ쑰적으둜 μ–΄λ–»κ²Œ κ΅¬ν˜„ν•˜λŠ” 것이 κ°€μž₯ νš¨μœ¨μ μΈκ°€? - λŒ€κ·œλͺ¨ μ—”ν„°ν”„λΌμ΄μ¦ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 파일 기반 λΌμš°νŒ…μ˜ 'μ—„κ²©ν•œ 폴더 ꡬ쑰 κ°•μ œμ„±'이 도메인 주도 섀계(DDD)λ‚˜ 클린 μ•„ν‚€ν…μ²˜μ˜ 파일 뢄리 원칙과 μΆ©λŒν•  λ•Œ, 이λ₯Ό μ–΄λ–»κ²Œ μ‘°μœ¨ν•  수 μžˆλŠ”κ°€? - μ„€μ • 기반 λΌμš°νŒ…(예: React Navigation)μ—μ„œ 파일 기반 λΌμš°νŒ…(예: Expo Router)으둜 λŒ€κ·œλͺ¨ μ„œλΉ„μŠ€λ₯Ό λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•  λ•Œ μ˜ˆμƒλ˜λŠ” μ£Όμš” 병λͺ© ν˜„μƒκ³Ό 이λ₯Ό μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•œ 점진적 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μ „λž΅μ€ 무엇인가? - 파일 기반 λΌμš°νŒ…κ³Ό 정적 μ‚¬μ΄νŠΈ 생성(SSG)이 κ²°ν•©λœ μœ λ‹ˆλ²„μ„€ μ•± ꡬ좕 μ‹œ, λͺ¨λ°”일과 μ›Ή κ°„μ˜ μ‹€μ§ˆμ μΈ μ½”λ“œ 곡유율(Code Reuse Rate)을 높이기 μœ„ν•œ μ»΄ν¬λ„ŒνŠΈ 섀계 μ „λž΅μ€ 무엇인가? - λ³΅μž‘ν•œ νƒ­ λ‚΄λΉ„κ²Œμ΄μ…˜μ΄λ‚˜ 슀크둀 μœ„μΉ˜κ°€ μœ μ§€λ˜μ–΄μ•Ό ν•˜λŠ” 쀑첩 라우트(Nested Routes) μƒν™©μ—μ„œ, 파일 기반 λΌμš°νŒ… μ‹œμŠ€ν…œμ€ λ‚΄λΆ€μ μœΌλ‘œ μƒνƒœ(State)λ₯Ό μ–΄λ–»κ²Œ λ³΄μ‘΄ν•˜κ³  κ΄€λ¦¬ν•˜λŠ”κ°€? ### Practical Application Contexts - **Implementation:** μƒˆλ‘œμš΄ ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜κ±°λ‚˜ MVPλ₯Ό μ œμž‘ν•  λ•Œ, λ³„λ„μ˜ λΌμš°νŒ… λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈ μ½”λ“œ μž‘μ„± 없이 `app` 디렉토리에 νŒŒμΌμ„ μΆ”κ°€ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œ μ‹ μ†ν•œ ν”„λ‘œν† νƒ€μ΄ν•‘κ³Ό ν™”λ©΄ κ΅¬ν˜„μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€ [10, 16]. - **System Design:** ν”„λ‘œμ νŠΈμ˜ 파일 관리 디렉토리 ꡬ쑰 μžμ²΄κ°€ μ‹œμŠ€ν…œμ˜ λ‚΄λΉ„κ²Œμ΄μ…˜ 흐름을 κ·ΈλŒ€λ‘œ λ³΄μ—¬μ£ΌλŠ” 단일 μ§„μ‹€ 곡급원(SSOT) 역할을 ν•˜μ—¬, μƒˆλ‘œμš΄ κ°œλ°œμžκ°€ ν•©λ₯˜ν–ˆμ„ λ•Œ μ‹œμŠ€ν…œ ꡬ쑰λ₯Ό λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€ [2, 17]. - **Operation / Maintenance:** μˆ˜μ‹­ 개의 화면을 κ°€μ§„ μ•±μ—μ„œ λ”₯ 링크(Deep Link) λ§€ν•‘ 룰을 μœ μ§€λ³΄μˆ˜ν•˜λŠ” λŒ€μ‹ , 파일 μ‹œμŠ€ν…œμ— λ§‘κΉ€μœΌλ‘œμ¨ 휴먼 μ—λŸ¬λ₯Ό 쀄이고 λΌμš°νŒ… 맡의 μœ μ§€λ³΄μˆ˜ λΉ„μš©μ„ μ ˆκ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [6]. - **Learning Path:** Next.jsλ₯Ό 톡해 파일 기반 λΌμš°νŒ…μ— μ΅μˆ™ν•΄μ§„ μ›Ή κ°œλ°œμžκ°€ λͺ¨λ°”일 크둜슀 ν”Œλž«νΌ μ•±(React Native) 개발둜 μ „ν™˜ν•  λ•Œ, μ΅μˆ™ν•œ μ»¨λ²€μ…˜μ„ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•  수 μžˆμ–΄ μ§„μž… μž₯λ²½κ³Ό λž¨ν”„μ—… μ‹œκ°„μ„ 크게 λ‹¨μΆ•μ‹œν‚΅λ‹ˆλ‹€ [16, 17]. - **My Project Relevance:** λͺ¨λ°”일 μ•±κ³Ό μ›Ή ν”Œλž«νΌ λͺ¨λ‘λ₯Ό 단일 μ½”λ“œλ² μ΄μŠ€λ‘œ νƒ€κ²ŸνŒ…ν•΄μ•Ό ν•˜λŠ” μœ λ‹ˆλ²„μ„€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜(Universal Apps)을 ꡬ좕할 λ•Œ, ν†΅ν•©λœ λΌμš°νŒ… κ²½ν—˜κ³Ό SEO μ΅œμ ν™”λ₯Ό λ™μ‹œμ— λ§Œμ‘±μ‹œν‚€λŠ” 핡심 기반 μ•„ν‚€ν…μ²˜λ‘œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5, 18]. ### Adjacent Topics - [[Universal Apps]]: - ν™•μž₯ λ°©ν–₯: 파일 기반 λΌμš°νŒ…μ„ 기반으둜 λͺ¨λ°”일 μ•±κ³Ό μ›Ήμ‚¬μ΄νŠΈμ—μ„œ λ™μΌν•œ URL ꡬ쑰 및 λΌμš°νŒ… λ‘œμ§μ„ κ³΅μœ ν•˜μ—¬, μ™„λ²½ν•œ 크둜슀 ν”Œλž«νΌ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•˜λŠ” μ•„ν‚€ν…μ²˜ ꡬ좕 방법둠 탐ꡬ [5, 18]. - [[Server-Side Rendering (SSR)]] 및 [[Static Site Generation (SSG)]]: - ν™•μž₯ λ°©ν–₯: λ‹¨μˆœν•œ ν™”λ©΄ 이동(Navigation)을 λ„˜μ–΄, 라우트 λ‹¨μœ„λ‘œ 데이터λ₯Ό μ„œλ²„μ—μ„œ 미리 λ Œλ”λ§ν•˜κ±°λ‚˜ 정적 파일둜 μƒμ„±ν•˜μ—¬ μ›Ή ν™˜κ²½μ—μ„œμ˜ μ„±λŠ₯κ³Ό SEOλ₯Ό κ·ΉλŒ€ν™”ν•˜λŠ” 기술적 μ—°κ΄€μ„± νŒŒμ•… [2, 5]. --- *Last updated: 2026-05-02* --- - [[Router_Implementation]]: λΌμš°νŒ…μ˜ 일반적인 κ΅¬ν˜„ 원리 및 λ‹€λ₯Έ νŒ¨λŸ¬λ‹€μž„(Configuration-based). - [[NextJS_Framework]]: 파일 기반 λΌμš°νŒ…μ„ λŒ€μ€‘ν™”μ‹œν‚¨ λŒ€ν‘œμ  ν”„λ‘ νŠΈμ—”λ“œ ν”„λ ˆμž„μ›Œν¬. - [[Universal_Apps]]: 단일 λΌμš°νŒ… μ»¨λ²€μ…˜μœΌλ‘œ μ›Ήκ³Ό λͺ¨λ°”일을 ν†΅ν•©ν•˜λŠ” μ•„ν‚€ν…μ²˜. ## 1. κ°œμš” File-based Routing(파일 기반 λΌμš°νŒ…)은 ν”„λ‘œμ νŠΈμ˜ 디렉토리 및 파일 ꡬ쑰가 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λΌμš°νŒ…(λ‚΄λΉ„κ²Œμ΄μ…˜) ꡬ쑰와 μΌλŒ€μΌλ‘œ λ§€ν•‘λ˜λŠ” 섀계 νŒ¨λŸ¬λ‹€μž„μ΄λ‹€. λͺ…μ‹œμ μΈ 라우트 μ„€μ • μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λŒ€μ‹ , νŠΉμ • 폴더에 νŒŒμΌμ„ μƒμ„±ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œ μžλ™μœΌλ‘œ κ²½λ‘œκ°€ μƒμ„±λ˜μ–΄ 개발 생산성을 λΉ„μ•½μ μœΌλ‘œ ν–₯μƒμ‹œν‚¨λ‹€. ## 2. 핡심 νŠΉμ§• - **ꡬ쑰와 경둜의 일치**: "폴더 ꡬ쑰 = URL 경둜"의 직관성을 μ œκ³΅ν•˜μ—¬ μ‹œμŠ€ν…œ ꡬ쑰의 투λͺ…μ„± 확보. - **μžλ™ 쀑첩 λΌμš°νŒ… (Nested Routes)**: λ””λ ‰ν† λ¦¬μ˜ 계측 ꡬ쑰λ₯Ό 기반으둜 μ€‘μ²©λœ λ ˆμ΄μ•„μ›ƒκ³Ό λ‚΄λΉ„κ²Œμ΄μ…˜μ„ μžλ™μœΌλ‘œ 처리. - **λ”₯ 링크 (Deep Linking) μžλ™ν™”**: λ³„λ„μ˜ λ§€ν•‘ μž‘μ—… 없이 λͺ¨λ“  화면이 μžλ™μœΌλ‘œ κ³ μœ ν•œ URL(링크 κ°€λŠ₯)을 가짐. - **μœ λ‹ˆλ²„μ„€ μ•± ν˜Έν™˜μ„±**: Next.js(μ›Ή)와 Expo Router(λͺ¨λ°”일) λ“±μ—μ„œ λ™μΌν•œ μ»¨λ²€μ…˜μ„ μ‚¬μš©ν•˜μ—¬ μ½”λ“œ 곡유 및 ν”Œλž«νΌ κ°„ 이동 용이. ## 3. μ‹€μ „ 적용 κ°€μΉ˜ - **개발자 κ²½ν—˜(DX) κ°œμ„ **: λ³΅μž‘ν•œ λΌμš°νŒ… λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈ μ½”λ“œλ₯Ό μ œκ±°ν•˜κ³  κΈ°λŠ₯ κ΅¬ν˜„μ— 집쀑 κ°€λŠ₯. - **μ˜¨λ³΄λ”© μš©μ΄μ„±**: 파일 μ‹œμŠ€ν…œ μžμ²΄κ°€ μ‹œμŠ€ν…œμ˜ λ‚΄λΉ„κ²Œμ΄μ…˜ 지도가 λ˜μ–΄ μ‹ κ·œ νŒ€μ›μ˜ ν”„λ‘œμ νŠΈ νŒŒμ•… 속도 가속. - **νƒ€μž… μ•ˆμ •μ„±**: 파일 ꡬ쑰λ₯Ό λ°”νƒ•μœΌλ‘œ 라우트 κ²½λ‘œμ— λŒ€ν•œ νƒ€μž… 좔둠을 μžλ™μœΌλ‘œ μ§€μ›ν•˜μ—¬ λŸ°νƒ€μž„ 였λ₯˜ λ°©μ§€. ## 4. νŠΈλ ˆμ΄λ“œμ˜€ν”„ - **μž₯점**: 생산성 ν–₯상, μ„€μ • κ°„μ†Œν™”, λ”₯ 링크 관리 μš©μ΄μ„±. - **단점**: 물리적 파일 ꡬ쑰에 λΌμš°νŒ…μ΄ μ’…μ†λ˜μ–΄ λ³΅μž‘ν•œ 동적 λΌμš°νŒ… κ·œμΉ™(μƒνƒœ 기반 쑰건뢀 λΌμš°νŒ… λ“±) κ΅¬ν˜„ μ‹œ μœ μ—°μ„± λΆ€μ‘±. - **μ œμ•½ 사항**: ν”„λ ˆμž„μ›Œν¬κ°€ κ°•μ œν•˜λŠ” νŠΉμ • 폴더 μ»¨λ²€μ…˜(예: `app` 폴더)을 μ€€μˆ˜ν•΄μ•Ό 함. ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ**: 검증 μ™„λ£Œ (Verified) - **좜처 신뒰도**: A - **κ²€ν†  이유**: ν˜„λŒ€μ  ν”„λ‘ νŠΈμ—”λ“œ ν”„λ ˆμž„μ›Œν¬μ˜ ν‘œμ€€ λΌμš°νŒ… νŒ¨λŸ¬λ‹€μž„μœΌλ‘œμ„œμ˜ κ°€μΉ˜μ™€ μ œμ•½ 사항 정립.