web-dev-qa-db-fra.com

Quelle est la différence entre une application API et une application Web?

J'ai lu quelques didacticiels sur le déploiement d'applications Web et d'applications API sur Azure. Cependant, je suis encore un peu incertain quant à la raison pour laquelle vous utiliseriez l'une plutôt que l'autre.

Je peux créer une nouvelle solution .NET avec des contrôleurs API et la déployer en tant qu'application Web. Pourquoi aurais-je spécifiquement besoin d'une application API? Sont-ils optimisés spécifiquement pour l’API Web ASP.NET, là où les applications Web permettent de livrer du HTML?

80
envio

Mise à jour de la réponse à l'état actuel d'Azure,

App Services remplace désormais toutes les versions Mobile, Api et Web Apps sous la forme d'une infrastructure d'applications unique avec toutes les fonctionnalités transférées pour rendre les choses plus accessibles pour tous les types d'applications. Actuellement, toutes les applications Web, mobiles et Api sont collectivement appelées App Services. Nous offrons toujours au client la possibilité de créer une application mobile et une application Web dans la galerie. App Service App.

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

Fonctionnalités pour le travail mobile pour les applications Web, telles que Easy Tables et Easy API. Et les fonctionnalités pour les applications API telles que les définitions API Cors et API fonctionnent également sur les applications Web. Un client peut héberger une seule application Web pour agir comme n'importe quel service mobile ou comme une API avec toutes les fonctionnalités offertes par les services de l'application.

Nous avons également un nouveau service de prévisualisation ciblant particulièrement les applications d'API en offrant une expérience de gestion de vos API. En gros, vous pouvez contrôler les pages de génération de l'API try, rassembler des analyses d'exécution, des restrictions et bien plus encore. Vérifier sur le blog de fonctionnalités pour en savoir plus sur les fonctionnalités de gestion des API Azure. Et oui, vous pouvez héberger les API en tant qu'application App Service et raccorder des éléments avec Gestion des API.

https://Azure.Microsoft.com/en-us/documentation/articles/api-management-get-started/

62
Chibi Chakaravarthi

Il y a eu un moment où il y avait des différences entre les différents types de services d'application, mais ce n'est plus vrai. Le documentation indique maintenant:

La seule différence entre les trois types d'applications (API, Web, mobile) réside dans le nom et l'icône utilisés dans le portail Azure.

Ainsi, le type de service d'application que vous choisissez de déployer n'a plus d'importance (sauf si vous vous souciez de l'apparence de l'icône).

[~ # ~] met à jour [~ # ~]

Les applications fonctionnelles sont maintenant l'exception. La création d'une application de fonction modifie l'interface utilisateur du portail. L'application Web sous-jacente n'est toutefois pas différente. Définition d'un paramètre d'application nommé FUNCTIONS_EXTENSION_VERSION = ~1 transforme n'importe quelle application Web en application de fonction (sans l'interface utilisateur du portail).

56
gregjhogan

Il existe de nombreuses différences mineures entre les API Web et les applications API, mais les différences très notables et essentielles sont

  1. Implémentation native de Swagger - Lorsque vous créez une application API dans Visual studio, la référence de swagger est fournie par défaut. Swagger fournit aux utilisateurs d'API des fonctionnalités très conviviales pour interagir avec votre API via l'interface utilisateur Swagger. De plus, les API basées sur Swagger fournissent une génération de SDK client (à la fois client basé sur .Net et client basé sur Javascript) qui facilite l'appel des API comme un appel de méthode classique. Remarque: L'implémentation Swagger sur une API Web standard est possible manuellement.

  2. Possibilité de publier vos applications API sur Azure Market Place. Azure Market Place est le référentiel public de toutes les applications API pouvant être consommées gratuitement ou gratuitement.

this La vidéo de 15 minutes de Channel 9 donne une excellente vue d’ensemble sur Api Apps.

11

Voici mes commentaires:

Application API: utilisée pour des fonctionnalités spécifiques. Déclenchement de cette fonctionnalité à partir d'une URL. Peut être utilisé avec GET, POST, PUT, DELETE. Peut recevoir des paramètres à BODY (Json). Réponse avec code d'état valide (échec, succès)

APP Web: application déployée avec plusieurs fonctionnalités, par exemple un catalogue pour créer, mettre à jour et supprimer des clients ou pour créer un ERP complet.

Fonction APP: est très similaire à l'application API, utilisée pour des fonctionnalités spécifiques. Déclenchement de cette fonctionnalité à partir d'une URL. Peut être utilisé avec GET, POST, PUT, DELETE. Peut recevoir des paramètres à BODY (Json). Réponse avec code d'état valide (échec, succès)

Comparation table: Web App vs API app vs Azure Functions.

1
Israel Calderon

Pour compléter la réponse de Greg, Voici un article encore plus récent décrivant les différences.

Pour résumer:

"Les fonctionnalités clés des applications API - authentification, métadonnées CORS et API - ont été transférées directement dans App Service. Avec cette modification, elles sont disponibles dans les applications Web, mobiles et API. En fait, elles partagent le même Microsoft.Web/type de ressource Sites dans Resource Manager. "

Et voici une autre note importante:

"Si votre API est déjà déployée en tant qu'application Web ou application mobile, vous n'avez pas besoin de redéployer votre application pour tirer parti des nouvelles fonctionnalités."

1
Rudy Scoggins

Cela peut dépendre de ce que vous essayez de faire, mais vous utiliseriez une API Web lorsque vous créez un service. L'API Web ASP.Net est une structure permettant de créer des services HTTP pouvant être utilisés par un large éventail de clients. Cela vous permet de le créer non seulement pour une application Web, mais également de le laisser ouvert pour vous connecter à Android apps, IOS, applications Web, applications Windows 8). , Les applications WPF, etc.

Donc, si vous avez besoin d'un service Web mais que vous n'avez pas besoin de SOAP, vous pouvez utiliser l'API Web.

1
Daniel Egan

En réalité, vous pouvez déployer votre webapi aspnet sur une application Web Azure et un hôte autonome sur des rôles de travail.

Sur WebApp (anciens sites Web Azure), il sera déployé sur IIS afin que vous puissiez profiter des fonctionnalités de IIS.

0
Thiago Custodio