본문 바로가기

Flutter

riverpod 과 MVVM 활용 - 플러터 프로젝트 생성(1)

이번 프로젝트에 목적은 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