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

J'ai lu quelques tutoriels maintenant sur le déploiement D'applications Web et D'applications API sur Azure. Cependant, je suis toujours un peu incertain quant à la raison pour laquelle vous utiliseriez l'un sur l'autre.

Je peux créer une nouvelle solution. net avec des contrôleurs API et la déployer en tant qu'application Web, alors pourquoi aurais-je spécifiquement besoin d'une application API? Sont-ils optimisés spécifiquement pour ASP.NET API Web, où que les applications Web sont pour fournir HTML?

53
demandé sur Stijn 2015-07-13 18:10:59

6 réponses

Mettre à jour la réponse à L'état actuel D'Azure,

App Services remplace désormais toutes les saveurs D'applications mobiles, Api et Web en tant que cadre d'application unique avec toutes les fonctionnalités reportées pour rendre les choses plus accessibles à travers les types d'applications. actuellement, toutes les applications Web, mobiles et Api sont collectivement appelées Services D'applications. Nous offrons toujours Client pour être en mesure de créer une application Mobile et une application Web dans la galerie, mais qui est essentiellement résoudre dans un service D'application App.

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

Caractéristiques pour le travail Mobile pour L'application Web ainsi que des Tables faciles et API facile. Et les fonctionnalités des applications API telles que API cors et API definitions fonctionnent également sur les applications web. Un client peut héberger une seule application web pour agir comme un service mobile ou une api avec toutes les fonctionnalités offertes par les services de l'application.

Nous avons également un nouveau service dans l'aperçu cibler particulièrement les applications API en offrant une expérience de gestion pour vos API, vous pouvez essentiellement contrôler les pages générer des API d'essai, recueillir des analyses d'exécution, accélérateur et bien plus encore. consultez le blog des fonctionnalités pour en savoir plus sur les fonctionnalités de gestion de L'API Azure. Et oui, vous pouvez héberger les API en tant qu'application de service D'application et connecter les choses avec la gestion des API.

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

48
répondu Chibi Chakaravarthi 2016-11-06 14:42:51

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

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

Il n'est donc plus important de savoir sur quel type de service d'application vous choisissez de déployer (sauf si vous vous souciez de l'apparence de l'icône).

Mise à JOUR

Fonction les applications sont maintenant l'exception. La création d'une application de fonction modifie l'interface utilisateur du portail. L'application web sous-jacente, cependant, n'est pas différente. Définition d'un paramètre d'application nommé FUNCTIONS_EXTENSION_VERSION = ~1 transforme n'importe quelle application web en une application de fonction (moins l'interface utilisateur dans le portail).

47
répondu gregjhogan 2017-04-02 04:50:44

Il existe de nombreuses différences mineures entre les API Web et les applications API, mais les différences les plus notables et les plus importantes sont

  1. Implémentation Native Swagger-lorsque vous créez une application API dans Visual studio, la référence swagger vient par défaut. Swagger fournit des fonctionnalités très conviviales aux développeurs pour que les consommateurs D'API puissent 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 (client basé sur. net et client basé sur Javascript) qui facilite l'appel des API comme un appel de méthode. Remarque: l'implémentation de Swagger sur L'API Web régulière est possible manuellement.

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

Cette vidéo de 15 minutes de Channel 9 donne un excellent aperçu des applications Api.

8
répondu Venkatesh Muniyandi 2016-06-11 19:30:11

Cela peut dépendre de ce que vous essayez de faire, mais vous utiliserez une API Web lorsque vous créez un service. ASP.Net API Web est un cadre pour la construction de services HTTP qui peuvent être consommés par un large éventail de clients. Cela vous permet de le créer non seulement pour une application web,mais aussi de l'ouvrir pour vous connecter à des applications Android, iOS, Web apps, Windows 8 apps, WPF apps, 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
répondu Daniel Egan 2015-07-13 16:24:42

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

Pour résumer:

"les principales fonctionnalités des applications API – authentification, CORS et métadonnées API - ont été transférées directement dans App Service. Avec ce changement, les fonctionnalités sont disponibles sur les applications Web, mobiles et API. En fait, tous les trois partagent le même Microsoft.Type de ressource Web / sites dans le Gestionnaire de ressources."

Et voici une autre note importante:

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

1
répondu Rudy Scoggins 2016-10-14 16:15:46

En fait, vous pouvez déployer votre WebAPI aspnet sur Azure WebApp et un auto-hôte sur les rôles de travail.

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

0
répondu Thiago Custodio 2015-07-13 15:29:33