Вопрос

Я нахожусь на начальном этапе разработки приложения, серверная часть которого будет реализована на C# и будет предоставлять данные для других платформ с использованием веб-служб WCF, размещенных в IIS.Одной из платформ станет iPhone.

Поскольку это личный проект, я хочу использовать его для изучения MongoDB.Я уже знаю, что существуют драйверы, разработанные сообществом для MongoDB и C#, поэтому я мог бы обеспечить постоянство на стороне сервера с помощью MongoDB.

Даже не зная моделей репликации, предлагаемых MongoDB, я думал о какой-то простой модели синхронизации, позволяющей сохранять данные локально, если iPhone не подключен или имеет плохое соединение.

Вот вопрос:Можно ли использовать MongoDB на iPhone с помощью драйверов MongoDB C?Кто-нибудь уже пробовал это?

Это было полезно?

Решение

Типичная архитектура iPhone предполагает обращение вашего приложения к веб-сервису.Даже если можно использовать драйвер MongoDB непосредственно из мобильного клиента, я бы не рекомендовал это делать.По нескольким причинам.

По сути, вы говорите о создании клиент-серверной архитектуры, в которой ваше клиентское приложение напрямую взаимодействует с хранилищем данных (MongoDB). А как насчет безопасности?Когда любой аутентифицированный клиент обращается напрямую к хранилищу данных, могут произойти самые разные неприятности.

Тесная привязка вашего клиентского приложения непосредственно к какой-либо конкретной технологии доступа к данным опасна, поскольку вам придется переписать ваш клиент, если по какой-то причине вам понадобится изменить свое решение для доступа к данным.

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

Подумайте о написании RESTful API, предоставляющего доступ к вашему хранилищу данных клиенту iPhone.Я слышал хорошие отзывы о Открыть Раста (библиотека C# REST)

Изменить. Подробнее о хостинге MongoDB на iPhone.

Извините, я не понял, что вы хотите запустить MongoDB локально на iPhone.MongoDB — это сервер.Я не верю, что его можно встроить как внутрипроцессное хранилище данных.И на iPhone невозможно запустить более одного процесса.

Если вы знакомы с C#, возможно, вы захотите проверить Монотач.Он позволяет запускать приложения C# на iPhone.Есть хорошая библиотека для использования SqlLite который поддерживается iPhone.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top