목록React Native (45)
끄적이는 개발노트

SQLite를 다룬 포스트에서 본인의 React Native 어플에서 SQLite를 통해 데이터를 저장하는 것을 말한 적이 있다. 그리고 예시 코드에서 심플하게 SQL문을 통해 데이터를 CRUD 해봤었는데 실제 어플에서는 데이터를 가져오는데 있어 react-query를 함께 사용했다. 사용 이유와 기본 useQuery 및 useMutation과 같은 사용법은 이전 Next.js에 React-Query를 적용하면서 정리했던 포스트들을 살펴보면 좋다.https://hbc3869.tistory.com/65 react-query (1) - 설치 및 설정이번 포스트에서는 데이터를 가져오고 캐싱할 수 있는 react-query라는 개념에 대해 알아본다. 1. 사용 이유 본인의 경우, 플랫폼 초기 개발 과정에서는 s..

이번 글에서는 Firebase에서 이미지, 동영상같은 컨텐츠를 저장하는 저장소인 Storage에 대해 정리한다. 1. Storage 설정storage를 사용하기 위해서는 요금제를 Spark 에서 Blaze 로 업그레이드 해야 한다.이 때, 구글 Cloud Billing 계정을 생성하고 연결지어야 한다. 이는 설정에서 안내하는대로 따라서 신청하고 심사를 거치면 된다. 이전과 마찬가지로 rule은 테스트용으로는 true, 이후에는 본인의 요구사항에 따라 설정하면 된다. 2. 설치npm install @react-native-firebase/storage#oryarn add @react-native-firebase/storage 3. 코드기본 사용 코드는 아래와 같다.import {getStorage} f..

이전 글에서 SQLite의 선택과정을 가볍게 설명하면서 Firebase 데이터베이스를 언급했었다. 이는 분명 트래픽이 적고 데이터 타입이 복잡하지 않다면 굉장히 탁월한 선택이다. 본인 역시 사용을 했었고 여전히 어플에 Authentication 기능과 함께 데이터 저장이 필요하다면 1순위로 떠올리는 것이 Firebase이다. 그 중 Cloud Storage는 말 그대로 저장소 storage로 이미지, 동영상과 같은 컨텐츠를 저장하는데 활용된다. DB로 사용되는 것은 크게 Realtime Database 와 Firestore가 있는데 이 둘의 특징은 다음과 같다. 공통점NoSQL 데이터베이스쿼리 사용 (정렬 및 필터링)차이점Realtime Database데이터를 하나의 JSON 형태로 저장하나의 쿼리에 정..
어플을 출시하고 나면 유지보수를 통한 업데이트 및 버전 관리는 굉장히 중요하다. 이 때 RN에서는 react-native-version-check 라는 라이브러리를 통해 어플의 버전을 확인하고 관리할 수 있다. 버전을 관리할 때의 기본 플로우는 아래와 같다.현재 실행 어플의 버전 확인앱 스토어의 버전 확인둘 차이가 있을 경우, 앱 스토어 강제 연결 혹은 권장 메세지 노출https://www.npmjs.com/package/react-native-version-check react-native-version-checkA version checker for react-native applications. Latest version: 3.4.7, last published: 2 years ago. Start ..

다양한 어플을 실행해보면 의식하지 못할 뿐 로딩 화면이 존재하는 것을 확인할 수 있다. 이렇게 어플이 구동될 때 보여주는 시작화면을 splash screen 혹은 launch screen 이라고 부른다. 필요이유는 어플이 작동하기 위해서 필요 데이터를 로딩하거나 버전체크를 하거나 하는 사전작업이 필요한 경우 자연스럽게 딜레이가 걸리게 되는데 그동안에 사용자에게 매끄러운 사용경험을 제공하기 위함이다. 본인 역시 출시한 어플에서 데이터 로딩 및 버전체크 등과 같은 몇몇 사전작업이 필요하여 splash screen을 추가했고 이와 더불어 root screen을 splash screen과 비슷한 디자인으로 제작하여 상태 관리까지 병행하는 이중 구조의 splash screen을 구축했다. RN에서 가장 대표적인 ..

어플을 개발하면 필연적으로 따라오는 고민 중 하나로 DB가 있다.정말 간단한 데이터와 같은 경우 async-storage와 같이 간단한 storage를 활용해도 용량과 속도에 있어 문제될 부분은 없다. 하지만, 저장해야 될 데이터가 많아질 경우 Cloud platform이나 Local Storage 서비스를 이용해야만 한다. 이를 결정짓는 요소로는 본인이 제작하는 어플의 요소들을 고려해야 한다. 본인 역시 이 부분에서 매번 고민이 많았고 다양한 DB의 특징이나 사용법들을 조회하고 사용했었다. 그 중, 본인이 가장 많이 고민했었던 선택 사항을 정리해보자면 아래와 같다. 1. Firebase (cloud firestore, real-time database)소규모 어플을 이용할 때 용이함.(트래픽이 적을 때..