Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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-скриптов генерации, собирать аналитику выполнения, дросселирование и многое другое. Ознакомьтесь с блогом функций, чтобы узнать больше о функциях управления Azure API. И да, вы можете разместить API как приложение App Service и перехватить управление API.

https://azure.microsoft.com/en-us/documentation/articles/api-management-get-started/

Ответ 2

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

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

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

UPDATE

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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

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

"Основные функции API-приложений - аутентификация, метаданные CORS и API - переместились непосредственно в App Service. Благодаря этому изменению функции доступны в приложениях Web, Mobile и API. Фактически, все три имеют один и тот же Microsoft.Web/sites в диспетчере ресурсов."

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

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

Ответ 6

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

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

Ответ 7

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

Приложение 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.