MongoDB для C# и приложения для iPhone
-
18-09-2019 - |
Вопрос
Я нахожусь на начальном этапе разработки приложения, серверная часть которого будет реализована на 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.