
Introducing Cloudant Sync, Open Source Libraries for Mobile - mbroberg
https://cloudant.com/blog/introducing-cloudant-sync/
======
yapcguy
From the Github page:

 _" CDTDatastore is available through CocoaPods, to install it add the
following line to your Podfile:_

Why CocoaPods? What is wrong with a static library? Or simply adding the
relevant class files to a project?

I don't want to have Ruby infrastructure just to add a bunch of files to a
project! Why are Ruby folk obsessed with doing things their 'Gems' way? They
bring the same mentality to Go(lang). I always hear (ex)-Ruby folk asking
questions at meetups about packaging and versioning...

~~~
mikerhodes
As long as you also pull in the dependencies specified in the podfile, you'll
be absolutely fine just adding the class files to the project. I've tried to
be careful to maintain that as a viable option. That you retain the option is
one of the strengths of Cocoapods to my mind.

While far from perfect, I chose to use Cocoapods as it's becoming the defacto
standard in the iOS community. I've used it in my apps, and have found it
easier to manage my deps than a bunch of git submodules or copying source code
into my projects.

The problems with static libraries on iOS have been well documented at [1].
Essentially, that you can't build static libraries as a third-party for iOS
without resorting to low-level trickery. This seemed like it would become a
maintenance burden vs. the Cocoapods approach.

[1]:
[http://landonf.bikemonkey.org/code/ios/Radar_15800975_iOS_Fr...](http://landonf.bikemonkey.org/code/ios/Radar_15800975_iOS_Frameworks.20140112.html)

------
strmpnk
For those interested in the replication side Cloudant and CouchDB, there is
some start to documenting the protocol on
[http://www.replication.io](http://www.replication.io). It's exciting to have
more things can seamlessly replicate! Another great example is the PouchDB
project ([http://pouchdb.com](http://pouchdb.com)).

~~~
yapcguy
CouchDB, CouchBase, TouchDB, PouchDB...

How is anyone supposed to figure out who/what to use for the long-term?
CouchDB? CouchBase?

~~~
strmpnk
There is definitely some confusion to the names and efforts there are efforts
to ensure there is a clear identity for the CouchDB project moving forward.
(Couchbase is not compatible with CouchDB so there will likely always be some
confusion there which boils down to historical trivia more than anything.)

TouchDB & PouchDB were some of the earlier projects which extended CouchDB's
reach to in-browser and on-mobile databases respectively. In those days the
brand confusion problem wasn't as clear. Hopefully in the future all you'll
need to know is that the projects support CouchDB replication. Cloudant is a
big supporter of the CouchDB community. It made sense to build upon community
efforts where they existed already rather than replace them with completely
proprietary components.

(Disclosure: I work at Cloudant.)

~~~
yapcguy
Thanks...

How do I decide between CouchDB and CouchBase?

What are the major technical differences?

Is there a philosophical difference?

