본문 바로가기
Study/Flutter

Flutter 개발자의 10가지 필수 역량

플러터 개발자로서 실무와 성장에 필수적인 역량은 아래와 같이 정리할 수 있습니다


1. Flutter Core Concepts

  • 위젯 시스템 이해: StatelessWidget, StatefulWidget, InheritedWidget
  • 레이아웃 구성: Column, Row, Stack, Expanded, Flexible, MediaQuery
  • Navigation & Routing: Navigator 1.0, Navigator 2.0, go_router 패키지

2. State Management (상태 관리)

  • 기초: setState, InheritedWidget
  • 필수 패키지:
    • provider (초급~중급)
    • riverpod (중급~고급, 향후 주류)
    • bloc / flutter_bloc (아키텍처 중심 프로젝트에서 인기)
    • GetX (경량화된 앱에 적합, 라우팅도 간편)

3. Dart 언어 숙련도

  • Null Safety
  • Async / Await, Future, Stream
  • 클래스, 믹스인, 익스텐션, 제네릭

4. 비동기 프로그래밍

  • Future, Stream, async/await 패턴
  • StreamBuilder, FutureBuilder

5. 디자인 시스템 / 반응형 UI

  • MediaQuery, LayoutBuilder, flutter_screenutil, responsive_framework
  • 커스텀 위젯 설계 및 테마 시스템 (ThemeData, darkMode, custom TextTheme)

6. 데이터 연동

  • HTTP 통신: http, dio
  • 로컬 저장소: shared_preferences, hive, isar, sqflite
  • REST API, GraphQL 연동
  • Firebase 연동: 인증, Cloud Firestore, Storage

7. 플랫폼 통합

  • Method Channels (플랫폼 네이티브 코드 연동)
  • 카메라, 위치, 센서, 파일 등 네이티브 기능 연동

8. 배포 및 CI/CD

  • 앱 서명, iOS/Android 스토어 배포
  • flutter_launcher_icons, flutter_native_splash
  • fastlane, GitHub Actions, Codemagic 사용

9. 테스트 및 품질 관리

  • 단위 테스트: test
  • 위젯 테스트: flutter_test
  • 통합 테스트: integration_test, flutter_driver

10. 성능 최적화

  • 렌더링 트리 분석 (RepaintBoundary)
  • DevTools 활용
  • 메모리 누수, 프레임 드랍 최적화

하나씩 상세히 다뤄봅시다.