Esta postagem é um guia passo a passo para usar um Xcode Playground para explorar a nova API de consulta no Couchbase Mobile 2.0. O Lançamento do Couchbase Lite 2.0 introduz uma API de consulta simplificada baseada em N1QLa linguagem de consulta declarativa do Couchbase que estende o SQL para JSON. Se você estiver familiarizado com o SQLite, se sentirá em casa com o novo Criador de consultas interface . A API de consulta foi projetada usando o Padrão de design de API fluentee usa o método em cascata para ler como uma linguagem específica de domínio (DSL). Isso torna a interface muito intuitiva e fácil de entender.

O Xcode Playground é um ambiente interativo que permite que você escreva e execute códigos rápidos imediatamente e oferece uma maneira conveniente de aprender e explorar APIs sem precisar criar um projeto de aplicativo Xcode completo. Esse é um caso de uso perfeito para explorar a API do Coucbase Lite 2.0. Não criaremos um playground aqui. Usaremos um que montamos especificamente para testes da API de consulta.

Embora o playground do Xcode demonstre as consultas em swift, dada a natureza unificada da API do QueryBuilder nas várias plataformas do Couchbase Lite, salvo expressões idiomáticas específicas do idioma, você deve ser capaz de traduzir facilmente as consultas para qualquer uma das outras linguagens de plataforma compatíveis com o Couchbase Lite. Portanto, mesmo que você esteja não Se você é um desenvolvedor Swift, deve ser capaz de aproveitar o playground do Xcode para explorar a API. Esta publicação não faz suposições sobre sua familiaridade com o Swift ou com o desenvolvimento para iOS, portanto, mesmo que você seja um completo novato no desenvolvimento para iOS, poderá acompanhá-la. É claro que você precisará de um Mac!

Você pode saber mais sobre a API do QueryBuilder em nosso Referências de API guia.

Leitura recomendada

Estas postagens do blog discutem os vários recursos de consulta em detalhes
Fundamentos da API de consulta
Consulta de coleções de matrizes
Recursos de pesquisa de texto completo.
Consulta JOIN básica

Histórico

Se você estava usando as versões 1.x do Couchbase Mobile, provavelmente está familiarizado com Visualizações de mapas para criar índices e consultas. Na versão 2.0, você não precisa mais criar visualizações e funções de mapa! Em vez disso, uma interface simples permite a criação de índices e você pode usar uma interface do Query Builder para construir suas consultas. A nova interface de consulta é mais simples de usar e muito mais poderosa em comparação.

TL;DR

Se preferir, aqui está uma gravação em vídeo de tudo o que foi discutido nesta postagem do blog

Pré-requisitos

  • Xcode 8.3.3+ , versão mais recente disponível para download em Mac App Store

O Playground é compatível com o Swift 3.1+

Instalação

  • Clonar o couchbase-lite-ios-api-playground do GitHub executando o seguinte comando no terminal

  • Usaremos Cartago para baixar e instalar o CouchbaseLite. O Carthage é um sistema de gerenciamento de dependências para aplicativos Cocoa. Observe que o Couchbase Lite para iOS é distribuído através do Cocoapods , Carthage ou você pode fazer o download diretamente de nosso Downloads página. Usaremos o Carthage aqui.
    Se você não tiver o Carthage, siga estas instruções instruções para instalar o Carthage em seu MacOS
  • Verifique a instalação do carthage digitando o seguinte comando na janela do terminal. A versão do carthage instalada será exibida

  • Mude para a pasta que contém o arquivo Arquivo de carrinho. Ele está localizado no Cartago folder. O Cartfile especifica as dependências do projeto, que, no nosso caso, é a estrutura do Couchbase Lite.

  • Faça o download do Couchbase Lite usando o Carthage. A versão do Couchbase Lite usada é especificada na seção Arquivo de carrinho. Usaremos o --no-build para especificar que o carthage não deve compilar o código-fonte, mas deve verificar apenas os arquivos do repositório do GitHub especificado. Isso economiza tempo.

  • Verifique se a estrutura do Couchbase Lite foi verificada com sucesso executando este comando em seu terminal

Configuração

