본문 바로가기

Flutter11

Flutter Bloc 패턴 기존에 프로바이더를 사용했던 플러터 구조에서 조금 더 AAC (안드로이드 아키텍처 컴포넌트 ) 와 비슷한 bloc 패턴으로 리펙토링을 하기로 결심하고 기존 프로젝트를 수정하게 되었다. Bloc 패턴 알아보기 우선 블록이라 함은 Business Logic of Components 의 줄임말으로 여러가지 상태관리 중 setState redux Provider Bloc InheritedWidget 하나로 개발자들간에 자주 쓰이는 패턴이다. 그전에 상태관리에 대해 상태가 무엇인지 왜 상태관리를 해야하는지 설명하도록 하겠습니다. 상태 (State) 쉽게 해석하자면 앱 내부의 데이터 라고 보면 될거같다. 유저가 어떤 행동을 취했을 때 내부에서 변하는 데이터가 상태(state)라고 합니다. 상태관리 (state ma.. 2020. 12. 20.
flutter instagram follow 코드 수정기 팔로우 수정을 할 땐 한번 해본적이 있어 그대로 하면 되는줄 알았다. 즉 Stream형태로 계속해서 listen을 해주면 알아서 stream 이 관찰을 해 변경점이 발견되면 follow -> UNFOLLOW, unfollow -> follow 이런 식으로 변경이 가능 할 줄 알았다. 그래서 코드도 이와 같이 구현 했었다. 코드에서 보이는것과 같이 document의 getUserUid의 데이터를 snapshot으로 전부 다 가지고 왔다. 그러다 보니 알 수 없는 에러가 많이 뜨고 updateData를 했었는데 다른 유저가 팔로우를 하게 되면 겹치는 현상이 일어나게 되는것이었다. 여러가지 코드를 참고하고 하다보니 provider를 참고해서 만들게 된 코드가 다음과 같이 되었다. 코드를 보게되면 파이어베이스 .. 2019. 11. 20.
Flutter 첫 밋업 후기 11월 14일 flutter 공부 이후 첫 밋업을 가게 되었다. 생각보다 많은 사람들이 왔었고, 많은 도움을 얻게 되었다. 밋업을 통해 얻은 지식은 다음과 같다. Fuchsia -> 용어 많이 듣게 됌됨. 기본적으로 안드로이드로 하는데 Fuchsia 플렛폼이 있는데 이걸로 인해 웹에서도 개발이 가능하게 함. 차세대에는 안드로이드 -> Fuchsia로로 변경 된다. # 플러터 UI 머티리얼 장점 -> 가이드라인 따라서 하기만 해도 이쁘게 나옴. 단점 -> 일관적임 iOS와 Android UI 가 같음 ThemeData에서 다크모드 설정 가능. primarySwatch -> 디자인을 다 지정하고 들어가야함 테마를 잡을 때 정확하게 잡고 들어가야함 폰트 사이즈개 색상 5~6개 스플레시(버튼클릭했을 때 색상) .. 2019. 11. 16.
Flutter StreamBuilder란?? Flutter에 파이어 베이스를 연동하다가 보니 처음 사용하는 Stream이라는 것을 알게 되었다. Stream과 Future차이가 무엇인가??? 처음에는 매우 혼동이 왔었다 도대체 둘 차이가 뭐지 싶기도 하고,,, 그렇게 혼자서 앓고 있던 중 한 유튜브에서 좋은 설명 영상을 발견할 수 있었다. 해당 영상 url을 밑에 남겨 두었다. https://www.youtube.com/watch?v=AKOUDHZsBP0&t=1013s 간략하게 Future와 Stream 차이를 설명하면 둘 다 코드를 맞이 했을 때 해당 코드가 끝나면 error 나 data를 받는다는 것은 동일하다 하지만 다른 점은 Future는 단 한번 데이터나 에러를 받는다는 것이고 Stream은 listener 즉 계속해서 관찰한다는 것이다... 2019. 10. 29.