O Couchbase Lite é um banco de dados NoSQL projetado para dispositivos móveis e incorporados, permitindo o gerenciamento contínuo de dados, mesmo em ambientes off-line. Hoje, tenho o prazer de apresentar o novo React Native - Módulo nativo para Couchbase Liteagora disponível em versão beta pública no NPM.
Por que usar o React Native com a Expo?
Criar aplicativos móveis com o React Native básico pode ser bastante desafiador devido às complexidades do gerenciamento de roteamento, módulos e infraestrutura de aplicativos. É aqui que frameworks como Expo para tornar o desenvolvimento mais acessível. A Expo se tornou a estrutura mais popular para aplicativos React Native, e a equipe do React Native agora recomenda usá-lo em novos projetos, especialmente por seu SDK avançado e pela facilidade de uso.
Nosso Native Module foi projetado para funcionar perfeitamente com aplicativos Expo e React Native. Para os usuários da Expo, a execução do aplicativo em modo dev-cliente dará acesso a módulos nativos, facilitando a integração com o Couchbase Lite. Aqui está um guia de instalação detalhado para começar.
Repositório e projeto de código aberto
Você pode acessar o React Native - Módulo nativo para o repositório Couchbase Lite. Por ser um projeto de código aberto, todos os quadros e problemas do projeto são monitorados pelo GitHub. Incentivamos os desenvolvedores a verificar o projeto, relatar problemas e contribuir.
Um exemplo importante é o expo-cbl-travel que apresenta os recursos do Couchbase Lite, como replicação, consulta SQL++ e FTS (Full-Text Search). Esse projeto foi desenvolvido para funcionar com Serviços de aplicativos do Couchbase Capella. Facilitamos para os desenvolvedores, fornecendo um guia passo a passo para configurar o Couchbase Capella's Nível livre para uso com o aplicativo móvel. Você pode encontrar o repositório expo-cbl-travel aqui. Você pode assistir ao vídeo passo a passo aqui:
Um exemplo simples com o Couchbase Lite
Aqui está um breve exemplo de como é fácil interagir com o Couchbase Lite usando o React Native Module. Isso demonstra a abertura de um banco de dados, a recuperação de um documento, sua modificação e o salvamento das alterações:
|
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 |
import { Database, DatabaseConfiguration, FileSystem, MutableDocument } from 'cbl-reactnative'; //get a file path that you can write the database file to for each platform const fileSystem = new FileSystem(); const directoryPath = await fileSystem.getDefaultPath(); const dc = new DatabaseConfiguration(); dc.setDirectory(directoryPath); // Open (or create) a database const database = new Database('myDatabase', dc); const collection = await database.createCollection(“myCollection”, “myScope”); //create document const documentId = 'doc-1'; const mutableDoc = new MutableDocument(documentId); mutableDoc.setString(‘firstName’, ‘Denis’); //save it to the database await collection.save(mutableDoc); // Get a document by ID let document = collection.document(documentId); let mutableDoc2 = MutableDocument.fromDocument(document); if (mutableDoc2) { // Modify the document mutableDocument2.setString(‘lastName’, 'Doe’); mutableDocument2.setInt('age', 30); // Save the document database.save(mutableDocument2); console.log('Document updated successfully!'); } else { console.log(`Document with ID ${documentId} not found.`); } // Close the database when done database.close(); |
Neste exemplo:
-
- Um novo banco de dados chamado my-database é criado (ou aberto, se já existir)
- Criamos um documento mutável com o ID doc-1
- Modificamos o documento adicionando um campo firstName e definindo o valor
- Em seguida, salvamos o documento
- Em seguida, obtemos o documento de volta do banco de dados
- Se o documento existir, modificaremos suas propriedades de nome e idade
- O documento modificado é então salvo de volta no banco de dados
Esse trecho de código simples demonstra o poder do Couchbase Lite para lidar com dados locais de forma eficiente. Cenários mais complexos, como consulta de dados, manipulação de replicação ou uso de pesquisa de texto completo (FTS), podem ser explorados por meio de nosso documentação.
Problemas atuais e aprimoramentos futuros
Estamos trabalhando ativamente para resolver os problemas conhecidos:
-
- Alterar ouvintes: No momento, estamos corrigindo problemas que tornarão os ouvintes de alterações funcionais na próxima atualização.
- Parâmetros de consulta de data no Android: Há pequenos problemas com a análise de datas no Android, que planejamos resolver em breve.
A versão beta pública (0.2.0) é atualmente baseada no Couchbase Lite 3.1.x, e faremos a atualização para o Couchbase Lite 3.2 em um futuro próximo.
Como você pode ajudar
Convidamos os desenvolvedores a experimentar a versão beta, criar aplicativos de amostra e fornecer feedback. Sua contribuição é inestimável para nos ajudar a identificar e corrigir problemas rapidamente. Você pode enviar problemas ou sugestões em nosso Página de problemas do GitHub.