[Flutter] (MVVM 활용) 플러터 프로젝트 생성 - 1

2024. 11. 19. 11:18·Flutter/MVVM 활용

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

'Flutter > MVVM 활용' 카테고리의 다른 글

[Flutter] (MVVM 활용) 데이터 접근 계층인 PostRepository 만들어 봅시다. - 4  (0) 2024.11.19
[Flutter] (MVVM 활용) API에서 사용할 데이터 구조를 정의하기 위해 Post 클래스를 만들어 봅시다.(모델링 작업) - 3  (0) 2024.11.19
[Flutter] (MVVM 활용) Http 통신 클라이언트 Dio 객체를 만들어 보자 - 2  (0) 2024.11.19
[Flutter] riverpod 과 MVVM 활용  (0) 2024.11.19
[Flutter] (MVVM 활용) riverpod 개념 정리  (2) 2024.11.19
'Flutter/MVVM 활용' 카테고리의 다른 글
  • [Flutter] (MVVM 활용) API에서 사용할 데이터 구조를 정의하기 위해 Post 클래스를 만들어 봅시다.(모델링 작업) - 3
  • [Flutter] (MVVM 활용) Http 통신 클라이언트 Dio 객체를 만들어 보자 - 2
  • [Flutter] riverpod 과 MVVM 활용
  • [Flutter] (MVVM 활용) riverpod 개념 정리
미로910
미로910
개발자를 꿈꾸는 민경이의 기록 블로그
  • 미로910
    개발 note
    미로910
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 설치 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java 응용
        • 자료구조
        • HTTP
        • JSP 프로그래밍
      • MySQL
        • MySQL 기본
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • 게시판 만들기
      • Git
      • Flutter
        • MVVM 활용
        • 심화 버전
        • 1일 1 Flutter
      • 디자인 패턴의 활용
      • error note
      • My Project
        • [졸작] LLM 기반 특허 유사도 분석 시스템
        • 도서 관리 프로그램 (final project)
        • amigo
        • 친구 매칭 프로그램(FMP)
      • Python
      • 딥러닝
      • 네트워크
      • 공부 노트
        • 연구회
        • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 전체보기
    • -----------------------
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미로910
[Flutter] (MVVM 활용) 플러터 프로젝트 생성 - 1
상단으로

티스토리툴바