반응형

Flutter로 개발을 하다보면 State관리에서 여러가지 도구들을 보게된다.

그런데 개인적으로 Provider과 Consumer, FutureBuilder이 헷갈려서 정리해보는 글이다.

LLM최고

 

1. Provider

- 상태 관리 솔루션의 기본 클래스
- 데이터를 앱의 위젯 트리 전체에 제공하는 역할
- 주로 ChangeNotifier와 함께 사용됨

2. Consumer

- Provider에서 제공하는 데이터를 사용하는 위젯
- Provider의 데이터가 변경될 때 자동으로 rebuild됨
- 위젯 트리의 특정 부분만 업데이트할 때 유용

3. FutureBuilder

- 비동기 데이터를 처리하기 위한 위젯
- Future의 상태에 따라 다른 UI를 표시
- API 호출, 데이터베이스 작업 등에 사용

 

주요 차이점:

1. 용도

- Provider: 전역 상태 관리
- Consumer: Provider 데이터 사용 및 UI 업데이트
- FutureBuilder: 비동기 데이터 처리

2. 데이터 유형

- Provider: 모든 타입의 데이터
- Consumer: Provider가 제공하는 데이터
- FutureBuilder: Future 객체

3. 업데이트 방식

- Provider: 데이터 변경 알림
- Consumer: Provider 변경 시 자동 rebuild
- FutureBuilder: Future 완료 시 UI 업데이트

 

위의 문제들이 문제가 된 경우는 주로 'Provider을 어디서 뿌리는지'와 Consumer을 사용하지 않을 경우, Provider에서 notify를 호출해도 왜 UI가 rebuild되지 않는지 등의 문제를 겪다가 개념에 대한 정리가 필요해서 알아봤다.

게다가 최근 Cashed Query를 사용하다 보니 더욱 복잡해져서 헷갈리는 상황이다.

아무튼, 최대한 이해를 열심히 해서 잘 사용해야겠다.

반응형
반응형

 

Flutter로 개발을 하다보면 아무래도 프론트엔드 언어라서 그런지 에러핸들링이 미묘하다.

특히, 타입과 관련된 경우 더욱 그렇다!

그래서 나름 신중하게 코드를 짠다고 해도 나중에 테스트를 하다보면 꼭 타입관련 오류가 나는편이다..

하지만 모든 타입마다 하나하나 모델을 따로 만들어주는 것은 여간 번거로운 일이 아닌데, 우연히 알게 된 라이브러리가 아주 좋아서 포스팅해본다.

https://github.com/mmvergara/supadart

 

GitHub - mmvergara/supadart: Typesafe queries in Supabase Flutter! Generate Flutter / Dart 🎯 classes from your Supabase schem

Typesafe queries in Supabase Flutter! Generate Flutter / Dart 🎯 classes from your Supabase schema. - mmvergara/supadart

github.com

 

위 링크를 통해서 파일을 생성해주면 연관 된 Supabase의 테이블을 보고 Type을 토대로 한 모델을 생성해준다.

예전에 이 라이브러리를 몰라서 그냥 ts파일을 받아서 LLM으로 만들었었는데...

그런 경우 역시 업데이트에 바로바로 대응하는게 힘들어서 이 방법이 훨씬 효율적인듯 하다.

앞으로도 애용할 예정!

반응형
반응형

flutter.dev

 

Flutter - Beautiful native apps in record time

Flutter SDK is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

flutter.dev

 

플러터는 안드로이드와 아이폰을 모두 디자인 할 수 있다.

언어는 dart를 사용한다.

기존에는 모바일 개발의 경우 안드로이드 어플, 아이폰 어플을 별도로 개발해야 했다.

그런데 이런 경우 비용의 부분도 무시할 수 없고 개발에 들어가는 시간이 당연하게 많아진다.

이런 문제점을 해결하기 위해 나온 것이 바로 Flutter이다.

심지어 웹까지도 가능하다고 하는데 이 부분은 최근에야 조금 실용성이 있다는 소문이 들린다.

앞으로 전망은 어떨지 모르겠지만 일단 스타드업이나 흐름이 빠른 IT업계에서 유용한 도구가 아닐까 싶어 한 두달 전 부터 과외를 받고있다.

그러다가 우연히 최근에 구인구직 어플에서 Flutter개발자를 찾는다는 내용을 봤고 반가웠다.

아직 취업을 할 정도로 배우진 못했고 아웃풋도 없는 상황이지만 앞으로 좀 더 열심히 배워보면 가망이 있지 않을까 한다.

 

*무료이고 오픈소스이다.

반응형
반응형

 

Flutter은 안드로이드와 ios를 모두 활용하여 개발할 수 있는 도구이다.

 

안드로이드 스튜디오에서 Flutter을 활용하여 프로젝트 생성하는 방법을 알아보자.

 

1. Android Studio를 실행한 후 Start a new Flutter project를 선택한다.

2. 아래와 같은 화면에서는 가장 앞의 것을 선택한 후 Next

3. Project name에 생성할 프로젝트의 이름을 기입한 후 Next

4. 아래의 Platform channel language의 두가지를 모두 체크한 후 Next

 

5. 생성 완료!!

 

이제 dart를 활용하는 Flutter의 세계에 입문했다.

 

반응형

+ Recent posts