썸네일 Flutter 상태 관리 ( State Management ) 상태 관리를 위해서 많은 사람들이 라이브러리를 사용합니다. 개인적으로는 Provider를 사용하고 있는데, GetX는 아직도 좀 꺼려집니다. 관련해서는 다른 포스팅으로 이야기 하겠습니다. 오늘 소개할 내용인 각 패키지의 순위 입니다. GetX (aka Get) Provider Flutter BloC Riverpod Get It Mobx Recap 1. GetX (aka Get) GitHub stars: 5.7k+ Likes (on pub.dev): 7.6k+ Written in: Dart, C++, CMake License: MIT Links: GitHub repo | Pub get | Flutter Package Open screens/snackbars/dialogs without context, ma..
썸네일 Flutter MVVM 안드로이드, iOS 에서 넘어오신 분들은 Flutter는 어떤 디자인 패턴을 사용하는지 찾아보는 것이 전혀 이상하지 않습니다. 기본적으로 Flutter는 특정 디자인 패턴을 사용하지 않습니다. 필요에 맞게 패턴을 선택하고 구현한 것이지, 뭐가 좋다 뭐가 낫다라는 것이 없습니다. MVVM은 Model-View-ViewModel의 약자입니다. 기본 아이디어는 뷰에 데이터를 제공하는 뷰 모델을 만드는 것입니다. 뷰는 뷰 모델에서 제공한 데이터를 사용하여 자체를 채울 수 있습니다. 뷰 모델을 잘 모듈화하면 여러 뷰에서 사용할 수 있는 모듈형 코드를 작성할 수 있습니다. Flutter에서 MVVM을 사용하고 싶다면? Provider를 사용하세요! 상태 관리 방법으로 Provider(ChangeNotifier) 사..
썸네일 Native? Reactive? Cross? Flutter? 질문 ) Flutter 는 정말 크로스 플랫폼인가요? 아닌가요? 대답 ) 양쪽 모두 가능 더 정확한 해답을 얻어보겠습니다. 위 질문은 너무 러프하니 좀 더 세분화가 필요합니다. 질문 ) 하나의 코드로 안드로이드와 iOS에 모두 사용할 수 있나요? 네, 사실 그 이상입니다. 이미 Mac, Linux,Window 용으로 개발이 가능하며, 더하여 다가오는 Fuchsia OS에서도 동작할 수 있도록 설계되었다. 따라서 하나의 코드로 안드로이드와 iOS를 포함한 6개 이상의 다른 플랫폼에 포할 수 있다. 그럼 크로스 플랫폼인데? 하지만 아닌 이유도 있습니다. 이유는 안드로이드나 iOS 플랫폼을 많이 사용하지 않기 때문입니다. 카메라, 블루투스, 기타 하드웨어 등을 직접 다룰 수 있는 코드가 빠져 있고 이런 것들은..
썸네일 Flutter Architecture (아키텍처) Flutter는 크로스 플랫폼 UI 툴킷으로, iOS, Android와 같은 다양한 운영체제 전반에서 코드를 재사용할 수 있도록 설계되었습니다. 어플리케이션은 플랫폼 서비스와 직접적으로 인터페이스합니다. 따라서 서로 다른 플랫폼이지만 자연스럽게 고성능 앱을 제공할 수 있습니다. Flutter 앱은 VM(가상머신)에서 실행됩니다. 따라서 전체적인 재컴파일 없이 바로 상태를 로드할 수 있습니다. 이는 x64나 ARM과 같은 머신 코드(기계어) 또는 웹의 경우 JavaScript로 바로 컴파일이 되면서 가능합니다. 위 그림과 같이 확장 가능도록 설계된 시스템입니다. 각각의 레이어는 독립된 라이브러리로 존재합니다. 채널을 통하여 플랫폼별 동작이 가능합니다. 모바일 및 데스크톱 앱의 경우 Flutter를 사용하면..
썸네일 Flutter Log 제가 사용하고 있는 Log 라이브러리 추천해드립니다. 사실 가장 많이 사용되고 있는 것 같아 보이기도 합니다. ^^ 깔끔하고 보기 좋아서 시작부터 설치하고 사용하세요~ 사용법도 간단합니다. logger.v("Verbose log"); logger.d("Debug log"); logger.i("Info log"); logger.w("Warning log"); logger.e("Error log"); logger.wtf("What a terrible failure log"); 로그 튜닝도 가능하고, 로그별로 색상도 다르고... 아주 좋습니다. var logger = Logger( printer: PrettyPrinter( methodCount: 2, // number of method calls to be ..
썸네일 Flutter 자동 정렬 ( Auto-Indent Lines ) * Android Studio , IntelliJ 기준입니다. Flutter(Dart)를 개발하시다보면 IDE에서 제공하는 Auto-Indent Lines 가 잘 안먹습니다. 정확하게는 정상적으로 동작되지 않습니다. Dart를 위해서 IDE에서 제공해주는 단축키와 방식이 따로 있습니다. 1) 정렬할 코드 블럭 후 단축키 Command + option + L 2) 정렬할 코드 블럭 후 오른쪽 마우스를 누르면 "Reformat Code with 'dart format'" 이렇게 하면 깔끔하게 정리 됩니다.