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

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

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

6 ответов


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

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

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/


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

единственное различие между тремя типами приложений (API, web, mobile) - это имя и значок, используемые для них на портале Azure.

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

обновление

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


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

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

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

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


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

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


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

подведем итоги:

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

и вот еще один важный Примечание:

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


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

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