Flutter에서 기본적으로 상태를 관리하는 방법은 Stateful Widget 내에서 관리하는 것이다. 하지만 화면이 복잡하고 프로젝트의 규모가 커질 수록 부모 위젯에서 자식 위젯간으로 상태를 전달하는 방법 만으로는 제한적일 때가 자주 일어나고 Stateful Widget은 상태가 바뀔 때마다 화면을 재렌더링 하면서 불필요한 Widget까지 렌더링 하며 성능을 떨어뜨릴 수 있다. 때문에 보통은 상태를 관리해주는 라이브러리를 이용하게 되는데 (Flutter가 아닌 다른 언어에서조차) 이 중에서 GetX를 사용하게 되었다. 처음 Flutter를 접할 때에는 라이브러리 없이 상태관리를 했었으나 추후에는 React Native에서 사용하던 context api와 유사하다고 판단한 provider를 이용했었으며..
2023년 7월 12일 기준임을 꼭 참고 바란다. ⛔ 문제사항 멀쩡하게 잘 첨부 되던 사진이 어느날부터 되지 않았다. 해당 이슈는 Android에서만 발생하여 iOS 시뮬레이터나 실물기기에서는 문제 없이 작동하였다. PlatformException(read_external_storage_denied, User did not allow reading external storage, null, null) 이런 에러가 발생했는데, 말 그대로 권한이 거부된 상태였다. 내가 선언했던 것은 이렇게 3가지로 아래 두 개의 STORAGE 관련 권한이 사진 및 미디어에 접근할 수 있는 권한이다. 그러나 설정에서 본 앱의 권한에는 사진 및 미디어가 포함되어있지 않는 현상이 발생하여 해결하는 데에 꽤나 애를 먹었다. ✅ 해..
간단하게 macOS(애플실리콘)에서 세팅하는 방법을 알아보자. 플러터는 비교적 세팅 방법이 쉬워서 간단하게 할 수 있다. 0️⃣ 플러터 SDK 설치 https://docs.flutter.dev/get-started/install/macos macOS install How to install on macOS. docs.flutter.dev 상단의 링크로 접속한 뒤, 운영체재에 맞는 파일을 다운로드 받아 압축해제 한다. 1️⃣ 환경변수 등록하기 export PATH="$PATH:경로/bin" 이후 터미널 창에서 하단 경로를 입력해서 flutter 커맨드가 작동할 수 있도록 한다. 경로는 압축을 해제한 flutter 폴더가 있는 경로를 입력하면 된다. (폴더 자체를 터미널창으로 드래그) 이 작업을 하지 않으면..
기존에 React Native(이하 RN)을 사용하던 나는 Flutter로 작업을 시작한지 어연 1년이 되어간다. Flutter를 선택하게 된 계기는 이직을 하게 되면서 운이 좋게도 회사 측에서 RN과 Flutter 중에 선택할 수 있는 기회를 주었고, 당시 Flutter는 새롭게 뜨는 언어로 주목받고 있었으며 RN을 이용해서 작업하며 많은 한계점을 느꼈기 때문이다. 이제부터 RN과 Flutter를 둘 다 사용해보며 느꼈던 장단점을 각각 서술해보겠다. 1. React Native RN은 React를 이용해서 모바일 개발을 할 수 있는 프레임워크로 Facebook에서 개발했다. 크로스플랫폼인만큼 iOS와 Android을 모두 개발 할 수 있는 언어로 플러터와 함께 떠오르는 선두주자 중 하나이다. ⭕ 장점 ..