Flutter Riverpod Essential 코스에서는 Flutter state management solution 중 현재 가장 빠르게 저변을 확대하고 있는 Riverpod에 대해 깊이 있게 배울 수 있습니다.
만약 Flutter Riverpod에 대해 깊이 이해하기를 원하고, 모든 개념을 실전처럼 연습해보고자 하신다면 이 강의야 말로 여러분을 위한 바로 그 강의입니다.
강의를 만들 때 이론과 실전 간의 균형이 이루어질 수 있도록 주의 했습니다.
그리고, 반복이야말로 가장 중요한 학습 방법이라는 믿음 하에, 새로운 개념이 나올 때마다 작은 앱을 만들어서 그 개념을 테스트를 하고, TODO, Weather, Firebase Authentication app 등의 실전 앱을 통해서는 개념이 종합적으로 어우러지도록 했습니다. 특히 TODO, Weather, Firebase Authentication App을 만들 때 다양한 state 형태를 활용해 반복적으로 연습합니다.
이번 코스에서 다루는 모든 내용들을 간단히 살펴보겠습니다.
- Dart Data Class Generator와 Freezed 기반의 Dart Data Class 관리
- All Providers: Provider, StateProvider, FutureProvider, StreamProvider, StateNotifierProvider, ChangeNotifierProvider, NotifierProvider, AsyncNotifierProvider, StreamNotifierProvider
- All Provider modifiers: no modifier, autoDispose, family, autoDispose + family
- AsyncValue, AsyncValueX extension에서 제공하는 다양한 property와 method 사용 예
- Provider Lifecycle: Provider lifecycle method를 이용한 Provider State Caching Customization 등
- Provider Scoping을 통한 Performance Optimization 등 다양한 Provider Scoping 활용
- Riverpod와 관련해서 개발자들이 자주 하는 실수를 방지해주고 반복적인 작업을 간소화할 수 있도록 디자인된 패키지인 Riverpod Lint에 대해 예제를 통해 학습
- Riverpod를 이용한 numbered pagination과 infinite scroll 구현
- Riverpod + GoRouter 사용 예
- TODO App (5번 구현): 1. Sync Todo App, 2. enum 기반 state를 활용하는 Async Todo App, 3. sealed class 기반 state를 활용하는 Async Todo App, 4. AsyncValue를 state로 활용하는 Async Todo App, 5. AsyncValue + Hive (data persistence)
- Weather App (4번 구현): 1. AsyncValue를 state로 활용, 2. sealed class 기반 state를 활용, 3. enum 기반 state를 활용, 4. AsyncValue + Geolocator
- Firebase Authentication App: Signup, Signin, Signout, VerifyEmail, ForgetPassword, ChangePassword