2014-09-21 4 views
1

Я пишу мобильное приложение, и это мобильное приложение будет разговаривать с сервером в Azure, чтобы получить данные, и, возможно, тоже нажать.Azure Mobile Services vs Own REST service

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

Посмотрите на это, похоже, что вам нужно извлечь код, запущенный на сервере, и что вы на него нажимаете, это то, что вы вернетесь? Таким образом, это не будет очень полезно для меня, так как мой веб-сервис будет возвращать данные, зависящие от логики и т. Д. Однако способность Mobile Services напрямую обрабатывать push-уведомления - это хорошо (насколько сложно использовать веб-сайты Azure отправлять push-уведомления через мобильные службы?)

Однако, интересно, я что-то упустил? Я бы предпочел не переходить изобретать колесо как таковое, Mobile Services будет делать то, что мне нужно, тем более, что я буду использовать Xamarin, и есть хороший компонент для общения с мобильными службами ...

Спасибо

ответ

5

Я столкнулся с тем же вопросом: следует ли использовать Azure Mobile Services или катить мой собственный сервис REST. Ниже приведены некоторые открытия, которые я сделал до сих пор.

С Azure Mobile Services есть бэкэнд, в котором работает набор сборок, от которых в конечном счете зависит ваш код. Это нормально, пока вы не начнете использовать версии других сборок, которые не совместимы с версиями хостов Microsoft. Для меня это большая боль. Только эта проблема заставляет меня задаться вопросом, хочу ли я использовать Azure Mobile Services. Если вы создадите свой собственный сервис REST, я не ожидаю, что вы столкнетесь с этими проблемами. See this link for details.

Следует отметить, что Azure Mobile Services привязана к одному региону Azure: если ваша область Azure не работает, вам необходимо вручную перейти на другую область Azure. Возможно, это не проблема для вашего проекта. Если вы хотите работать в более чем одном регионе, я думаю, что будет проще свернуть собственный сервис REST.

Что касается push-уведомления, вы можете сделать это, не используя Mobile Service. Смотрите следующие ссылки:

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

Аутентификация поддерживается в Azure Mobile Services. Для этого вам нужно будет изучить отдельную структуру, если вы создадите свой собственный сервис REST.

Если вы используете Mobile Services, вы, вероятно, создадите веб-API ASP.NET с помощью мастеров Visual Studio. Есть примеры и учебные пособия, и это здорово. Однако, даже если вы катите свой собственный сервис, вы можете использовать другие фреймворки. Одним из примеров является ServiceStack, который я бы настоятельно рассмотрел, если вы хотите создать свой собственный сервис REST. Я думаю, ServiceStack также может помочь в аутентификации.

Если вы используете Mobile Services, вы привяжете себя сильнее к Azure.Скопив вашу собственную службу REST, вероятно, будет легче перейти на другую инфраструктуру позже.

+0

Это отличный ответ. Одна вещь, я бы сказал, однако, заключается в том, что если вы размещаете эту услугу на лазурном веб-сайте, это должно автомасштабировать со стандартными материалами веб-сайта. Я опробовал мобильные службы, и я столкнулся с множеством проблем, даже получив что-то простое, поскольку он смотрел на недопустимую строку подключения, которая не была определена нигде, ни в веб-конфигурации, ни на лазури, поэтому она мгновенно меня отключила так как я не хочу сражаться с лазурью. Поэтому я вполне могу опрокинуться. Еще одно преимущество для вашего собственного - это настраиваемые URL-адреса, в противном случае вы должны использовать собственную структуру URL-адресов Azures, связывая вас – britcowboy

+0

. Я отмечу как ответ, поскольку это был очень полезный ответ, чтобы понять плюсы и минусы. ура – britcowboy