it-roy-ru.com

В чем разница между приложением API и веб-приложением?

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

Я могу создать новое решение .NET с контроллерами API и развернуть его как веб-приложение, так зачем мне конкретно требуется приложение API? Оптимизированы ли они специально для ASP.NET Web API, где веб-приложения предназначены для доставки HTML?

77
envio

Обновление ответа на текущее состояние Azure,

Службы приложений теперь заменяют все версии Mobile, Api и Web Apps как единую инфраструктуру приложений со всеми функциональными возможностями, которые можно перенастроить, чтобы сделать вещи более доступными для разных типов приложений. В настоящее время все веб-приложения, мобильные приложения и приложения Api в совокупности называются службами приложений. Мы по-прежнему предлагаем клиентам возможность создавать мобильное приложение и веб-приложение в галерею, но это в основном превращается в приложение службы приложений.

https://Azure.Microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best-platform/

Функции для мобильной работы для веб-приложений, такие как Easy Tables и Easy API. А функции для приложений API, таких как API Cors и определения API, теперь работают и с веб-приложениями. Клиент может разместить одно веб-приложение в качестве любой мобильной службы или API со всеми функциями, предлагаемыми через службы приложения.

У нас также есть новый сервис предварительного просмотра, в частности, предназначенный для API-приложений, который предлагает возможности управления для ваших API. По сути, вы можете контролировать создание страниц API-интерфейсов try, собирать аналитику выполнения, регулировать и многое другое. Посетите блог о функциях, чтобы узнать больше о функциях управления API Azure. И да, вы можете размещать API-интерфейсы в качестве приложения-службы приложений и взаимодействовать с API-интерфейсом.

https://Azure.Microsoft.com/en-us/documentation/articles/api-management-get-started/

60
Chibi Chakaravarthi

Был момент, когда существовали различия между различными типами сервисов приложений, но это уже не так. документация теперь гласит:

Единственное различие между тремя типами приложений (API, Интернет, мобильное устройство) заключается в имени и значке, которые используются для них на портале Azure.

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

ОБНОВИТЬ

Функциональные приложения теперь являются исключением. Создание функционального приложения изменяет пользовательский интерфейс на портале. Однако основное веб-приложение ничем не отличается. Установка параметра приложения с именем FUNCTIONS_EXTENSION_VERSION = ~1 превращает любое веб-приложение в функциональное приложение (за исключением пользовательского интерфейса на портале).

56
gregjhogan

Есть много незначительных различий между Web API и API-приложениями, но очень заметные и ключевые различия

  1. Собственная реализация Swagger. При создании API-приложения в Visual Studio по умолчанию предоставляется ссылка на Swagger. Swagger предоставляет очень удобные для разработчиков функции для пользователей API для взаимодействия с вашим API через интерфейс Swagger. Кроме того, API на основе Swagger обеспечивает генерацию клиентского SDK (как клиента на основе .Net, так и клиента на основе Javascript), что упрощает вызов API так же, как и обычный вызов метода. Примечание: реализация Swagger на обычном веб-API возможна вручную.

  2. Возможность публикации приложений API в Azure Market Place. Azure Market Place - это общедоступный репозиторий для всех приложений API, которые можно использовать бесплатно или за плату.

это 15-минутное видео с 9 канала дает отличный обзор об Api Apps.

11
Venkatesh Muniyandi

В дополнение к ответу Грега, Вот еще более свежая статья, описывающая различия.

Подводить итоги:

"Ключевые функции приложений API - аутентификация, метаданные CORS и API - перенесены непосредственно в службу приложений. Благодаря этому изменению эти функции становятся доступными в веб-приложениях, приложениях для мобильных устройств и приложениях API. Фактически все три используют один и тот же Microsoft.Web /. Тип ресурса сайтов в Resource Manager. "

И вот еще одно важное замечание:

"Если ваш API уже развернут как веб-приложение или мобильное приложение, вам не нужно повторно развертывать приложение, чтобы воспользоваться новыми функциями".

1
Rudy Scoggins

Это может зависеть от того, что вы пытаетесь сделать, но вы будете использовать веб-API при создании службы. ASP.Net Web API - это структура для построения HTTP-сервисов, которые могут использоваться широким кругом клиентов. Это позволяет создавать его не только для веб-приложения, но и открывать его для подключения к Android приложениям, IOS приложениям, веб-приложениям, приложениям для Windows 8, приложениям WPF и т.д.

Поэтому, если вам нужен веб-сервис, но вам не нужен SOAP, тогда вы можете использовать веб-API.

1
Daniel Egan

Вот мои комментарии:

Приложение API: используется для определенной функциональности. Запуск этой функции из URL. Может использоваться для использования с GET, POST, PUT, DELETE. Может получать параметры в теле (Json). Ответ с действительным кодом состояния (сбой, успех.)

Веб-приложение: приложение, развернутое с несколькими функциями, например, каталог для создания, обновления и удаления клиентов или для создания полной ERP.

Функция APP: очень похожа на приложение API, используется для конкретной функциональности. Запуск этой функции из URL. Может использоваться для использования с GET, POST, PUT, DELETE. Может получать параметры в теле (Json). Ответ с действительным кодом состояния (сбой, успех.)

Comparation table: Web App vs API app vs Azure Functions.

0
Israel Calderon

На самом деле вы можете развернуть веб-интерфейс aspnet в Azure WebApp и самостоятельно разместить на рабочих ролях.

На WebApp (бывшие веб-сайты Azure) он будет развернут на IIS, поэтому вы сможете воспользоваться функциями IIS.

0
Thiago Custodio