본문 바로가기

플러터34

[플러터] 앱에 맞는 데이터 저장 라이브러리 선택하기 플러터 앱에 로컬 데이터를 저장할 때는 앱의 기능에 맞춰 필요 적합하는 도구를 선택해야 합니다. 어떤 기준과 관점으로 데이터를 저장하는 패키지를 선택해야 하는지 알아보고 알맞은 몇 가지 라이브러리를 소개하겠습니다. 내 앱에 맞는 로컬 데이터 저장 패키지 고르기 도구와 라이브러리 패키지는 시간이 흐름에 따라 변경되기도 하지만 내 앱에 맞는 도구를 선택하기 위해 아래와 같은 질문을 스스로 해볼 수 있습니다. 어느 플랫폼에서 사용하나? 어떤 종류의 데이터를 사용하나? SQL 혹은 NOSQL을 사용하나? 1. 어느 플랫폼에서 사용하나? 우선 플랫폼 관점으로 생각해 보겠습니다. 플러터를 사용하면 안드로이드 및 iOS와 같은 모바일 플랫폼 앱을 만들 수 있을뿐만 아니라 웹 혹은 윈도우, 맥과 같은 데스크톱 앱도 만.. 2022. 6. 16.
[flutter 상태관리] 10. 플러터 Stream 과 Sink 스트림을 활용해서 연속되는 데이터를 처리하는 방법에 대해 알아볼텐데요. 상태 관리 패턴인 BLoC를 다루기에 앞서 Stream과 Sink의 개념을 알아보겠습니다. Stream이란? Stream은 연속 데이터, 이벤트를 처리해주는 클래스 입니다. 스트림 자체는 연속적인 값을 가지며 sink를 사용해 메시지(값)를 추가해 줄 수 있습니다. 추가된 메시지는 listen 메소드를 사용해 추가된 타이밍에 값을 사용하여 처리를 하는 리스너를 설정할 수 있습니다. 따라서 사용자의 액션에 따른 처리나, webAPI의 비동기 처리를 할 때 Stream을 사용하게 됩니다. Rxjs와 같은 ReactiveX를 사용해본 분이라면 거부감 없이 받아들일 수 있고 rx라이브러리 호환되는 부분도 있습니다. Provider와 Stre.. 2022. 6. 14.
[flutter 상태관리] 8. 플러터 ScopedModel 지금까지 상태를 전달해주기 위해 해왔던 일은 되짚어보면 첫 번째로는 상위 위젯에서 상태가 필요로 하는 위젯까지 연달아 상태를 전달해 주었습니다. 문제는 중간에 있는 위젯들도 전달을 목적으로만 상태를 건네받아야 했었죠. 두 번째는 InheritedWiget을 사용하여 상태를 필요한 위젯에서 접근해서 사용했습니다. 이제 더 발전된 형태인 scopedModel을 활용해서 모델(상태)을 하위 위젯에서 어떤 식으로 이용할 수 있는지 알아보도록 하겠습니다. ScopedModel에서는 상태를 모델이라고 부르게 됩니다. 지난 상태 관리 글에서 예제가 이어집니다. 🤓 [flutter 상태관리] 5. stateful widget 실습, 체크박스를 가진 갤러리 만들기 [flutter 상태관리] 6. stateful widg.. 2022. 6. 9.
[flutter 상태관리] 7. InheritedWidget 으로 상태 공유하기 플러터 앱에서 스테이트풀 위젯과, 스테이트리스 위젯에 대해 알아보며 상태의 이야기를 해오고 있습니다. InheritedWidget을 사용해서 상태를 공유하는 방법에 대해 알아보겠습니다. 이번 포스트에서 이야기하는 핵심 내용 InheritedWidget을 이해하고 사용하는 법 InheritedWidget의 updateShouldNotify 메소드 BuildContext의 dependOnInheritedWidgetOfExactType 메소드 플러터 상태 공유 지난 예제에서 상위 위젯이 가지고 있는 상태를 하위 위젯에서 변경하기 위해서 많은 위젯 사이에서 데이터를 주고받아야 했습니다. 그 결과 많은 종속성을 위젯이 가지게 되었었고 좋은 접근 방식이 아니란 걸 알 수 있었죠. [flutter 상태관리] 6. s.. 2022. 6. 8.