MongoDB для C # и приложения для iPhone - PullRequest
3 голосов
/ 06 февраля 2010

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

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

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

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

1 Ответ

4 голосов
/ 06 февраля 2010

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

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

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

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

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

Редактировать - Подробнее о размещении MongoDB на iPhone

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

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

...