Couchbase Lite는 모바일 및 임베디드 디바이스용으로 설계된 NoSQL 데이터베이스로, 오프라인 환경에서도 원활한 데이터 관리가 가능합니다. 오늘은 새로운 기능을 소개하게 되어 기쁩니다. React Native - 카우치베이스 라이트용 네이티브 모듈이제 NPM에서 공개 베타 버전으로 제공됩니다.
왜 엑스포에서 리액트 네이티브를 사용해야 할까요?
라우팅, 모듈 및 앱 인프라 관리와 관련된 복잡성으로 인해 바닐라 React Native로 모바일 앱을 구축하는 것은 상당히 어려울 수 있습니다. 이 때 다음과 같은 프레임워크가 유용합니다. 엑스포 가 개발에 더 쉽게 접근할 수 있도록 도와줍니다. 엑스포는 리액트 네이티브 앱에서 가장 인기 있는 프레임워크가 되었으며, 리액트 네이티브 팀은 이제 다음을 권장합니다. 특히 풍부한 SDK와 사용 편의성 때문에 새로운 프로젝트에 사용하고 있습니다.
네이티브 모듈은 엑스포와 리액트 네이티브 앱 모두에서 원활하게 작동하도록 설계되었습니다. 엑스포 사용자의 경우, 앱을 다음에서 실행하면 개발자-클라이언트 모드 를 사용하면 기본 모듈에 액세스할 수 있으므로 Couchbase Lite와 더 쉽게 통합할 수 있습니다. 자세한 설치 가이드는 다음과 같습니다. 를 클릭해 시작하세요.
리포지토리 및 오픈 소스 프로젝트
액세스 할 수 있습니다. React Native - 카우치베이스 라이트용 네이티브 모듈 리포지토리. 오픈소스 프로젝트이기 때문에 모든 프로젝트 보드와 이슈는 GitHub를 통해 추적됩니다. 개발자들이 프로젝트를 확인하고, 이슈를 보고하고, 기여해 주시기 바랍니다.
주요 예는 엑스포-CBL-여행 프로젝트는 복제, SQL++ 쿼리 및 전체 텍스트 검색(FTS)과 같은 Couchbase Lite의 기능을 보여줍니다. 이 프로젝트는 다음과 함께 작동하도록 설계되었습니다. 카우치베이스 카펠라 앱 서비스. 개발자가 쉽게 설정할 수 있도록 단계별 가이드를 제공하여 카우치베이스 카펠라를 쉽게 설정할 수 있도록 했습니다. 무료 티어 모바일 앱과 함께 사용할 수 있습니다. 모바일 앱에서 사용할 수 있는 엑스포-CBL-여행 리포지토리 여기. 를 시청할 수 있습니다. 연습 동영상 보기:
카우치베이스 라이트를 사용한 간단한 예제
다음은 React Native 모듈을 사용하여 Couchbase Lite와 상호 작용하는 것이 얼마나 쉬운지 보여주는 간단한 예시입니다. 여기에서는 데이터베이스를 열고, 문서를 검색하고, 수정하고, 변경 사항을 저장하는 과정을 보여줍니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
가져오기 { 데이터베이스, 데이터베이스 구성, 파일 시스템, 뮤터블 도큐먼트 } 에서 'cbl-reactnative'; //각 플랫폼에 대해 데이터베이스 파일을 쓸 수 있는 파일 경로를 가져옵니다. const 파일 시스템 = new 파일 시스템(); const 디렉토리 경로 = 기다림 파일 시스템.getDefaultPath(); const dc = new 데이터베이스 구성(); dc.설정 디렉터리(디렉토리 경로); // 데이터베이스 열기(또는 만들기) const 데이터베이스 = new 데이터베이스('myDatabase', dc); const 컬렉션 = 기다림 데이터베이스.createCollection("내 컬렉션", "myScope"); //문서 만들기 const documentId = 'doc-1'; const mutableDoc = new 뮤터블 도큐먼트(documentId); mutableDoc.setString('이름', 'Denis'); //데이터베이스에 저장 기다림 컬렉션.저장(mutableDoc); // ID로 문서 가져오기 let 문서 = 컬렉션.문서(documentId); let mutableDoc2 = 뮤터블 도큐먼트.fromDocument(문서); 만약 (mutableDoc2) { // 문서 수정 mutableDocument2.setString('성', 'Doe'); mutableDocument2.setInt('나이', 30); // 문서 저장 database.save(mutableDocument2); console.log('문서 업데이트 성공!'); } else { 콘솔.로그(`문서 와 함께 ID ${documentId} not 발견.`); } // 완료되면 데이터베이스 닫기 데이터베이스.닫기(); |
이 예제에서는
-
- 내 데이터베이스라는 새 데이터베이스가 만들어집니다(또는 이미 있는 경우 열립니다).
- ID가 doc-1인 변경 가능한 문서를 만듭니다.
- 이름 필드를 추가하고 값을 설정하여 문서를 수정합니다.
- 그런 다음 문서를 저장합니다.
- 다음으로 데이터베이스에서 문서를 다시 가져옵니다.
- 문서가 존재하는 경우 이름과 연령 속성을 수정합니다.
- 그런 다음 수정된 문서가 데이터베이스에 다시 저장됩니다.
이 간단한 코드 스니펫은 로컬 데이터를 효율적으로 처리하는 Couchbase Lite의 강력한 기능을 보여줍니다. 데이터 쿼리, 복제 처리 또는 전체 텍스트 검색(FTS) 사용과 같은 보다 복잡한 시나리오는 다음을 통해 살펴볼 수 있습니다. 문서.
현재 이슈 및 향후 개선 사항
알려진 문제를 해결하기 위해 적극적으로 노력하고 있습니다:
-
- 리스너 변경: 현재 다음 업데이트에서 변경 리스너가 작동하도록 문제를 수정하고 있습니다.
- Android의 날짜 쿼리 매개변수: Android에서 날짜 구문 분석과 관련된 사소한 문제가 있으며 곧 해결될 예정입니다.
공개 베타 버전(0.2.0)은 현재 Couchbase Lite 3.1.x를 기반으로 하며, 조만간 Couchbase Lite 3.2로 업그레이드될 예정입니다.
도움을 줄 수 있는 방법
개발자를 초대하여 베타 버전을 사용해보고, 샘플 앱을 만들고, 피드백을 제공해 주세요. 여러분의 의견은 문제를 신속하게 파악하고 해결하는 데 매우 중요합니다. 문제나 제안을 제출하려면 GitHub 이슈 페이지.