이번 프로젝트에 목적은 Flutter를 사용해서 MVVM 패턴과 riverpod 프레임워크를 학습하는데 있다.
Provider 계열
- Provider: 객체의 의존성 주입을 관리하는 데 사용된다. 주로 서비스 클래스나 리포지토리 같은 비상태적인 객체를 제공하는 역할을 합니다. 상태 변경이 필요 없는 경우에 적합한다.
- StateNotifierProvider: 상태 관리를 위해 StateNotifier를 제공하는 데 사용된다. 상태의 변경을 관리하고, 그에 따라 UI를 업데이트하는 역할을 한다.
notifier 계열
- StateNotifier: 상태 변경을 관리하는 객체이다. 내부적으로 상태를 유지하고, 상태가 변경될 때 이를 구독하는 UI에 알린다. 주로 복잡한 상태 로직을 처리하거나 상태 변화가 빈번한 경우에 사용된다. MVVM 패턴에서 뷰 모델(ViewModel)로 사용하기에 적합하다.
프로젝트 생성
dependencies:
flutter:
sdk: flutter
# 상태 관리를 위한 Riverpod
flutter_riverpod: ^2.3.6
# HTTP 요청을 위한 Dio
dio: ^5.2.3
# Equatable을 사용하여 값 기반 비교를 지원 (선택 사항)
equatable: ^2.0.5
# mocktail은 mockito보다 사용하기 간편한 모킹 라이브러리입니다.
mocktail: ^0.3.0 # 최신 버전 확인 후 적용
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.
패키지 생성
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(const NovaBlog());
}
class NovaBlog extends StatelessWidget {
const NovaBlog({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
728x90
'Flutter' 카테고리의 다른 글
riverpod 과 MVVM 활용 - API에서 사용할 데이터 구조를 정의하기 위해 Post 클래스를 만들어 보자.(모델링 작업)(3) (0) | 2024.11.19 |
---|---|
riverpod 과 MVVM 활용 - Http 통신 클라이언트 Dio 객체를 만들어 보자(2) (0) | 2024.11.19 |
riverpod 과 MVVM 활용 - riverpod 개념 정리 (1) | 2024.11.19 |
당근 마켓 만들어 보기 (2) | 2024.11.19 |
MVVM 패턴과 상태 관리 (0) | 2024.11.15 |