카우치베이스 모바일

Fluttercouch: Flutter와 Couchbase의 강력한 기능 결합

이 글은 루카 크리스티유가 작성한 게스트 게시물입니다. 루카는 독학 개발자로 다음과 같은 프로그램을 만든 사람입니다. Fluttercouch. 8살 때 처음으로 코드를 작성했으며, 그 이후로 개발에 대한 열정은 계속 커져만 갔습니다. 그는 Google 공인 안드로이드 개발자이며 풀스택 엔지니어로 풀타임으로 일하고 있습니다. 여가 시간의 대부분은 모바일 개발자로서 프리랜서로 일하고 있습니다.

루카는 다양한 솔루션으로 작업하고 평가해 본 경험이 있어 NoSQL 데이터베이스에 익숙합니다. 결국 그는 많은 모바일 앱의 주요 요구 사항이 '오프라인 우선' 기능이기 때문에 데이터 동기화 기능을 갖춘 Couchbase에 매료되었습니다.

초기에는 완전히 네이티브 앱을 만드는 데만 집중했습니다. 하지만 결국 크로스 플랫폼 솔루션이 필요한 고객을 만나게 되었고, 다양한 옵션을 조사한 끝에 다음을 사용하기로 결정했습니다. Flutter.

Flutter: 아름다운 앱 디자인

한 걸음 물러서서 생각해 보면 다음과 같은 의문이 들 수 있습니다. Flutter? 간단히 말해, Flutter는 오픈 소스 SDK입니다. 를 사용하여 iOS 및 Android용 고성능, 고충실도 모바일 앱을 제작할 수 있습니다. Flutter 프레임워크를 사용하면 앱에서 원활하게 반응하는 사용자 인터페이스를 쉽게 구축하는 동시에 앱의 보기를 동기화하고 업데이트하는 데 필요한 코드의 양을 줄일 수 있습니다.

다른 많은 개발 에코시스템과 마찬가지로 Flutter는 다음과 같은 컴포넌트화된 코드 프로젝트와 통합할 수 있는 기능을 제공합니다. Flutter 패키지. Flutter 패키지는 개발자가 복잡한 기능을 모바일 애플리케이션에 통합하는 데 도움이 됩니다. 패키지는 다음과 같이 무엇이든 될 수 있습니다. 다트-기반 라이브러리는 표준 Flutter 프레임워크 기능을 네이티브 레이어와 직접 상호 작용하는 솔루션으로 확장하고 Android 및 iOS의 SDK를 기반으로 새로운 기능을 구현합니다.

Fluttercouch 소개

Fluttercouch 를 원활하게 통합하는 패키지입니다. 카우치베이스 모바일 기능을 Flutter 앱에 추가하여 Android 및 iOS 네이티브 레이어를 관리할 수 있습니다. 이 패키지를 사용하면 데이터베이스 설정, 문서 사용 및 복제를 실행하기 위해 상용구 코드를 만들 필요가 없습니다. 궁극적으로 Fluttercouch를 사용하면 네이티브 Couchbase Mobile SDK로 플랫폼별 코드를 빌드하는 대신 Dart를 사용하여 애플리케이션 로직을 만드는 데 집중할 수 있습니다.

시작하기

사용 시작하기 Fluttercouch 에 의존성 지시어를 추가해야 합니다. pubspec.yaml 파일을 만듭니다.

의존성 지시어를 추가한 후 다음을 사용할 수 있습니다. Fluttercouch 를 추가하거나 새 모델 클래스로 시작할 수 있습니다. InheritedWidget, 범위 지정 모델 또는 블록의 모델 클래스를 확장할 수 있습니다. 일단 확장되면 Fluttercouch 초능력이 잠금 해제됩니다!

기본 작업

이 시점부터 이전에 생성한 데이터베이스의 인스턴스를 가져오거나 클래스에서 직접 새 데이터베이스를 인스턴스화할 수 있습니다. 데이터베이스가 초기화되면 기본 선택에 저장되며, 이후 메서드 호출은 이를 참조합니다. 데이터베이스 인스턴스를 생성한 후에는 Couchbase Lite 데이터베이스에서 기대할 수 있는 모든 CRUD 작업을 쉽게 수행할 수 있게 됩니다.

예를 들어 ID로 문서를 검색하고 속성에서 문자열을 가져올 수 있습니다. 내 프로퍼티. 그런 다음 문서를 변경 가능한 문서로 변환하고 수정한 다음 다시 저장합니다.

리플리케이터로 작업하기

데이터 복제는 Fluttercouch에서도 가능합니다. Dart를 사용하면 복제기를 쉽게 생성하고 구성할 수 있습니다.

listenReplicatorEvents 메서드에 함수를 전달하여 리플리케이션 이벤트를 수신할 수도 있습니다. listenReplicatorEvents는 이벤트 유형이 포함된 매개변수를 사용하여 함수를 호출합니다.

다음 단계

이제 다음 Flutter 애플리케이션에서 Couchbase의 잠재력을 발휘할 준비가 되었습니다! Fluttercouch를 다운로드하세요. 퍼브 리포지토리자세한 내용은 프로젝트 페이지에서 확인할 수 있습니다. GitHub 를 참조하여 데이터베이스와 상호 작용하는 방법에 대해 자세히 알아보세요.

Fluttercouch는 현재 제가 여가 시간에 유지 관리하고 추가하는 오픈 소스 프로젝트입니다. 가까운 시일 내에 Dart용 N1QL 쿼리 추상화 계층을 완성하고, Blob 및 하위 문서 작업 및 CouchbaseMobile SDK 내에 존재하는 다른 많은 기능들을 지원합니다. 이 프로젝트는 커뮤니티의 기여를 통해 큰 도움이 될 것이며, 의견, 문제 및/또는 풀 리퀘스트를 보내주시면 감사하겠습니다!

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Rob Hedgpeth, 수석 개발자 옹호자, Couchbase

Rob Hedgpeth는 모바일 및 IoT 기술을 전문으로 하는 Couchbase의 수석 개발자 옹호자입니다. Rob은 10년 넘게 모든 종류의 애플리케이션을 개발해 왔지만 2010년부터는 주로 모바일 분야에 집중해 왔습니다. 카우치베이스에서 일하기 전에는 Xamarin과 Microsoft에서 모바일 아키텍트로 근무했습니다.

댓글 하나

  1. 안녕하세요, 클라이언트 측 데이터베이스인가요 아니면 서버 측 데이터베이스인가요?

  2. 이것은 Couchbase Lite 임베디드 데이터베이스용입니다(Couchbase Server가 아님).

  3. 이것이 끊임없이 변화하는 라이브(CRUD) Couchbase Server DB와 어떻게 동기화될까요?

    예를 들어, CB 서버에 1백만 개의 문서가 있고, 일부는 삭제되고, 일부는 업데이트되고, 새로운 문서가 생성되는 등 매분 또는 매초마다 수시로 변경되지만, 전체 서버 DB를 항상 클라이언트와 동기화하지 않고 관련 문서만(예를 들어, 한 번에 10개씩) 동기화하고 싶다고 가정해 보겠습니다... 이것이 가능할까요? 아니면 클라이언트에서 서버 DB에 직접 연결해야 할까요, 아니면 Dart를 통해 어떻게 작동할까요?

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.