API MVC vs. Web : quelle technologie ASP.NET devriez-vous utiliser ?


Dans cet article, nous parlerons des différences entre le contrôleur de vue modèle ASP.NET (MVC) et l’API Web ASP.NET, et que vous devriez utiliser pour différentes exigences. Avant d’aller plus loin, obtenons une brève introduction de ce qu’est réellement MVC.

MVC ou Model-View-Controller est ce qui divise réellement une application.

  • Modèle – Ce sont des objets qui récupèrent l’état du modèle dans la base de données, c’est-à-dire qu’il récupère les données de la base de données, effectue une opération particulière et stocke les données dans la base de données.
  • Vue – Ici, les développeurs peuvent « visualiser » l’interface utilisateur ou l’interface utilisateur des applications créées par le modèle de données.
  • Contrôleurs – Les contrôleurs ou composants gèrent l’interaction utilisateur, gèrent les valeurs de chaîne de requête et transfèrent les valeurs dans des modèles.

Vous trouvez MVC dans l’assembly « System.Web.MVC ». Le framework MVC utilise les fonctionnalités ASP.NET telles que l’authentification basée sur les membres, les pages maîtres, etc. Vous pouvez essayer les différentes options d’ASP.NET pour créer des applications Web avec des formulaires Web ASP.NET.

Grâce à l’API Web ASP.NET, vous pouvez afficher des formes de données telles que XML et JSON. Ce framework est open-source, utilise le service HTTP et répondre aux demandes des clients est un jeu d’enfant. Les requêtes elles-mêmes (par exemple, Get, Post, Delete, Put, etc.) sont gérées à l’aide de protocoles HTTP. L’API Web ASP.NET peut être hébergée sur IIS ou dans l’application.

Les débutants sont généralement confus sur le choix de la technologie ASPNET à utiliser. Voici quelques cas où vous pouvez utiliser chacune de ces technologies.

1) Le processus d’exposition de la fonctionnalité

Les contrôleurs ASP.NET MVC seraient un bon choix (1) si vous cherchez à exposer une fonctionnalité dans une seule application ou (2) si elle doit être utilisée comme fonctionnalité générique sur n’importe quelle application. Vous pouvez gagner du temps de cette façon car vous n’avez pas besoin de créer une nouvelle API pour exposer les fonctionnalités à chaque fois. Normalement, un contrôleur est attaché à une application Web particulière et il expose des fonctionnalités à utiliser rapidement via Ajax.

Si vous cherchez à créer un service REST à part entière, non attaché à une seule application, vous pouvez utiliser l’API Web, car elle offre une solution élégante et soignée.

Si la fonctionnalité est centrée sur l’interface utilisateur ou la vue, comme le chargement de fragments HTML ou la création de pages pilotées par AJAX, ASP.NET MVC est un meilleur choix. L’API Web serait un bon choix lorsque vous créez un service RESTful autonome.

Si la fonctionnalité est centrée sur les données, choisissez les serveurs d’API Web. Exemple, opérations CRUD. Dans les applications MVC normales, seuls les contrôleurs suffisent pour renvoyer à la fois les données et les vues.

2) Les formats de données à traiter

Les contrôleurs renvoient soit ActionResult, soit JsonResult, ce qui signifie que la sortie du contrôleur peut être un balisage HTML ou des données au format JSON. Si l’un de ces formats de données suffit, vous pouvez utiliser des méthodes d’action pour exposer les fonctionnalités. Cependant, lorsque plusieurs formats de données sont impliqués, l’API Web serait le meilleur choix. En effet, cette technologie peut décider automatiquement du format Web en regardant l’en-tête Accepter. Dans le contrôleur MVC, vous devrez spécifier spécifiquement le format de données pour écrire les méthodes d’action.

L’API Web peut être utilisée pour générer des services HTTP qui répondent uniquement aux données, mais MVC conviendrait au développement d’applications Web qui répondent à la fois sous forme de vues et de données.

L’API Web examine l’en-tête Accept de la demande qui renvoie les données dans différents formats, afin qu’elle puisse les renvoyer dans différents formats, tels que XML, JSON, etc. Mais pour MVC, les données renvoyées sont uniquement au format JSON en utilisant JSONResult.

3) Lorsque vous combinez MVC et Web API

Les développeurs peuvent profiter de quelques avantages lorsqu’ils combinent à la fois le contrôleur MVC et l’API.

(1) Vous pouvez gérer les requêtes AJAX et renvoyer la réponse dans plusieurs formats lorsque vous combinez les deux.

(2) Vous pouvez créer deux filtres différents pour l’autorisation d’une application. Les demandes sont mappées aux actions sur les verbes HTTP, mais elles sont mappées au nom des actions dans MVC. Vous pouvez utiliser l’API en tant que couche de service autonome et elle peut également être utilisée avec ASP.NET.

La liaison de modèle, le routage et les filtres sont tous différents dans l’API Web et existent dans l’assembly System.web.http. Ces fonctionnalités existent dans le framework System.web.MVC dans MVC.

4) Si vous avez besoin d’un auto-hébergement


Comme vous le savez, le contrôleur, une partie des applications ASP.NET MVC a besoin d’IIS comme environnement d’hébergement. Cependant, l’API est un cadre de service et vous pouvez l’héberger vous-même. Cela le rend léger, car vous pouvez éviter les frais généraux d’IIS. C’est un excellent choix lorsque votre application doit être publiée sur un certain nombre de plates-formes : applications de bureau, applications Web, applications de console, etc.

Pensées de clôture

Vous pouvez choisir l’API Web si vous générez un service HTTP complet comme Flickr, Amazon, Delicious, etc. C’est également un bon choix si vous avez besoin de négocier le contenu. La négociation de contenu est un processus de retour de contenu dans un format mentionné par Accept Header. Cependant, vous n’en aurez peut-être pas besoin pour tous vos projets, car l’envoi de données au format JSON et XML est principalement ce qui est requis. Avec l’API Web, vous avez la possibilité d’envoyer le contenu dans une variété de formats, y compris des images et des fichiers.

WebAPI est peut-être un meilleur cadre lorsque vous souhaitez exposer vos données et services à divers appareils. Et c’est open source, et donc la plate-forme parfaite pour créer des services RESTful sur le framework DotNet. Et vous n’avez pas besoin d’effectuer de paramètres de configuration supplémentaires pour chaque appareil séparément. De nos jours, les gens préfèrent utiliser davantage d’applications mobiles que les applications de bureau, et il devient donc très important de développer les deux types d’applications.

MVC, d’autre part, fournit une séparation nette des préoccupations, permet un contrôle total sur le rendu HTML, permet une intégration facile avec les frameworks Javascript et permet le développement piloté par les tests.

Articles intéressants:
Pourquoi l’API Web est-elle meilleure que MVC
Brèves remarques sur MVC vs API

Source de l’image : Flickr.com/ Dennis/ Yamashita


L’auteur : Reema Oamkumar est engagée en tant que leader d’opinion sur www.Software-Developer-India.com qui fait partie du groupe YUHIRO. YUHIRO est une entreprise germano-indienne qui fournit des programmeurs aux sociétés informatiques, aux agences et aux services informatiques.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.