본문으로 바로가기

최신 글

thumbnail
Package

Flutter Riverpod Concepts(6-2) - Reading a Provider

이 가이드를 읽기 전에 먼저 Provider에 대해 읽어보시기 바랍니다. 2023.07.18 - [Flutter/Package] - Flutter Riverpod Concepts(6-1) - Providers 이 가이드에서는 Provider를 사용하는 방법을 살펴봅니다. "ref" 객체 가져오기 무엇보다도 provider를 읽기 전에 "ref" 객체를 가져와야 합니다. 이 객체를 통해 위젯이나 다른 provider와 같은 provider와 상호 작용할 수 있습니다. provider로부터 ‘ref' 받기 모든 provider는 매개변수로 "ref"를 받습니다: final valueProvider = Provider((ref) { // 다른 provider를 얻으려면 ref를 사용하세요. final repo..
thumbnail
Package

Flutter Riverpod Concepts(6-1) - Providers

Providers 이제 Riverpod를 설치했으니 " provider"에 대해 이야기해 보겠습니다. Provider는 Riverpod 애플리케이션에서 가장 중요한 부분입니다. provider는 상태의 일부를 캡슐화하고 해당 상태를 수신할 수 있도록 하는 객체입니다. 왜 Provider를 사용해야 하나요? provider안에 상태 부분을 넣습니다: 여러 위치에서 해당 상태에 쉽게 액세스할 수 있습니다. Provider는 Singleton, Service Locator, Dependency Injection 또는 InheritedWidgets와 같은 패턴을 완전히 대체합니다. 이 상태를 다른 상태와 결합하는 작업을 단순화합니다. 여러 개체를 하나로 병합하는 데 어려움을 겪은 적이 있으신가요? 이 시나리오는..

인기 글

thumbnail
Document

Flutter Web App 개발 하면서 느낀 문제점

Web App 개발하면서 느낀 점 과 실수했던 점을 기록해보려고 합니다. 해당 경험은 로박스 Web App 개발하면서 느낀 점을 토대로 작성되었습니다. Flutter Web App 문제점 1. SEO 불가 SEO(검색 엔진 최적화)는 웹사이트가 검색 결과에 더 잘 보이도록 최적화하는 과정입니다. Flutter Web App은 검색 엔진(구글, 네이버)에 노출이 되지 않습니다. Flutter 로 개발되지 않는 웹의 경우 개발자 도구를 켜서 Element Inspect 텍스트를 눌러보면 해당 텍스트가 Select 됩니다. 하지만 Flutter Web App의 경우는 Web App 전체가 Selecte 됩니다. 이는 검색 엔진이 Flutter Web App을 읽을 수가 없다는 것입니다. 공식적으로 SEO를 지..
thumbnail
Package

Flutter native splash screen 라이브러리

이번 글은 Splash Image이 어떤 것이고 flutter native splash 라이브러리를 사용하여 iOS, Android 두 개를 어떻게 구현하는지 에 대한 글입니다. Splash Screen? "Flutter 공식 홈페이지에서는 앱이 로딩되는 동안에 심플한 초기 경험을 제공합니다"라고 적혀있습니다. 여기에서 말하는 심플한 초기 경험(Simple initial experience)은 여러 내용을 담고 있습니다. 예를 들어, 사용자 입장에서 실행하고 싶은 앱이 맞는지 확인할 수 있는 시간이 될 수 있습니다. 그리고 앱을 제공하는 회사 입장에서는 자신의 회사의 정체성과 사용자에게 첫인상을 보여줄 수 있는 수단이기도 합니다. 이밖에도 개발자 입장에서는 앱이 로딩되는 시간 동안 백엔드 단에서 사용자의..
thumbnail
Widget

Flutter ExpansionPanel 문서

ExpansionPanel, ExpansionPanelList ExpansionPanel은 주로 자세한 정보를 전달할 때 사용하거나 오른쪽 사진처럼 분류할 때도 사용하기 좋습니다. 다만, ExpansionPanel은 단독으로 사용이 불가능하며 ExpansionPanelList의 자식으로만 사용이 가능합니다. 프로퍼티 종류 headerBuilder - 헤더를 생성하는 builder body - 펼쳤을 때 보이는 공간 isExpanded - 확장 여부 canTapOnHeader - default Tap 영역은 화살표 아랫방향을 눌러야 펼쳐지지만 이 프로퍼티를 true 하게 되면 터치영역이 header까지 늘어나게 됨 backgroundColor SingleChildScrollView( child: Cont..
thumbnail
Widget

Flutter Drawer Widget 문서(DrawerHeader, width 조절, SafeArea)

Drawer 흔히 앱 왼쪽 상단의 메뉴 아이콘을 터치하면 오른쪽 사진과 같이 나온다. 이것이 Drawer 위젯이다. overflow를 생각해서 ListView, SingleChildScrollView를 사용한다. physics: const NeverScrollableScrollPhysics() 을 추가해서 over scroll glow effect를 제거할 수 있다. SafeArea를 사용해 Drawer 위젯이 스마트폰 상단바랑 겹치는 것을 방지할 수 있다. Drawer 위젯을 Container로 Wrap한 후 width 속성을 추가하여 크기 조절이 가능하다. + 배달의 민족 앱 같은 경우 화면을 온전히 덮었다. Drawer package 이 밖에도 pub.dev에 검색하면 여러 스타일의 drawer p..
thumbnail
Widget

Flutter Navigator(push, pop, replace) 문서

Navigator는 화면을 이동하거나 닫거나 또는 화면을 대체할 때 사용하는 위젯입니다. 이 글에서는 Navigator의 메서드 종류와 각 메서드가 어떤 역할을 하는지 설명하는 글입니다. Navigator 메서드 종류 push, pop, replace 세 종류가 있습니다. push - 기존 화면 위에 불러올 화면을 불러옵니다. pop - 현재 화면을 닫습니다. replace - 현재 화면을 대체할 때 사용합니다. Named가 붙어있는 메서드 사용하기 위한 사전 작업 MaterialApp 또는 CupertinoApp에서 routes에 원하는 화면을 사전에 지정해둬야 Named가 붙어있는 메서드를 사용할 수 있습니다. Flutter에서 route는 무슨 의미일까요? Flutter에서는 페이지나 화면을 Rou..
thumbnail
Widget

Flutter TextFormField 문서

TextFormField 텍스트를 입력하고 입력한 텍스트를 저장 및 유효성 검사를 하기 위한 위젯이다. 올바른 이메일, 아이디 중복 확인, 기타 등등... TextFormField + Form 세트로 사용한다. 1. GlobalKey, TextEditingController 선언 GlobalKey _key = GlobalKey(); TextEditingController _textEditingController = TextEditingController(); 2. Form - TextFormField로 구성한다. Form( key: _key, child: TextFormField(...), ), 3. TextFormField Property 정리 initialValue - 초깃값 controller가 n..
인기글
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.