web-dev-qa-db-fra.com

Vous ne savez pas comment utiliser CouchDB sur Android

Je veux que CouchDB fonctionne comme backend pour mon application mobile, en remplacement de SQlite.

J'ai été incroyablement confus en tant que nouveau venu dans cette technologie car, en plus de tous les produits de sondage similaires lancés par Couchbase l'année dernière (Couchbase, Couchbase Single Server, Membase, Couchbase Mobile), ils semblent maintenant abandonner/combiner tous en un seul projet, Couchbase Server. Mais c'est en fait Membase, pas CouchDB. Pour couronner le tout, le créateur de CouchDB ne va plus travailler sur CouchDB. Pourtant, il semble y avoir une communauté très active autour de CouchDB. Voici ce que je sais:

  1. Je comprends que Couchbase, la société, ne fournit plus de distribution de CouchDB.

  2. Je comprends que Couchbase Server, le nouvel objectif de la société Couchbase, n'est vraiment pas du tout CouchDB et il n'est pas compatible avec CouchDB. Il n'implémente pas l'API HTTP que CouchDB utilise, il utilise un protocole binaire qui a évolué à partir de Membase.

  3. Toutes les informations récentes sur CouchDB Mobile semblent pointer vers Couchbase Mobile.

Mes questions se résument à:

Est-il toujours possible d'utiliser CouchDB sur un appareil Android? Spécifiquement CouchDB, pas Couchbase Server, car les API ne sont pas compatibles

Si c'est encore possible, comment faire? Où est le code source? Des exemples d'applications?

Désolé si ma question devient confuse. Pour être honnête, j'ai du mal à parcourir la vaste collection de messages apparemment contradictoires en ligne. Je veux juste exécuter CouchDB sur Android! :)

45
Jonathan

en tant que co-fondateur de Couchbase, je devrais être en mesure de vous donner une compréhension plus claire. Je répondrai à vos questions à tour de rôle.

1) Correct. Le serveur Couchbase n'est pas CouchDB. Il sacrifie certaines des choses intéressantes que CouchDB fait (interface HTTP, réplication maître/maître) pour qu'il puisse faire d'autres choses intéressantes (latence inférieure à la milliseconde, grappes gigantesques). À long terme, nous aimerions revenir en haut - versions de performance des fonctionnalités que nous avons dû abandonner. Pour l'instant, nous construisons la base de données NoSQL la plus rapide et la plus fiable (yay) mais elle ne répond pas aux mêmes cas d'utilisation que CouchDB.

2) Peut-être que je viens de répondre à cela? Plus d'informations sur Couchbase Server sont ici: http://www.couchbase.com/couchbase-server/overview

3) Couchbase continue d'investir dans la technologie mobile. Nous avons des implémentations bien testées disponibles pour Android et iOS. Celles-ci sont basées sur Apache CouchDB, elles auront donc l'ensemble de fonctionnalités que vous recherchez. Visitez ici pour les télécharger: http : //www.couchbase.com/wiki/display/couchbase/Couchbase+Mobile+Syncpoint (voir les liens pour iOS et Android sur cette page)

À l'avenir, nous nous concentrons sur des alternatives légères à l'exécution effective de code basé sur CouchDB sur l'appareil. Pour que CouchDB s'exécute sur l'appareil, il faut la machine virtuelle Erlang. Bien qu'il soit léger et respectueux de la durée de vie de la batterie (pour une VM), il s'agit toujours d'une VM. Nous construisons donc des moteurs de synchronisation et de stockage plus légers pour les mobiles. TouchDB pour iOS peut se synchroniser avec Apache CouchDB. Nous avons également n projet similaire pour Android . Si je commençais un nouveau projet, je les examinerais.

32
J Chris A

Le Android port Android de TouchDB, https://github.com/couchbaselabs/TouchDB-Android , pourrait être intéressant:

"TouchDB est un moteur de base de données léger compatible CouchDB adapté à l'intégration dans des applications mobiles ou de bureau."

Ce n'est pas un remplacement direct pour CouchDB mais promet une API qui est fondamentalement la même et peut-être surtout pour vous qu'elle "prend en charge la réplication vers et depuis CouchDB".

13
Matt Goodall

TouchDB a été remplacé par Couchbase Lite Android et Couchbase-Lite-Android ne peut être utilisé que pour Honeycomb et au-dessus.

Également à cette date, le 16 septembre 13, la bibliothèque est en alpha et je ne pense pas qu'elle sera utilisée en production de si tôt.

La seule solution à ce stade semble être parse.com, qui est bien sûr une solution payante.

6
Gaurav Agarwal

Les réponses ici deviennent un peu datées.

Couchbase Lite est un produit d'expédition mature (open-source) qui implémente une base de données NoSQL autonome et complète destinée aux mobiles, à l'IoT et à d'autres utilisations où la connectivité réseau est un problème ou dont vous avez besoin d'un poids plus léger que Couchbase Server. Il a un large support de plateforme.

Couchbase Lite effectue la synchronisation. Il est compatible avec CouchDB.

Vous pouvez trouver plus d'informations sur le site Couchbase. Pour mobile, accédez à http://developer.couchbase.com/mobile

Edit: Couchbase Mobile 2.0 est sorti. C'est une réécriture importante. La réplication de Couchbase Lite 2.0 utilise un nouveau protocole qui n'est pas compatible avec CouchDB.

3
Hod