Dropbox anunciou recentemente que está descontinuando suas APIs Sync e Datastore para se concentrar em sua API principal. Embora possamos entender o imperativo de se concentrar, isso não muda a posição em que muitos dos desenvolvedores que dependem dessas APIs se encontram.
Como provedores de software, podemos definitivamente ter empatia com os engenheiros do Dropbox, mas ainda mais com os usuários que deixam comentários como esses sobre o anúncio da descontinuação:
"Você acabou de matar um dos benefícios que tinha sobre outras empresas que competem nesse mercado." - SneakerXZ
"Não tenho palavras para expressar o quanto estou desapontado com essa decisão. Eu não teria seguido o caminho do Dropbox Sync se soubesse que o Dropbox iria puxar o tapete debaixo de mim." - Steve S
"Basicamente, o que você está dizendo é que não é capaz de oferecer suporte a cenários de sincronização, portanto, é melhor deixar que vários desenvolvedores independentes criem suas próprias soluções (provavelmente com falhas)" - Antti Rantanen
Se você foi prejudicado pela perda de acesso a uma API, de repente o apelo dos ecossistemas de código aberto ficou muito mais claro. Nesse caso, considere isso como uma oportunidade de migrar para uma pilha mais avançada e controlada por você.
Se você quiser uma solução de sincronização de código aberto com todos os recursos (com bibliotecas nativas para a maioria das plataformas móveis), dedicamos décadas de tempo de engenharia para Couchbase Mobile. Ele tem recursos mais do que suficientes para substituir quase tudo que você possa estar usando o Dropbox Datastore ou as APIs de sincronização para fazer. E depois de começar a usá-la, você estará pronto para aproveitar os recursos mais avançados, como controle de acesso refinado, ganchos da Web e p2p.
Vamos dar uma olhada nos recursos da API do Dropbox e ver para quais recursos do Couchbase Mobile você migraria. Em uma postagem futura do blog, vamos nos aprofundar no código de algumas dessas migrações.
As APIs Sync e Datastore se autenticam usando a conta do Dropbox do usuário. O Couchbase Mobile usa autenticação de terceiros (incluindo suporte integrado para login do Facebook e extensibilidade para integração com seu servidor de autenticação existente) para que não haja necessidade de enviar os usuários para se inscreverem em outro serviço.
A API de sincronização do Dropbox é apenas um sistema de arquivos com operações para substituir ou anexar arquivos binários ou de string. Isso mapeia para anexos binários no Couchbase Mobile. Você pode saber mais sobre anexos na documentaçãoou confira esta postagem sobre Compartilhamento de fotos ponto a ponto usando anexos.
A API do Dropbox Datastore é uma API JSON, na qual os desenvolvedores podem criar tabelas e preenchê-las com registros. Há até mesmo um tipo de registro especial para listas. Essa API é muito legal, pois é direcionada diretamente para os casos de uso que são o ponto ideal para o Couchbase Mobile. Isso também significa que não é difícil trocar um pelo outro.
Uma diferença nos modelos de dados entre o Dropbox Datastore e o Couchbase Mobile é que, no Dropbox, o desenvolvedor registra estratégias de resolução de conflitos que são executadas durante a sincronização. Com o Couchbase Mobile, a resolução de conflitos pode ser feita off-line, dando aos desenvolvedores flexibilidade sobre quando e como mesclar alterações conflitantes.
Além disso, qualquer código que trabalhe com registros deve ser capaz de mapear de forma limpa para O Couchbase Lite documenta as operações. Fique atento à próxima postagem desta série para ver um exemplo de como isso é fácil.