none
Что лучше WEB API или WCF? RRS feed

  • Вопрос

  • Привет, всем!

    Ставлю вопрос ребром. Как думаете, что лучше asp.net web api или wcf? Вроде как говорят, что WCF "умирает"...

    Можно конечно ответить, что их нельзя сравнивать так как они рассчитаны на разные задачи, но все же. Примерный сценарий работы - разработка приложений, работающих по протоколу Http.

    22 февраля 2013 г. 7:30

Ответы

  • "Просто как то странно WCF отошел на второй план в сообществе. Я сужу об этом на основании того, что раньше о WCF много говорили, писали и т.д. , а теперь практически не говорят. Книги новые не выходят, ну может вышла одна или две за последние несколько лет." - почему отошёл, не отошёл. О веб-платформе тоже сейчас мало пишут, всё об Azure и Windows 8, отсюда вывод - ушла ASP.NET? Никак нет. Просто маркетинг, стараются продвигать всё новое.

    "То я получаю от WCF более высокую скорость в разработке нежели от WEB API, за счет автоматической генерации прокси классов." - а эти классы будут работать на Android и IOS или же придётся использовать JavaScript? Тогда выходит придётся писать их самому. Подключить и настроить WEB API намного проще, чем WCF. А в серьёзных проектах клиентский код пишется вручную, то что генерирует студия мы не используем.

    24 февраля 2013 г. 19:03
    Модератор
  • Что касается - "использовать WEB API для REST лучше...", не совсем согласен. Смотрите, допустим мне не нужно поддерживать различные клиентские устройства, у которых могут быть проблемы с WCF (android, ios, js и прочее). Мне нужно создать сервис, который будет "похож" по поведению на REST для бизнес ПО.  То я получаю от WCF более высокую скорость в разработке нежели от WEB API, за счет автоматической генерации прокси классов. То есть в WCF студия для меня сгенерирует все нужные методы, модели (я обычно модели подключаю из общей сборки) , а в WEB API все нужно ручками писать.

    Тут скорее вопрос упирается в то, что вам самому ближе, что лучше знаете и в те задачи, которые перед вами ставятся. В WCF в итоге можно также настроить выдачу результатов по обычному HTTP Get запросу в формате json или xml для поддержки большего числа устройств, которые не могу снегерировать прокси классы и рассчитаны на сырые данные.

    В WebAPI сама разработка прозрачнее, т.к. вы все контролируете, более легковесная и проще для понимания. Если объемы данных невелики, то сформировать из них объекты на клиенте-получаете - не проблема.


    Для связи [mail]

    25 февраля 2013 г. 9:17
    Модератор

Все ответы

  • Ели речь о HTTP и стандарте REST, как вы указали, то однозначно WEB API лучше. Он является более предпочтительным выбором на данный момент. До этого она была частью WCF, ну конечно не в том виде в котором сейчас есть, просто взяли её и отделили. Думаю отсюда уже ясно, что WCF имеет большо возможностей и расчитана на больший круг задач, так что в более широком смысле сравнивать их глупо. "Вроде как говорят, что WCF "умирает"" - думаю тут тоже уже понятно, WCF есть и будет.
    24 февраля 2013 г. 6:54
    Модератор
  • Спасибо за ответ!

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

    Что касается - "использовать WEB API для REST лучше...", не совсем согласен. Смотрите, допустим мне не нужно поддерживать различные клиентские устройства, у которых могут быть проблемы с WCF (android, ios, js и прочее). Мне нужно создать сервис, который будет "похож" по поведению на REST для бизнес ПО.  То я получаю от WCF более высокую скорость в разработке нежели от WEB API, за счет автоматической генерации прокси классов. То есть в WCF студия для меня сгенерирует все нужные методы, модели (я обычно модели подключаю из общей сборки) , а в WEB API все нужно ручками писать.

    По моему если сервисы не публичны, как в твиттере, фейсбуке и т.д. То WCF лучше :)

     

    24 февраля 2013 г. 12:05
  • "Просто как то странно WCF отошел на второй план в сообществе. Я сужу об этом на основании того, что раньше о WCF много говорили, писали и т.д. , а теперь практически не говорят. Книги новые не выходят, ну может вышла одна или две за последние несколько лет." - почему отошёл, не отошёл. О веб-платформе тоже сейчас мало пишут, всё об Azure и Windows 8, отсюда вывод - ушла ASP.NET? Никак нет. Просто маркетинг, стараются продвигать всё новое.

    "То я получаю от WCF более высокую скорость в разработке нежели от WEB API, за счет автоматической генерации прокси классов." - а эти классы будут работать на Android и IOS или же придётся использовать JavaScript? Тогда выходит придётся писать их самому. Подключить и настроить WEB API намного проще, чем WCF. А в серьёзных проектах клиентский код пишется вручную, то что генерирует студия мы не используем.

    24 февраля 2013 г. 19:03
    Модератор
  • Что касается - "использовать WEB API для REST лучше...", не совсем согласен. Смотрите, допустим мне не нужно поддерживать различные клиентские устройства, у которых могут быть проблемы с WCF (android, ios, js и прочее). Мне нужно создать сервис, который будет "похож" по поведению на REST для бизнес ПО.  То я получаю от WCF более высокую скорость в разработке нежели от WEB API, за счет автоматической генерации прокси классов. То есть в WCF студия для меня сгенерирует все нужные методы, модели (я обычно модели подключаю из общей сборки) , а в WEB API все нужно ручками писать.

    Тут скорее вопрос упирается в то, что вам самому ближе, что лучше знаете и в те задачи, которые перед вами ставятся. В WCF в итоге можно также настроить выдачу результатов по обычному HTTP Get запросу в формате json или xml для поддержки большего числа устройств, которые не могу снегерировать прокси классы и рассчитаны на сырые данные.

    В WebAPI сама разработка прозрачнее, т.к. вы все контролируете, более легковесная и проще для понимания. Если объемы данных невелики, то сформировать из них объекты на клиенте-получаете - не проблема.


    Для связи [mail]

    25 февраля 2013 г. 9:17
    Модератор
  • Спасибо, за ответы. Очень интересно было узнать Ваше мнение.
    25 февраля 2013 г. 10:48