Flutter 개발 로드맵 초급부터 고급까지 단계별 안내

Flutter 개발 로드맵 초급부터 고급까지 단계별 안내
Cozy CodingPosted On Jul 9, 20243 min read

초급자 레벨

  1. 플러터 소개
  • 플러터란 무엇인가요?

  • 플러터 사용의 장점들

• 플러터 설치 및 개발 환경 설정(Windows, macOS, Linux)

• IDE 설정(VS Code, Android Studio)

  1. Dart 기초

• 변수와 데이터 유형

  • 제어 구조 (if-else, switch-case)
  • 반복문 (for, while, do-while)
  • 함수
  • 클래스와 객체

• 오류 처리

  1. 플러터 기초

• 위젯 이해

• Stateless 대 Stateful 위젯

• 기본 UI 구축

• 사용자 입력 처리

• Flutter에서 디버깅

• 핫 리로드 및 핫 리스타트

  1. 레이아웃 및 네비게이션
  • 일반적인 레이아웃 위젯 (Container, Column, Row, Stack, ListView, GridView)

  • 화면 간 이동

  • 화면 간 데이터 전달

• Navigator 2.0 사용 중

중급 수준

  1. 상태 관리

• 상태 이해

• setState 및 Stateful 위젯

• InheritedWidget

• Provider

• Riverpod

• MobX (특정한 사용 사례에 맞는 것)

  1. 네트워킹

• HTTP 요청

• REST API와 함께 작업

• JSON 파싱

• 네트워크 호출에서의 오류 처리

• 로컬 저장소

• 공유 프리퍼런스

• 파일 저장소

• SQLite

• 하이브

  1. 파이어베이스 통합

• Firebase 인증

• Firestore 데이터베이스

• Firebase 실시간 데이터베이스

• Firebase 스토리지

• Firebase Cloud Messaging을 활용한 푸시 알림

  1. 고급 UI 및 애니메이션

• 사용자 정의 위젯

• 고급 레이아웃

• 애니메이션 (암시적 및 명시적)

• 제스처 감지 및 처리

• 복잡한 UI 디자인 구축

고급 레벨

  1. 고급 상태 관리
  • BLoC 패턴

  • Redux

  • Riverpod (고급 사용법)

• MobX (고급 사용법)

  1. 성능 최적화

• 앱 성능 분석 및 향상

• 효율적인 빌드 방법

  • 리빌드를 줄이기

  • 무거운 계산에 아이솔레이트 사용

  1. 고급 네트워킹
  • 웹소켓

• GraphQL

• 캐싱 전략

  1. 테스트

• 유닛 테스트

• 위젯 테스팅

• 통합 테스팅

• 모킹 및 스텁핑

  1. 네이티브 통합

• Method Channels

• Writing Platform-specific Code (Android/iOS)

• Using Platform Channels to access native features

  1. Continuous Integration/Continuous Deployment (CI/CD)
  • CI/CD 파이프라인 설정

  • GitHub Actions, Bitrise, Codemagic과 같은 도구 사용

  • 자동화된 테스팅 및 배포

  1. 오픈 소스 기여

• Flutter 오픈 소스 프로젝트 찾기

• 기여하기

• 자신의 패키지 만들기 및 배포하기

최종 프로젝트

  1. 앱 완성하기
  • 앱을 계획하고 디자인하기
  • 기능을 처음부터 구현하기
  • 상태 관리, 네트워킹, 스토리지, Firebase 통합하기

• 앱을 철저히 테스트하기

• 앱을 플레이 스토어와 앱 스토어에 배포하기