Usaremos dois bancos de dados pré-construídos do Couchbase Lite para realizar nossas consultas. Para que o Xcode Playground possa acessar esses bancos de dados, eles devem estar localizados em uma pasta especial "Dados compartilhados do playground" dentro da pasta Documentos em seu Mac.
As etapas a seguir são necessárias na primeira vez em que você estiver configurando o Playground. Posteriormente, você terá de seguir estas etapas somente se você está alterando o banco de dados.

  • Crie uma pasta chamada "Shared Playground Data" (Dados compartilhados do playground) na pasta "Documents" (Documentos) do Mac (se não houver uma)

  • Copie a pasta "travel-sample.cblite2" que foi extraída do arquivo couchbase-lite-ios-api-playground no repositório "Shared Playground Data". Esse banco de dados pré-construído será usado para testar as consultas.

  • Copie a pasta "joindb.cblite2" que foi extraída do arquivo couchbase-lite-ios-api-playground no repositório "Shared Playground Data". Esse banco de dados pré-construído será usado para testar as consultas relacionadas a JOINs.

  • Verifique se os arquivos foram copiados com sucesso usando este comando

Explorando o projeto

No início deste post, mencionei que o Xcode Playground não exige um projeto de aplicativo completo. Isso ainda é verdade. No entanto, em nosso caso, precisamos ser capazes de criar e vincular o CouchbaseLite.framework com o Playground. Pode haver outras opções, mas a maneira como fiz isso foi criar um projeto fictício do Xcode chamado CBLTestBed.xcodeproj que inclui o Playground, bem como o CouchbaseLite.xcodeproj.

Portanto, quando eu construo o CBLTestBed ele criaria a estrutura do CouchbaseLiteSwift, que seria então importada pelo Playground. Vamos examinar isso mais detalhadamente.

  • Abra o CBLTestBed.xcodeproj usando o Xcode

  • Você deve ver CBLQueryPlayground.playground e CouchbaseLite.xcodeproj contido no CBLTestBed.xcodeproj
  • Vamos examinar o CBLQueryPlayground.playground. Você deverá ver várias páginas do playground no explorador de projetos. Você pode começar com qualquer página do Playground, mas provavelmente seria mais lógico começar com a página "ToC". Essa é a "Tabela de conteúdo" e fornece um ponto de entrada para outras páginas.
  • Marque a caixa de seleção "Render Documentation" (Renderizar documentação) na janela Utilities (Utilitários) para ativar a renderização das páginas do playground
  • Na página "ToC", você pode navegar para qualquer uma das outras páginas de playground. Cada página de playground inclui um conjunto de exemplos de consulta que exercita a API de consulta no banco de dados "travel-sample.cblite" ou no banco de dados "joindb.cblite", conforme apropriado. Conforme discutido na seção "Configuração", esses bancos de dados estão localizados na pasta "~/Documents/Shared\ Playground\ Data/".
  • Todas as páginas do Playground seguem o mesmo padrão. Abrimos o banco de dados local e, em seguida, invocamos funções que fazem a consulta usando a API QueryBuilder.
    Portanto, esta é a estrutura básica ....

 

Criar e executar

Para poder executar o Playground, você precisaria primeiro criar o arquivo CouchbaseLiteSwift estrutura. Você pode fazer isso criando a estrutura contendo CBLTestBed.xcodeproj.

  • Selecione o esquema "CBLTestBed" e selecione um simulador como alvo. Crie o projeto usando Cmd-B.
  • Depois que o projeto for criado com êxito, você poderá executar um playground clicando no botão "Run" (Executar)
  • Os resultados devem ser exibidos no console de saída
  • Obviamente, como este é um playground, você também pode examinar os resultados inline

Explorando outras opções de consulta

As consultas fornecidas com o playground de amostra devem ser usadas como referência. Deve ser fácil perceber que você pode atualizar as consultas para explorar outras opções de consulta.

Assim, por exemplo, no exemplo abaixo, altere a propriedade "type" e o valor "limit" para outra coisa e veja o que acontece com os resultados. Você também pode adicionar suas próprias consultas.

 

O que vem a seguir

Esta postagem do blog demonstrou o uso do Xcode Playgrounds como uma maneira conveniente de explorar e testar a nova API de consulta no Couchbase Mobile 2.0. Se você quiser adicionar novas consultas, envie um e-mail para o Github RP.

Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter @rajagp ou envie-me um e-mail priya.rajagopal@couchbase.com. O Fóruns do Couchbase são outro bom lugar para entrar em contato com perguntas.

 

Autor

Postado por Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos

Priya Rajagopal é diretora sênior de gerenciamento de produtos da Couchbase, responsável pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente há mais de 20 anos em vários cargos técnicos e de liderança de produtos, com mais de 10 anos de foco em tecnologias móveis. Como delegada de padrões de IPTV da TISPAN, ela foi uma das principais colaboradoras das especificações de padrões de IPTV. Ela tem 22 patentes nas áreas de rede e segurança de plataforma.

Um comentário

  1. o carthage update -platform ios -no-build não funcionar, provavelmente era para ser carthage update -platform ios --no-build?

Deixar uma resposta