API 앱과 웹 앱의 차이점은 무엇입니까?


95

이제 Azure에 Web Apps 및 API 앱을 배포하는 방법에 대한 몇 가지 자습서를 읽었습니다. 그러나 나는 당신이 왜 다른 것을 사용하는지에 대해서는 여전히 약간 확신이 없습니다.

API 컨트롤러를 사용하여 새 .NET 솔루션을 만들고이를 웹 앱으로 배포 할 수 있는데, API 앱이 특별히 필요한 이유는 무엇입니까? 웹앱이 HTML을 제공하는 곳에서 ASP.NET Web API에 특별히 최적화되어 있습니까?

답변:


75

Azure의 현재 상태에 대한 답변 업데이트,

이제 App Services는 모든 모바일, Api 및 웹 앱 버전을 단일 앱 프레임 워크로 대체하여 모든 애플리케이션 유형에서 더 쉽게 액세스 할 수 있도록 롤오버 된 모든 기능을 제공합니다. 현재 모든 웹, 모바일 및 Api 앱을 통칭하여 앱 서비스라고합니다. 우리는 여전히 고객에게 갤러리에서 모바일 앱과 웹 앱을 만들 수 있도록 제공하지만 기본적으로 앱 서비스 앱으로 해결됩니다.

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

Easy Tables 및 Easy API와 같은 Web App 용 모바일 작업 기능입니다. API Cors 및 API 정의와 같은 API 앱의 기능은 이제 웹 앱에서도 작동합니다. 고객은 단일 웹 앱을 호스팅하여 앱 서비스를 통해 제공되는 모든 기능을 갖춘 모바일 서비스 또는 API 역할을 할 수 있습니다.

또한 API에 대한 관리 경험을 제공하여 특히 API 앱을 대상으로하는 미리보기에 새로운 서비스가 있습니다. 기본적으로 try API 페이지 생성, 실행 분석 수집, 스로틀 등을 제어 할 수 있습니다. Azure API 관리 기능에 대해 자세히 알아 보려면 기능 블로그를 확인하세요. 예, API를 App Service 앱으로 호스팅하고 API Management와 연결할 수 있습니다.

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


2
최신 상태로 유지하는 것에 대한 명성! 그러나 ... 일반적으로 원래 답변과 비교하여 얼마나 많은 정보가 업데이트되었는지 고려할 때 새로운 답변이 순서대로 있다고 생각합니다. 그런 다음 다시 말하지만 이미 찬성 / 수락 되었기 때문에 이상한 케이스 / 회색 영역이라고 생각합니다. :)
David Makogon 2016

예, 스레드를 신선하게 유지하고 사람들이 쉽게 대답을 볼 수 있도록 업데이트하는 것이 좋습니다.
Chibi Chakaravarthi

4
그래서 차이가 없다면 API 앱과 웹 앱을 앱 서비스의 산하에 두는 주된 이유는 무엇입니까
Hussein Salman

1
또 다른 차이점 : 개발자가 Api 앱 옵션을 사용하여 API 관리에서 앱 정의를 가져 오려는 경우 Api 앱으로 생성 된 웹 앱만 선택할 수 있습니다
user1075679

59

다른 앱 서비스 유형간에 차이가있는 시점이 있었지만 더 이상 사실이 아닙니다. 문서는 현재 상태 :

세 가지 앱 유형 (API, 웹, 모바일)의 유일한 차이점은 Azure Portal에서 사용되는 이름과 아이콘입니다.

따라서 배포 할 앱 서비스 유형은 더 이상 중요하지 않습니다 (아이콘 모양에 상관없이).

최신 정보

함수 앱은 이제 예외입니다. 함수 앱을 만들면 포털의 사용자 인터페이스가 변경됩니다. 그러나 기본 웹 앱은 다르지 않습니다. FUNCTIONS_EXTENSION_VERSION= 라는 앱 설정을 설정하면 ~1모든 웹 앱이 함수 앱 (포털의 사용자 인터페이스 제외)으로 바뀝니다.


또 다른 차이점이 있습니다. API 앱에서는 디버깅 스냅 점을 사용할 수 없습니다. 2017년 10월 12일에 Nikhil_Joglekar_MSFT에서 주석을 참조하십시오 docs.microsoft.com/en-us/visualstudio/debugger/...
스콧의 전관

@ChibiChakaravarthi REST API를 사용하여 앱이 함수 앱인지 구별하는 방법은 무엇입니까? 이 API 끝점을 사용하고 있습니다. management.azure.com/subscriptions {subscriptionId} / resourceGroups / {resourceGroupName} /providers/Microsoft.Web/sites/ {name}? api-version = 2016-08-01 종류 키가 있습니다. 그 핵심이 신뢰할 만하고 유용합니까?
rohanagarwal

슬프게도 아닙니다. 함수 앱은 또 다른 웹 앱입니다. 앱 유형을 알고 싶은 이유를 알 수 있습니까?
Chibi Chakaravarthi

11

Web API와 API 앱 간에는 사소한 차이가 많지만 매우 주목할만한 주요 차이점은 다음과 같습니다.

  1. 기본 Swagger 구현-Visual Studio에서 API 앱을 만들 때 기본적으로 Swagger 참조가 제공됩니다. Swagger는 API 소비자가 Swagger UI를 통해 API와 상호 작용할 수있는 매우 개발자 친화적 인 기능을 제공합니다. 또한 Swagger 기반 API는 일반 메서드 호출과 마찬가지로 API를 쉽게 호출 할 수있는 클라이언트 SDK 생성 (.Net 기반 클라이언트 및 Javascript 기반 클라이언트 모두)을 제공합니다. 참고 : 일반 웹 API에서 Swagger 구현은 수동으로 가능합니다.

  2. API 앱을 Azure Market Place에 게시하는 기능. Azure Market Place는 무료로 또는 유료로 사용할 수있는 모든 API 앱의 공용 리포지토리입니다.

Channel 9 의이 15 분짜리 비디오는 Api 앱에 대한 훌륭한 개요를 제공합니다.


2

Greg의 답변을 보완하기 위해 차이점을 설명하는 더 최근 기사가 있습니다.

요약하자면 :

"API 앱의 주요 기능인 인증, CORS 및 API 메타 데이터가 App Service로 직접 이동되었습니다. 이러한 변경으로 인해 웹, 모바일 및 API 앱에서 기능을 사용할 수 있습니다. 실제로 세 가지 모두 동일한 Microsoft.Web /을 공유합니다. Resource Manager의 사이트 리소스 유형. "

또 다른 중요한 참고 사항이 있습니다.

"API가 이미 웹 앱 또는 모바일 앱으로 배포 된 경우 새로운 기능을 활용하기 위해 앱을 재배포 할 필요가 없습니다."


1

수행하려는 작업에 따라 달라질 수 있지만 서비스를 만들 때 웹 API를 사용합니다. ASP.Net Web API는 광범위한 클라이언트에서 사용할 수있는 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)에서 매개 변수를받을 수 있습니다. 유효한 상태 코드로 응답 (실패, 성공)

비교 표 : Web App 대 API 앱 대 Azure Functions.


0

실제로 Azure WebApp에 aspnet webapi를 배포하고 작업자 역할에 자체 호스트를 배포 할 수 있습니다.

WebApp (이전 Azure 웹 사이트)에서는 IIS에 배포되므로 IIS 기능을 활용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.