전체 글32 [Flutter] Flutter Flavorizr 를 통한 Flavor 설정 프로젝트를 진행하다보면 동일한 기능이지만 다른 버전이 필요할 경우가 있습니다.예를 들어 개발(development), 스테이징(staging), 프로덕션(production) 환경에 맞게 설정을 달리할 수 있습니다.플레이버(flavor)는 소프트웨어 개발에서 동일한 애플리케이션의 여러 가지 변형 버전을 말합니다. 각 변형은 공통적인 코드베이스를 공유하지만, 설정, 리소스, 환경 변수, 또는 특정 기능이 다를 수 있습니다. 이 기능을 직접 설정하는것은 약간의 공수가 필요한데 이것을 쉽게 설정해주는 라이브러리가 있습니다.Flutter Flavorizr기능다양한 환경에 맞는 플레버 관리: 개발, 스테이징, 프로덕션 등 다양한 환경에 맞게 애플리케이션을 구성할 수 있습니다.자동화된 코드 생성: 각 플레버에 대해.. 2024. 8. 9. [Flutter] 위젯이 생성되기 까지 Flutter로 개발을 할 때 Widget tree, Element Tree, Render Tree를 다들 한 번쯤은 들어보셨을 겁니다.대충 어떤 내용인지는 알고 계시겠지만 그 정도에서 넘어가기에는 더 심도있게 알아야한다고 생각하여 이번 글에서 정리하여 소개해보겠습니다. 우선 Flutter는 선언형 UI 입니다.해당 접근 방식은 UI를 함수나 객체로 선언하여, 상태가 변경될 때마다 UI를 새로 빌드하는 방식입니다.선언형 UI개발자는 UI의 최종 상태만을 선언하고, 해당 상태를 어떻게 표현할지 지정합니다. Flutter에서는 build() 메서드 내에서 UI를 구성하는 위젯을 선언적으로 정의하며, 이 위젯들이 트리 구조를 형성합니다.명령형 UI와 비교하면 명령형 UI에서는 UI의 각 상태를 명령으로 정의하.. 2024. 8. 8. [Flutter] 무한 스크롤 구현 해보기 + 검색 이번 글에서는 무한 스크롤에 대해 소개해보겠습니다. 우선 무한 스크롤은 다양한 앱에 적용되어있습니다. 이것은 댓글이나 게시글 등 페이징 처리가 된 UI에서 유용하게 사용됩니다. 페이지를 클릭해서 사용하는 방법도 좋지만 스크롤만 내리면 지연 로딩을 통해 데이터를 보여주는 방법이 자주 사용되고 있으므로 여러분들도 개발을 햘 때 유용하게 사용할 것이라고 생각됩니다.무한 스크롤을 직접 구현해도 됩니다. 하지만 신경써줘야 할 부분이 몇 가지 있죠.- 스크롤 위치가 최하단인지 판별,- 마지막 페이지 인지 확인- 현재 페이지 번호 - 로딩 상태 관리- 에러 처리 위 내용 말고도 요구사항에 따라 더 많은 고려사항이 있을수도 있습니다. 저는 직접 구현 해서 사용하다가, 인기있는 무한 스크롤 라이브러리를 찾아서 소개할려.. 2024. 8. 7. [Flutter] Riverpod 뽀개기 (3) (feat.Freezed) 이번 글에서는 Riverpod 2.0에서 공개된 (Async) NotifierProvider 활용환 상태관리를 소개해보겠습니다.StateNotifier, FutureProvider 등 여러가지 Provider가 있지만, 공식문서에서는 새로 공개된 NotifierProvider로 migration 하는 것을 권장하고 있습니다.NotifierProviderNotifierProvider는 동기 상태 관리를 위한 Provider입니다. 기존의 StateNotifier와 유사한 역할을 하지만, 더 간단하고 명확한 API를 제공합니다.특징상태 관리: NotifierProvider는 동기적으로 상태를 관리합니다. 상태를 읽거나 업데이트할 때마다 앱이 자동으로 업데이트됩니다.간단한 API: 기존 StateNotifie.. 2024. 8. 6. [Flutter] Riverpod 뽀개기 (2) 이전 글에서는 Riverpod의 소개와 Provider의 종류를 소개해보았는데요, 이번 글에서는 Riverpod에서 Provider를 사용하는 방법부터 설명까지 소개해보겠습니다.WidgetRefProvider를 생성하거나, Provider에 접근할 떄에는 모두 WidgerRef 값이 필요합니다.아래 예시를 통해 알아보겠습니다. 예시에서는 Notifier 에서 초기값을 0으로 설정하고, increment 함수를 통해 state를 변화시키고 있습니다.이제 선언을 했다면 버튼 같은 상호작용을 통해 메서드를 호출해야겠죠?그런데 이렇게 Provider에 접근을 할려면 WidgetRef가 필요합니다. 아래는 WidgetRef 클래스에 대한 정의입니다.사진을 보시면 많은 메서드 들이 있는데요, 많이 사용하게될 4가지.. 2024. 8. 5. [Flutter] Riverpod 뽀개기 (1) 앞의 글에서 상태관리의 필요성에 대해 알아보았는데 이번에는 그 중에서 Riverpod에 대해 알아보겠습니다.Riverpod 반응형 캐싱 및 데이터 바인딩 프레임워크입니다.Riverpod는 비동기 코드로 작업하는 것을 쉬운 일로 만듭니다. 공식페이지에 접속하면 위 두 2문장으로 Riverpod을 소개하고있습니다. 하지만 Riverpod이전에 Provider가 존재합니다. 사용하기 쉽고 pub.dev에서 굉장히 사랑받고 있지만 이 Provider에도 근본적인 문제가 있습니다.그래서 개발팀은 아래의 문제점 들을 제시하였고, 이 문제들을 해결한 Riverpod이라는 새로운 프레임워크를 개발하였습니다.문제점• 공급자가 동일한 유형의 두 개 이상의 공급자를 유지할 수 없습니다.• 공급자는 한 번에 하나의 값만 배출.. 2024. 8. 1. 이전 1 2 3 4 5 6 다음