Что выбрать в качестве серверного приложения, ASP.Net или WCF?

Сабж.

Планируется некий веб сервис, будет веб морда, плюс мобильное приложение.
И вот возник вопрос, не лучше ли в качестве бекенда сделать wcf, к которому будет обращаться и веб морда (естественно со своим беком) и мобильные приложения?
Про нагрузку и прочее не могу нечего сказать, ну естественно расчет должен быть на частое обращение к бекенду.

Какие я вижу плюсы связки wcf + web + mobile
1) Не напрягается бекенд веб морды при обращении мобил, и не напрягается wcf сервис, так как нет веб морды и всего что с этим связанно, следовательно быстрее работает.
2) Такое разделение позволит обновлять и развивать отдельные направления отдельно.
Минусы
Сложнее разрабатывать и поддерживать.

Кто что может посоветовать?
  • Вопрос задан
  • 4122 просмотра
Решения вопроса 1
Vadimyan
@Vadimyan
Программист C#
Привет.
Мне, если речь идёт о связи с веб-мордой и мобильными клиентами (в перспективе не только wp) нравится в качестве бэкенда использовать asp.net mvc web api. Это может показться сложнее простого wcf, тем более, что в wcf есть возможность сделать rest-сервис, поэтому я попробую обосновать плюсы web api.
1. Универсальность из коробки. web-api работает работает через http и отдаёт данные в json. Их просто собрать и в веб-приложении, при этом любой клиент всегда может обратиться к ним просто послав http-запрос.
2. mvc web api очень легко прикрутить к фронтенду с помощью knockout.js или angular.js. Фактически, это работает "из коробки" - делаешь запрос, получаешь в js построенную модель.
3. Даже в настольном приложении через .net всегда можно легко и, главное, асинхронно работать с web api через класс HttpClient (он же есть для WP).
4. Нет .net? Это просто http-запрос, стучаться легко с других платформ.
5. Как хостить WCF-сервис? Это не так и сложно, но хочется простоты, всё просто должно работать. web api хостится так же, как обычное asp.net приложение - в iis.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dzedzinskiy
@dzedzinskiy
Full stack developer
WCF поддерживает также TCP, UDP, MSMQ и возможность написания своего протокола, что не мало важно. Если есть опыт в Asp.Net Mvc , то Web-api будет намного привычнее чем WCF, ибо структура приложения та же сама. Лично мое мнение - сервис по работе с текстовыми данными - делать на web-api, а сервис по работе с файлами (если нужно вообще (загрузка/отправка)) делать на WCF. Передача файлов по TCP немного быстрее чем по HTTP. + в web-api нет транзакций как в WCF.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы