2013-04-13 2 views
0

Любой из вас получил ответ на вопрос о том, какая модель более тривиальна для приложений, управляемых облачными приложениями iOS?Restkit + Rails API или TouchDB + CouchDB?

Restkit + RESTful API или TouchDB + CouchDB?

ответ

0

Существует очень трудно ответить на ваш вопрос, не зная, что вы хотите сделать. Вы можете сделать обе работы для разных случаев использования.

Есть несколько вещей, чтобы рассмотреть следующие вопросы:

  • Если автономный режим важен.

TouchDB является полнофункциональным хранилищем данных nosql, работающим на устройстве, и позволяет пользователю читать и записывать данные даже без подключения. Для полной работы Restkit требуется соединение.

  • Размер набора данных для репликации

TouchDB будет копировать данные на устройство, и это будет проще, если у вас есть относительный небольшой набор данных. Размер измеряется количеством документов в вашей базе данных, а также размером документов.

Кроме того, большую часть времени устройство должно выполнять полную репликацию при запуске приложения (первоначальная репликация), поэтому вы можете обойти это (например, встроить большую часть данных в приложение apk) и только реплицировать delta.

Кстати, вы, безусловно, можете использовать оба варианта и получить преимущества обоих.

0

Использование CouchDB + TouchDB полностью отменяет синхронизацию. Вам не нужно заботиться о синхронизации, это просто работает. Вы получаете уведомление по синхронизации, обновляете свой пользовательский интерфейс, вот и все.

Замена базового стека данных TouchDB также довольно проста. Объекты модели в основном остаются неизменными, только они теперь наследуются от CouchModel вместо NSManagedObject. Это почти тривиально.

Querying немного отличается от данных Core. Вы определяете набор представлений (индексов), которые разрезают и сортируют ваши данные по различным критериям, а затем запрашивают эти индексы с ключом начала и конца. Итак, нет явного языка запросов, но на самом деле это неудобство.

Я переместил приложение Core Data в TouchDB, и это было совершенно безболезненно. Примерно через 3 дня у меня была CRUD и синхронизация.

Смежные вопросы