Build 2016 : ASP.NET Overview B810

L’équipe ASP.NET a annoncé il y a quelques semaines un changement important de nommage au niveau ASP.net. ASP.NET 5 a été renommé en ASP.NET 1.0 Core. Comme je l’avais indiqué à ce moment-là, ce changement est vraiment pertinent afin de clairement indiquer qu’ASP.NET 5 n’est pas le successeur d’ASP.net 4.6.

Il s’agit d’une nouvelle version, cross-plate-forme.différente de la version 4.6 et qui ne couvre pas le périmètre fonctionnel d’ASP.net 4.6.

Il est important de noter qu’ASP.net Core fonctionne certes sur le NET 1.0 Core mais il peut également fonctionner sur le framework .NET 4.6 traditionnel sous Windows.

A l’heure actuelle, .NET Core 1.0 et ASP.NET Core 1.0 ne sont pas disponible en RTM, seuls les frameworks sous Windows que nous connaissons le sont.

A noter qu’ensemble des framework “Core” sont disponibles en Open Source, ainsi qu’ASP.net 4.6. Et on parle bien ici, de “vrai” Open Source, le code source est réellement ouvert à contribution de chacun.

ASP.NET Core 1.0 est basé sur une architecture totalement modulaire, l’idée est de vous permettre de construire votre propre “stack” ASP.NET en y incluant les modules de Microsoft que vous souhaitez, mais également des modules tiers. Il est ainsi possible d’avoir une version très spécialisée en fonction de vos besoins.

Par défaut, aucun module n’est chargé et ASP.net 1.0 Core ne gère “pas grand-chose”, pas de gestion de pages d’erreurs, pas de gestion de pages statiques.

Afin de simplifier l’adoption de Visual Studio pour les développeurs “non-microsoft” de très importants efforts ont été fait au sujet de l’installation.

VS15 propose en effet un nouveau programme d’installation plus léger et surtout vraiment beaucoup plus rapide. Installer Visual Studio en moins de 3 minutes est à présent possible :

 

L’ouverture d’ASP.NET s’illustre par différents points :

  • La manière de l’utiliser. Vous pouvez récupérer la version d’ASP.NET proposé par défaut mais également récupérer les builds issus du processus de CI de Microsoft, ou encore compiler directement vous-même le sources du framework :

image

  • Il est également possible d’utiliser vos éditeurs code favoris (ex : sublime) via le projet Omnisharp
  • Et enfin, cette ouverture s’illustre par l’adoption des “standards” du web (npm, bower, less, sass, etc.)

ASP.NET 1.0 Core se base sur un nouveau type de projet. Fini les traditionnels fichiers .csproj ou .vbproj contenant une description au format msbuild (fichier XML), les fichiers de projets sont à présent au format .json afin d’être plus lisible et plus facilement outillables sur l’ensemble des plates-formes supportées.

A noter que l’inclusion des fichiers au sein des projets est inversée par rapport à ce que Visual Studio faisait avec les .csproj. Au lieu d’indiquer l’ensemble des fichiers inclus dans le projet, les fichiers présents dans le dossier du projet sont automatiquement inclus, on indique uniquement les fichiers qui en sont exclus.

Visual Studio permet d’utiliser bower et npm afin de gérer les packages clients, nuget étant uniquement pour les packages .net.

ASP.NET Core propose de nouveaux tag helpers afin d’éviter de trop polluer le code HTML des vues avec du code C#. L’idée est de simplifier le code afin d’avoir une vue HTML qui continue de ressembler à l’HTML.

Une utilisation pertinente de l’ajout du support de Bash sous Windows a également été montrée. Installer redis sous Windows est à présent très simple puisqu’il suffit de faire un apt-get !

A noter qu’il est possible assez simplement d’utiliser redis en local sur son poste de développement puis d’utiliser une instance sur le cloud sans modification de votre applicatif. Un bel exemple d’intégration de technologies tierces directement au sein d’ASP.NET.

Afin de montrer la souplesse d’ASP.NET Core et la non-adhérence à une plate-forme spécifique, une démonstration a été faite de l’utilisation d’un raspberry 3 en tant que serveur ASP.NET ! Une démonstration qui n’est pas sans rappeler la mise en place d’un serveur ASP.NET basé sur Mono et fonctionnant sous XBOX faite il y a quelques années par @jbevain Clignement d'œil

Visual Studio proposera un support intéressant de Docker pour Windows. L’intégration proposée, permet d’ajouter le support de Docker au niveau d’un projet ASP.NET Core, et de démarrer une session de debug qui va automatiquement mettre en place et configurer un container Docker (sous Linux par exemple), effectuer le déploiement et lancer le débug de l’application ainsi déployée.

Il sera donc possible d’utiliser Docker et de bénéficier de tous les avantages de l’utilisation de Containers ! Une démonstration intéressante d’hébergement de déploiement d’une application ASP.NET Core dans des containers déployés sur Azure et sur Amazon a été faite en fin de session afin de démontrer la possibilité d’automatiser ce type de déploiement et ainsi avoir une application résiliente dont la charge est répartie sur deux fournisseurs de cloud différents.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *