program story

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

inputbox 2020. 9. 25. 07:50
반응형

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


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

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


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/


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

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

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

최신 정보

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


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 앱에 대한 훌륭한 개요를 제공합니다.


수행하려는 작업에 따라 달라질 수 있지만 서비스를 만들 때 웹 API를 사용합니다. ASP.Net Web API는 광범위한 클라이언트에서 사용할 수있는 HTTP 서비스를 구축하기위한 프레임 워크입니다. 이를 통해 웹 앱용으로 만 빌드 할 수있을뿐만 아니라 Android 앱, IOS 앱, 웹 앱, Windows 8 앱, WPF 앱 등에 연결할 수 있습니다.

따라서 웹 서비스가 필요하지만 SOAP가 필요하지 않은 경우 웹 API를 사용할 수 있습니다.


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

요약하자면 :

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

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

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


여기 내 의견 :

API 앱 : 특정 기능에 사용됩니다. URL에서 해당 기능을 트리거합니다. GET, POST, PUT, DELETE와 함께 사용하는 데 사용할 수 있습니다. BODY (Json)에서 매개 변수를받을 수 있습니다. 유효한 상태 코드로 응답 (실패, 성공)

웹 앱 : 고객을 생성, 업데이트 및 삭제하거나 완전한 ERP를 생성하기위한 카탈로그와 같이 다양한 기능으로 배포 된 애플리케이션입니다.

기능 APP : 특정 기능에 사용되는 API 앱과 매우 유사합니다. URL에서 해당 기능을 트리거합니다. GET, POST, PUT, DELETE와 함께 사용하는 데 사용할 수 있습니다. BODY (Json)에서 매개 변수를받을 수 있습니다. 유효한 상태 코드로 응답 (실패, 성공)

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


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

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

참고 URL : https://stackoverflow.com/questions/31387073/what-is-the-difference-between-an-api-app-and-a-web-app

반응형