GetX vs Provider 기본 개념

GetX Provider
개발사 GetX 커뮤니티 Google 공식 지원
철학 간단한 코드 + 성능 최적화 선언적 상태 관리
상태 관리 방식 반응형(reactive) 상태 관리 InheritedWidget 기반 상태 관리
추가 기능 상태 관리 + 라우팅 + 의존성 주입 상태 관리 전용

👉 GetX는 단순한 문법과 함께 강력한 기능(라우팅, 의존성 주입)을 제공

👉 Provider는 공식 라이브러리이며, 플러터 철학(선언적 UI)에 충실

상태 관리 방식

✅ GetX (반응형 상태 관리)

class CounterController extends GetxController {
  var count = 0.obs; // 반응형 변수
  void increment() => count++; // 자동 UI 업데이트
}

Provider (전통적 상태 관리)

class CounterProvider with ChangeNotifier {
  int count = 0;
  void increment() {
    count++;
    notifyListeners(); // 수동으로 UI 업데이트
  }
}

GetX는 자동으로 상태를 업데이트하고, Provider는 수동으로 notifyListeners()를 호출해야 함!

성능 & 최적화

GetX Provider
렌더링 최적화 최소 위젯만 리빌드 Consumer 사용으로 최적화 필요
메모리 관리 라우트 종료 시 컨트롤러 자동 삭제 가능 필요 시 dispose() 구현 필요