Aktualizacja odpowiedzi do aktualnego stanu Azure,
Usługi aplikacji zastępują teraz wszystkie odmiany aplikacji mobilnych, API i aplikacji internetowych w ramach jednej struktury aplikacji, a wszystkie funkcje są przenoszone, aby uczynić rzeczy bardziej dostępnymi dla różnych typów aplikacji. Obecnie wszystkie aplikacje internetowe, mobilne i api są łącznie nazywane usługami aplikacji. Nadal oferujemy klientowi możliwość tworzenia aplikacji mobilnej i aplikacji internetowej w galerii, ale w zasadzie jest to rozwiązanie w postaci aplikacji App Service.
https://azure.microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best-platform/
Funkcje do pracy mobilnej w aplikacji internetowej, takie jak Easy Tables i Easy API. Funkcje aplikacji API, takie jak API Cors i definicje API, działają teraz również w aplikacjach internetowych. Klient może hostować pojedynczą aplikację internetową, działającą jako dowolna usługa mobilna lub interfejs API ze wszystkimi funkcjami oferowanymi przez usługi aplikacji.
Mamy również nową usługę w wersji zapoznawczej, szczególnie ukierunkowaną na aplikacje API, oferując doświadczenie zarządzania dla twoich interfejsów API. Zasadniczo możesz kontrolować generowanie stron testowych API, zbierać analizy wykonania, ograniczać i wiele więcej. Zapoznaj się z blogiem dotyczącym funkcji, aby dowiedzieć się więcej o funkcjach Azure API Management. I tak, możesz hostować interfejsy API jako aplikację App Service i łączyć się z API Management.
https://azure.microsoft.com/en-us/documentation/articles/api-management-get-started/
W pewnym momencie istniały różnice między różnymi typami usług aplikacji, ale to już nie prawda. Dokumentacja teraz stwierdza:
Nie ma więc już znaczenia, który typ usługi aplikacji wybierzesz do wdrożenia (chyba że obchodzi Cię, jak wygląda ikona).
AKTUALIZACJA
Aplikacje funkcyjne są teraz wyjątkiem. Utworzenie aplikacji funkcji zmienia interfejs użytkownika w portalu. Jednak podstawowa aplikacja internetowa nie jest inna. Ustawienie ustawienia aplikacji o nazwie
FUNCTIONS_EXTENSION_VERSION
=~1
zmienia dowolną aplikację internetową w aplikację funkcji (bez interfejsu użytkownika w portalu).źródło
Istnieje wiele drobnych różnic między interfejsem API sieci Web a aplikacjami API, ale są to bardzo istotne i kluczowe różnice
Implementacja natywnego elementu Swagger - podczas tworzenia aplikacji interfejsu API w programie Visual Studio odwołanie do elementu Swagger jest domyślnie dostępne. Swagger zapewnia bardzo przyjazne dla programistów funkcje dla konsumentów API do interakcji z interfejsem API za pośrednictwem interfejsu użytkownika Swagger. Również API oparte na Swagger zapewnia generowanie SDK klienta (zarówno klient oparty na .Net, jak i klient oparty na Javascript), co ułatwia wywoływanie API, tak jak zwykłe wywołanie metody. Uwaga: implementacja Swaggera w zwykłym interfejsie API sieci Web jest możliwa ręcznie.
Możliwość publikowania aplikacji API w witrynie Azure Market Place. Azure Market Place to publiczne repozytorium wszystkich aplikacji interfejsu API, z których można korzystać bezpłatnie lub za opłatą.
ten 15-minutowy film z Channel 9 zawiera doskonały przegląd aplikacji Api.
źródło
Aby uzupełnić odpowiedź Grega, oto jeszcze nowszy artykuł opisujący różnice.
Podsumowując:
„Kluczowe funkcje aplikacji API - uwierzytelnianie, CORS i metadane interfejsu API - zostały przeniesione bezpośrednio do App Service. Dzięki tej zmianie funkcje są dostępne w aplikacjach internetowych, mobilnych i API. W rzeczywistości wszystkie trzy korzystają z tego samego Microsoft.Web / typ zasobu witryn w Menedżerze zasobów ”.
A oto kolejna ważna uwaga:
„Jeśli Twój interfejs API jest już wdrożony jako aplikacja internetowa lub aplikacja mobilna, nie musisz ponownie wdrażać aplikacji, aby skorzystać z nowych funkcji”.
źródło
Może to zależeć od tego, co próbujesz zrobić, ale podczas tworzenia usługi należy użyć interfejsu API sieci Web. ASP.Net Web API to platforma służąca do tworzenia usług HTTP, z których może korzystać wielu klientów. Pozwala to zbudować go nie tylko dla aplikacji internetowej, ale także otworzyć go, aby łączyć się z aplikacjami na Androida, aplikacjami IOS, aplikacjami internetowymi, aplikacjami Windows 8, aplikacjami WPF itp.
Jeśli więc potrzebujesz usługi sieciowej, ale nie potrzebujesz protokołu SOAP, możesz użyć interfejsu API sieci Web.
źródło
Tutaj moje komentarze:
Aplikacja API: używana do określonych funkcji. Wyzwalanie tej funkcji z adresu URL. Może być używany z GET, POST, PUT, DELETE. Może otrzymać parametry w BODY (Json). Odpowiedź z poprawnym kodem stanu (niepowodzenie, powodzenie).
Aplikacja internetowa: aplikacja wdrożona z wieloma funkcjami, na przykład katalog do tworzenia, aktualizowania i usuwania klientów lub do tworzenia kompletnego ERP.
Aplikacja funkcji: jest bardzo podobna do aplikacji API, używana do określonych funkcji. Wyzwalanie tej funkcji z adresu URL. Może być używany z GET, POST, PUT, DELETE. Może otrzymać parametry w BODY (Json). Odpowiedź z poprawnym kodem stanu (niepowodzenie, powodzenie).
źródło
W rzeczywistości możesz wdrożyć webapi aspnet w Azure WebApp i własny host w rolach procesu roboczego.
W aplikacji WebApp (dawne witryny internetowe platformy Azure) zostanie wdrożona w usługach IIS, dzięki czemu można będzie korzystać z funkcji usług IIS.
źródło