Provider란?
Provider는 플러터 커뮤니티에서 만든 플러그인이었으나, 현재는 구글에서 추천할 정도로 편리하다. 원래 구글은 Provider가 아닌 Bloc 패턴 사용을 권장했었다.
이유는, 플러터는 UI와 Design 모두 소스코드로 관리지 않으면 한 클래스에 여러 코드가 몰리는 문제점이 있었다. 이를 해결하기 위해 구글은 UI와 데이터 처리 로직을 분리하기 위해 Bloc 패턴을 제공했었다. 하지만 Bloc 패턴은 사용하기 어렵다는 단점이 있었고, 단순한 로직을 구성하는데 최소 4개의 클래스를 만들어야 했었다.
Provider는 여러가지 상태 관리 중에서도 쉬운 편에 속한다.
Provider는 크게 '생성 부분'과 '소비 부분'으로 나누어 생각하면 쉽다.
생성 부분에서는 사용할 데이터 타입을 결정하고 해당 데이터에 대한 Provider를 만들고, 소비 부분에서는 Provider를 통해 데이터를 불러오거나 수정하는 등의 작업을 진행한다.