Files
2nd/10_Wiki/Dev/Platform_Guides/모바일_개발_가이드.md
T
Antigravity Agent 1cfd3bbb56 docs(10_Wiki): 위키 구조 정리 — 언어 튜토리얼 카테고리 폴더 제거 + 신규 자산 동기화
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고,
Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
2026-07-05 00:10:59 +09:00

3.9 KiB

id, title, category, status, verification_status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, created_at, updated_at, review_reason, merge_history, tags, raw_sources, applied_in, github_commit
id title category status verification_status canonical_id aliases duplicate_of source_trust_level confidence_score created_at updated_at review_reason merge_history tags raw_sources applied_in github_commit
platform-mobile-development 모바일 개발 가이드 Platform_Engineering draft conceptual
mobile development
모바일 개발
iOS
Android
React Native
Flutter
A 0.85 2026-06-13 2026-06-13
platform
mobile
guide
platform-independent
일반 모바일 공학 지식

모바일 개발 가이드

🎯 한 줄 통찰 (One-line insight)

모바일 개발의 고유 제약은 "불안정 네트워크·제한된 자원·OS 백그라운드 제약·생명주기" 이며, 이를 오프라인 우선·로컬 저장·백그라운드 작업·내비게이션 패턴으로 다루는 것이 핵심이다.

🧠 핵심 개념 (Core concepts)

앱 생명주기(foreground/background), 오프라인 우선, 로컬 저장, 푸시, 내비게이션 스택, 권한.

📖 세부 내용 (Details · 12-field)

  • Problem: 끊기는 네트워크·제한 메모리/배터리·OS 제약 하에서 반응적이고 신뢰 가능한 앱.
  • Recommended Architecture: 오프라인 우선(로컬 저장이 진실) + 동기화 계층 + 화면/도메인 분리(MVVM/Clean) + 내비게이션 라우터.
  • Folder Structure: lib|src/{features/<feature>/{ui,viewmodel,data}, core/(network,storage,di), navigation}.
  • Core Components: 로컬 DB(Local Storage Pattern), 동기화(Offline Sync Pattern), API 클라이언트(API Client Pattern), 푸시(Push Notification Pattern), 내비게이션(Navigation Pattern), 백그라운드(Background Task Pattern).
  • State Management: ViewModel/store(Bloc/Riverpod/Redux) + 서버 상태 분리 + 화면 상태 복원(State Management Pattern).
  • Error Handling: 네트워크 실패 우아 처리(오프라인 표시·재시도), 낙관적 업데이트 롤백(Error Handling Pattern).
  • Testing Strategy: 단위(ViewModel/로직), 위젯/컴포넌트, 통합/E2E(Detox/Espresso). 디바이스 매트릭스.
  • Scaling Strategy: 이미지/리스트 가상화, 지연 로드, 배터리/네트워크 인지 동기화, 모듈화.
  • Common Mistakes: 메인 스레드 무거운 작업(jank), 토큰 평문 저장, 알림 전달 가정, 생명주기 무시(누수), offset 페이징.
  • Refactoring Patterns: UI-로직 분리(ViewModel 추출), 동기화 계층 분리, 거대 위젯 분해, 네트워크 클라이언트 통합.
  • Real-world Tradeoffs: 크로스플랫폼(RN/Flutter: 생산성 ↔ 네이티브 한계), 네이티브(성능/플랫폼 기능 ↔ 2벌 개발), 오프라인(UX ↔ 충돌 복잡도).
  • Design Heuristics: "로컬을 진실로, 서버는 동기화", "메인 스레드를 비워라", "민감정보는 보안 저장소", "알림은 유도, 데이터는 동기화".

⚖️ 모순 및 업데이트 (Contradictions & updates)

크로스플랫폼이 항상 답은 아니다 — 고성능/플랫폼 특화 기능이 중요하면 네이티브. OS 백그라운드 제약은 "정시 실행" 가정을 깬다.

🛠️ 적용 사례 (Applied in summary)

일반 모바일 앱. AstraAI 직접 사례 없으나 오프라인/저장/백그라운드 원리는 패턴 카탈로그 인덱스 공유.

🔗 지식 그래프 (Knowledge Graph)

📚 출처 (Sources)

  • [S1] 일반 모바일(iOS/Android/RN/Flutter) 공학 지식

📝 변경 이력 (Change history)

  • 2026-06-13: 플랫폼 독립 모바일 개발 가이드 초안.