[TIL] Day 52 Riverpod vs Provider

현서·2일 전

[TIL] Flutter 9기

목록 보기
64/65

Riverpod vs Provider 상태관리 비교

1. 위젯 트리 의존성

Provider
위젯 트리에 의존
Provider는 반드시 상위 위젯에 선언되어 있어야 함
BuildContext를 통해 트리를 거슬러 올라가며 상태 탐색
👉 구조가 깊어질수록 관리가 어려워짐

Riverpod
위젯 트리와 완전히 독립
Provider를 전역 변수처럼 선언 가능
트리를 탐색하지 않고 바로 접근 가능
👉 구조가 훨씬 자유롭고 설계가 깔끔해짐

2. BuildContext 사용 여부

Provider
상태 접근 시 context 필수
UI 코드 안에서만 사용하기 쉬움
Service, Repository 같은 일반 클래스에서 쓰기 불편
👉 UI와 비즈니스 로직이 강하게 결합됨

Riverpod
ref 객체로 상태 관리
BuildContext 불필요
UI 밖 로직에서도 자유롭게 사용 가능
👉 관심사 분리가 쉬워지고 테스트도 편해짐

3. 에러 감지 시점 (안정성)

Provider
런타임 에러 발생 가능
Provider 미등록 시 실행 중 앱이 터짐
사전에 알기 어려움
👉 디버깅 비용 증가

Riverpod
컴파일 타임 에러 지원
잘못 사용하면 바로 빨간 줄 표시
실행 전에 오류 발견 가능
👉 안정성 매우 높음

0개의 댓글