У чому різниця між додатком API та веб-додатком?


95

Зараз я читав кілька підручників з розгортання веб-програм та додатків API в Azure. Однак я все ще трохи не впевнений, чому ви використовуєте одне для іншого.

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

Відповіді:


75

Оновлення відповіді до поточного стану Azure,

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

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 App і підключати речі за допомогою API Management.

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


2
Похвала за те, що ви завжди в курсі справ! Хоча ... Зазвичай я думаю, що нова відповідь буде в порядку, враховуючи, скільки інформації оновлено порівняно з оригінальною відповіддю. Знову ж таки, я думаю, це дивний випадок / сіра зона, оскільки це вже було проголосовано / прийнято. :)
Девід Макогон

Так, я вважаю, що оновлення корисне, оскільки воно підтримує свіжість теми та гарантує, що люди легко бачать відповідь :).
Чібі Чакараварті

4
То яка основна причина наявності APP-додатків та веб-програм під егідою служб APP, якщо немає різниці
Хуссейн Салман

1
Ще одна відмінність: якщо розробник хоче імпортувати визначення програми в управлінні api за допомогою опції Api App, для вибору будуть доступні лише веб-програми, створені як Api Apps
user1075679

59

Був момент, коли між різними типами служб додатків існували відмінності, але це вже не відповідає дійсності. Зараз в документації зазначено:

Єдина відмінність між трьома типами програм (API, Інтернет, мобільний) - це назва та піктограма, що використовуються для них на порталі Azure.

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

ОНОВЛЕННЯ

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


Є ще одна відмінність. Ви не можете використовувати точки налагодження моментів у програмах api. Див. Коментарі від Nikhil_Joglekar_MSFT від 12 жовтня 2017 р. Docs.microsoft.com/en-us/visualstudio/debugger/…
Скотт Чемберлен,

@ChibiChakaravarthi Як розрізнити, чи є додаток функціональним додатком, використовуючи api для відпочинку? Я використовую цю кінцеву точку API: management.azure.com/subscriptions {subscriptionId} / resourceGroups / {resourceGroupName} /providers/Microsoft.Web/sites/ {name}? Api-version = 01.08.2016 відповідь, чи є цей ключ надійним та корисним?
rohanagarwal

На жаль, ні. функціональний додаток - це ще одна веб-програма. Чи можу я знати, чому ви хочете знати тип програми?
Чібі Чакараварті

11

Існує багато незначних різниць між веб-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.


2

Щоб доповнити відповідь Грега, ось ще недавніша стаття, що описує відмінності.

Підсумовуючи:

"Ключові особливості API-додатків - автентифікація, CORS та метадані API - перейшли безпосередньо до Служби програм. Завдяки цій зміні функції доступні в Інтернеті, Мобільному зв'язку та Додатках API. Фактично, усі три мають спільний Microsoft.Web / тип ресурсів сайтів у Менеджері ресурсів. "

І ось ще одна важлива примітка:

"Якщо ваш API вже розгорнуто як веб-додаток або мобільний додаток, вам не доведеться передислокувати свій додаток, щоб скористатися новими функціями."


1

Це може залежати від того, що ви намагаєтесь зробити, але ви використовуєте веб-API, коли створюєте службу. Веб-API ASP.Net - це структура для створення служб HTTP, які можуть використовуватися широким колом клієнтів. Це дозволяє вам створити його не тільки для веб-програми, але й відкрити для підключення до додатків Android, додатків IOS, веб-додатків, додатків Windows 8, програм WPF тощо.

Отже, якщо вам потрібна веб-служба, але вам не потрібен SOAP, ви можете використовувати веб-API.


Я думаю, що користувач каже, що веб-програма api настільки схожа на веб-програму, і насправді у VS ми можемо їх легко змішувати, що робить веб-програму api унікальною. Коли ми розгортаємо веб-API або веб-програму в IIS локально, немає різниці ні в чому, то чому різниця в Azure?
user441521

1

Ось мої коментарі:

Додаток API: використовується для певної функціональності. Запуск цієї функції з URL-адреси. Може використовуватися для використання з GET, POST, PUT, DELETE. Можна отримувати параметри на BODY (Json). Відповідь із дійсним кодом статусу (помилка, успіх.)

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

Функція APP: Дуже схожа на програму API, використовується для певної функціональності. Запуск цієї функції з URL-адреси. Може використовуватися для використання з GET, POST, PUT, DELETE. Можна отримувати параметри на BODY (Json). Відповідь із дійсним кодом статусу (помилка, успіх.)

Таблиця порівняння: веб-програма проти програми API та функції Azure.


0

Насправді ви можете розгорнути свій веб-сайт aspnet на Azure WebApp і самостійний хост на Робочих ролях.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.