Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. ASP.NET Core MVC
  3. Introduction
Extrait - ASP.NET Core MVC Maîtrisez ce framework web puissant, ouvert et multiplateforme (3e édition)
Extraits du livre
ASP.NET Core MVC Maîtrisez ce framework web puissant, ouvert et multiplateforme (3e édition) Revenir à la page d'achat du livre

Introduction

Avant-propos

« There are only two hard things in Computer Science : cache invalidation and naming things » (Phil Karlton).

Tout bon développeur le sait, le nommage est une chose importante et doit refléter le plus précisément possible l’intention de l’auteur. Il en va de même pour les frameworks et les technologies créés au travers de l’histoire de l’informatique. 

Intitulé d’abord .NET Core 5 (tout comme ASP.NET 5 et Entity Framework 7), les équipes ont jugé bon de changer totalement le nom de la nouvelle version d’ASP.NET, car non, ASP.NET 5 n’est pas plus grand ni plus complet, il est juste différent. Le fait alors de garder exactement le même nom en changeant juste le numéro de version n’était pas pertinent. Courant juillet 2016, ASP.NET 5 est alors devenu ASP.NET Core, et avec lui s’est ouverte une toute nouvelle page de l’histoire du framework .NET et de Microsoft.

Mettons tout de suite les choses bien au clair : le framework .NET classique n’est pas mort. Des milliers de systèmes informatiques fonctionnent sous ce framework, et continueront toujours de tourner. L’avènement de .NET Core ne signifie pas la mort de tous les anciens programmes développés avant, et le framework .NET continuera d’évoluer et de grandir....

L’arrivée de .NET Core

.NET Core consiste en un framework de développement multiplateforme, conçu par les équipes de Microsoft, permettant de développer des sites web, des services et des applications console. Cela peut paraître simpliste à première vue, mais .NET Core possède beaucoup de différences majeures avec son aîné.

images/CH01P04IMG01.png

Schéma récapitulatif de .NET Core dans l’écosystème Microsoft

La première différence majeure avec le framework .NET est sa capacité à s’exécuter partout sur n’importe quelle plateforme. En effet, les développeurs désirant développer avec le framework .NET ne pourront que créer des applications fonctionnant sur Windows, ce qui convient très bien pour des applications WPF, WinForms ou WCF. La version Core est, elle, capable de s’exécuter autant sur un Linux que sur un Windows ou sur un Mac, le rendant ainsi complètement portable d’un système à un autre.

Sa portabilité est une caractéristique qu’il faut prendre en compte lorsqu’on souhaite utiliser des API spécifiques à une plateforme. Si l’API en question n’est pas supportée par toutes les plateformes, il est certain qu’elle ne sera pas présente dans .NET Core. Le framework .NET supporte, lui, absolument...

La surcouche ASP.NET Core

L’une des premières technologies introduites dans le framework fut ASP.NET. ASP.NET Core est lui-même également un framework reposant sur .NET Core, permettant de créer des applications web, IoT ou encore des backends mobiles. À lui tout seul, il permet :

  • d’unifier les API UI et Web API ;

  • d’intégrer des frameworks de développement Front ;

  • de profiter d’un système de configuration cloud-ready ;

  • de profiter de l’injection de dépendances ;

  • d’héberger l’application avec Nginx, IIS, Docker, etc. ; 

  • de s’intégrer facilement dans chaque parcelle de la requête HTTP afin de la traiter ou la modifier.

Ce framework est résolument tourné vers l’open source et possède d’innombrables dépôts GitHub auxquels chacun peut contribuer : https://github.com/aspnet

Avec ceci, les équipes de Microsoft organisent régulièrement des Community Standup permettant aux développeurs de la communauté de connaître les avancées décisionnelles et techniques de la plateforme : https://live.asp.net/. Ces vidéos sont des moments d’échanges privilégiés et conviviaux entre les équipes et le reste du monde. Cela permet aussi de connaître les personnes derrière les technologies...

Le renouveau d’un écosystème

La volonté de Microsoft est de pousser ses outils sur un maximum de plateformes afin d’agrandir son écosystème et ainsi toucher plus de professionnels de l’informatique (développeur, architecte, décideur IT...). De plus, avec l’ouverture vers l’open source, Microsoft profite d’une communauté grandissante et d’experts contribuant à ses projets GitHub. On rappelle que VS Code est le repository avec le plus de contributions, et la totalité du framework ASP.NET Core est sur GitHub. La firme de Redmond est ainsi devenue le plus gros contributeur sur la planète open source, et avec l’acquisition de GitHub l’entreprise américaine compte bien investir de plus en plus dans ce secteur en l’intégrant mieux encore dans son écosystème.

De nouvelles architectures voient le jour et d’autres se distinguent clairement sur des marchés en pleine expansion. Entre le x64 dominant le marché du cloud, des serveurs et des ordinateurs et l’ARM sur les smartphones et tablettes, les technologies logicielles doivent s’adapter afin de profiter au mieux d’une expérience commune, quelle que soit l’architecture sous-jacente. N’oublions pas l’IoT, qui pousse de plus en plus l’ARM, et permettant ainsi d’avoir une connectivité plus grande...

La convergence avec .NET 5

Jusqu’à la version 3.1 de .NET Core, le framework est appelé .NET Core et avec lui l’ensemble des outils et SDK associés tels qu’Entity Framework Core ou encore ASP.NET Core. À cette époque, les librairies .NET appelées .NET Standard se répandaient et profitaient d’une couverture d’API importante au sein de la BCL. Avec .NET Standard, il est possible pour le développeur de créer des librairies réutilisables sur la quasi-totalité de l’écosystème .NET.

Pour rappel, .NET Standard - comme son nom l’indique - est un standard, une sorte d’abstraction que chaque plateforme sous-jacente doit implémenter pour profiter de la réusabilité sur tout l’écosystème. Ainsi, des technologies telles qu’ASP.NET Core, Xamarin ou encore UWP implémentent ce standard, permettant ainsi aux développeurs de créer des librairies de type .NET Standard et d’être ainsi utilisables sur toutes les plateformes qui supportent .NET Standard. La version de .NET Standard est également une dimension importante, puisque le développeur doit cibler une version qui réponde aux versions supportées par les plateformes qu’il souhaite cibler. Par exemple, il ne pourra pas créer une librairie .NET Standard 2.0 pour une application ASP.NET Core 2, car .NET Core 2 n’implémente pas le standard dans sa version 1.6. La matrice ci-dessous montre la correspondance entre .NET Standard et l’écosystème....