provider를 사용하다가 문득, with를 사용하는 분도 계시고, getx를 사용할 적에도, extends를 하시는 분이 있는 반면, implements를 사용하시는 분도 계셔서 어떤 차이인지 궁금해져서 알아보니 아래의 요약으로 알 수 있었다.extends는 속성이
하단만 테두리를 주고싶다면 bottom속성에 색을 같이 지정해준다.border: Border(bottom: BorderSide(colors.pink))테두리 전체에 색을 주고 싶다면border: Border.all(color: Colors.pink)하단만 테두리 주었을
IOS홈 버튼을 통해 슬라이드로 앱을 종료하는 방식이어서, 보통, 앱 종료 확인을 필요로 하지 않는다.Android참고 문서: https://velog.io/@gkssk925/Flutter-%EC%95%B1%EC%A2%85%EB%A3%8C-Programmati
main의 코드가 길어지다 보면 가독성이 저하되기 때문에, 별도로 route만 관리하는 파일을 만드는 것이 좋다.main.dart에서 route를 일일이 작성했다.lib/main.dart참고 문서: https://flutter-ko.dev/docs/cookbo
개발을 하다 보면 사용자에게 미표기 된 것에 대해 "내용을 입력해 주세요." 알림또는 "유효하지 않은 이메일입니다."라는 등의 알려줄 필요가 있다.그럴 땐, 일반적으로 showDialog()를 사용해 팝업을 띄워주거나, SnackBar로 알려준다.SnackBar를 사용
구글에서는 UI와 데이터 처리 로직을 분리하기 위해 BLoC 패턴을 권장하였는데, 사용하기 어렵다는 단점이 있었고, 단순한 로직을 구성하려 해도 최소 4개의 클래스를 만들어야 됐다. 그래서 추가적인 상태관리를 지원하게 되었다.참고 문서 : https://pu
UI에서 실시간으로 변하는 여러 데이터들의 상태를 효율적으로 관리하기 위한 개념이다. 장점 생산성 직관적인 코드로 간단하게 구현 가능. 성능과 최소한의 리소스 소비에 중점을 두기 때문에, Streams나 ChangeNotifier를 사용하지 않음. View, 프레젠테
MVC패턴이나 MVVM 패턴은 인터페이스, 데이터, 데이터 제어에 사용되는 소프트웨어 디자인 패턴이다. Model, View Model, View는 각자의 역할을 하며, 팀 단위 프로젝트에 큰 도움이 된다.만일, 한 페이지 안에 변수, 함수, 위젯을 한번에 선언하게 되
MVC패턴에서 한 번 더 파생되어 의존성 부분을 최소화시켜 나오게 되었다.MVVM패턴이란, Model, View, ViewModel의 줄임말로 하나의 소프트웨어를 최대한 작은 단위로 나누어 마치 Modul화를 형성하듯 테스트가 쉽고 관리하기도 쉬운 구조를 목표로 한 디
Flutter에서 viewModel 사용 시, 화면전환을 빠르게 한다면, 화면을 다 그리지 않은 상태에서 다시 그릴 때, dipose오류가 발생한다. 그렇기 때문에 dipose() 메서드를 재정의 하여 화면을 다 그렸다는 것을 알려줘야 된다.Exception has o
한 화면에 타이틀과 그에 해당하는 리스트들이 있는 경우, 각각에 ListView.builder를 하게 되면, 전체 스크롤(SingleChildScrollView)과 부분 스크롤(ListView.builder)을 하는데 있어서, 부분 스크롤 때문에 전체 스크롤 영역이 애
Column안에 여러 개의 ListView.builder를 사용해보려 하였더니, 아래와 같은 오류가 발생했다. > FlutterError (Vertical viewport was given unbounded height. Viewports expand in the sc
Flutter에 MVVM패턴을 적용하다보면 page, view, view model로 dart파일을 나눠서 코드를 작성할 것이다. 그리고 main에 route를 관리하다 보면 코드의 라인이 길어지기 때문에 별도의 파일로 분리하여 관리할 텐데,이전 페이지 view에서 a
freezed 모델을 작성하고 build_runner 패키지의 명령어를 통해 flutter pub run build_runner build --delete-conflicting-outputs 혹은 dart run build_runner build --delete-con
현재 flutter 개발 환경으로 vscode를 사용하고 있습니다.각, 개발 버전을 정해두고 코드를 작성할텐데요.이 글에서, flutter sdk를 특정 버전으로 변경하는 방법에 대해서 알아보겠습니다.현재 버전 체크하기cmd창에서 flutter 폴더로 이동원하는 버전으
Lint란, 소스 코드에서 잠재적인 문제나 버그를 감지하고 개선하는 데 도움을 주는 정적 분석 도구입니다.즉, Lint 설정을 통해 규칙적인 코딩 스타일을 만들 뿐 아니라, 런타임 에러를 줄일 수 있습니다.팀 단위로 프로젝트를 진행하게 될 경우, 개개인의 코드 스타일이
애뮬레이터에서 인앱결제가 포함된 프로젝트를 실행하려고하면 런타임에러가 발생한다. 에러가 발생하는 이유 테스트용 결제 환경 playstore등의 설치 환경이 애뮬레이터에서 제공되어 있지 않습니다. 결제 서비스 제한 일부 인앱 결제 서비스 제공업체는 애뮬레이터에서의