Flutter

Flutter

MOBILE

Dart를 프로그래밍 언어로 사용하는 Google이 개발한 크로스 플랫폼 프레임워크입니다. 초고속 핫 리로드, 네이티브 컴파일(ARM/x64), Skia를 통한 고성능 렌더링을 갖춘 위젯 기반 아키텍처입니다. 단일 코드베이스에서 iOS, Android, 웹, 데스크톱 애플리케이션을 구축합니다.

배울 내용

null safety, async/await, 강한 타입을 갖춘 현대적 Dart

컴포지션과 State 관리를 갖춘 위젯 기반 아키텍처

초고속 개발을 위한 즉각적인 핫 리로드

최적의 성능을 위한 네이티브 컴파일 (AOT)

네이티브 UI를 위한 Material Design과 Cupertino 위젯

상태 관리 (Provider, Riverpod, Bloc, GetX)

라우팅과 네비게이션 (Navigator 2.0, go_router)

API, Firebase, 애니메이션을 위한 풍부한 패키지 (pub.dev)

포괄적인 테스트 (unit tests, widget tests, integration tests)

성능 (60fps, Skia 렌더링, 네이티브 코드용 platform channels)

마스터해야 할 핵심 주제

이 기술을 이해하고 면접에서 성공하기 위한 가장 중요한 개념

1

Dart: 타입, null safety, async/await, futures, streams, isolates

2

Flutter 아키텍처: Widget tree, Element tree, RenderObject tree

3

Widgets: StatelessWidget vs StatefulWidget, 수명 주기 (initState, build, dispose)

4

상태 관리: setState(), InheritedWidget, Provider, Riverpod, Bloc

5

BuildContext: 네비게이션, Theme.of, MediaQuery, inherited 데이터 접근

6

레이아웃 위젯: Container, Row, Column, Stack, Flexible, Expanded

7

Material Design: Scaffold, AppBar, BottomNavigationBar, Drawer, SnackBar

8

Cupertino 위젯: CupertinoPageScaffold, CupertinoNavigationBar, pickers

9

네비게이션: Navigator.push/pop, named routes, Navigator 2.0, go_router

10

폼과 입력: TextField, Form, FormField, 유효성 검사, TextEditingController

11

리스트: ListView, ListView.builder, GridView, CustomScrollView, Slivers

12

네트워킹: http 패키지, dio, REST APIs, JSON 직렬화 (json_serializable)

13

로컬 저장: shared_preferences, sqflite, hive, secure_storage

14

애니메이션: AnimatedContainer, AnimationController, Tween, Hero animations

15

Platform channels: 네이티브 코드 통합을 위한 MethodChannel (Kotlin/Swift)

16

패키지: pub.dev, firebase_core, flutter_bloc, freezed, go_router

17

테스트: testWidgets, mockito, integration_test, golden tests

18

성능: const constructors, RepaintBoundary, ListView.builder, profiling

19

반응형 디자인: MediaQuery, LayoutBuilder, OrientationBuilder, AspectRatio

20

빌드와 배포: flutter build, App Store/Play Store, CI/CD, flavors