Welcome to .NET Core

Microsoft lance .NET Core RC2, ASP.NET Core RC2 et met à jour les outils de développement

Comme annoncé il y a quelques semaines, Microsoft vient de lancer ASP.NET Core RC2, .NET Core RC2, Entity Framework Core RC2, et le .NET Core SDK Preview 1.

Core dénote la refonte des technologies Microsoft pour supprimer leur dépendance à Windows et les rendre multiplateformes et en code source ouvert.

Toutes les offres énoncées sont disponibles pour Windows (Windows 7 +, Windows Server 2012 R2 +, Windows Nano Server Technical Preview 5), Linux (Red Hat Enterprise Linux 7.2, Centos 7.1, Debian 8.2 +, Ubuntu 14.04, Linux Mint 17 +) et Mac OS X 10.11.

Il s’agit de la première mise à jour majeure depuis novembre 2015, et pour Microsoft, on est très proche de la version finale des produits respectifs.

.NET Core RC2

.NET Core RC2 et .NET Core RC2 SDK Preview 1 remplacent DNX avec des librairies et des outils.

Les applications, qui peuvent être écrites en C# ou en F#, supportent désormais deux modèles de déploiement :

  • Les applications de taille minimales, qui se reposent sur une version centralisée de .NET Core, ce que Microsoft nomme mode ‘portable‘. Il s’agit du modèle par défaut.
  • Les applications qui incluent toutes les parties de .NET dont elles ont besoin pour fonctionner de manière autonome, sans dépendance avec une version centralisée. Ce que Microsoft appelle ‘self-contained‘.

L’outillage en mode de commande a été étendu pour les développeurs du monde Unix, préférant la ligne de commande, et la syntaxe s’inspire librement de Docker.

La dernière version du framework apporte plus de 1 000 nouvelles interfaces de programmation, dans le domaine de la sécurité, des entrées sorties et du développement.

Physiquement, .NET Core RC2 est un ensemble de packages Nuget.

Par défaut, Microsoft active la télémétrie, qui permet à la firme de comprendre comment .NET est utilisé, et de l’améliorer. Ce qui risque de faire hurler ceux qui pensent que la télémétrie est un risque pour la vie privée, même s’il suffit de définir la variable d’environnement DOTNET_CLI_TELEMETRY_OPTOUT à ‘true’ pour la désactiver.

ASP.NET Core RC2

Connu jusqu’à présent sous la dénomination ASP.NET 5, ASP.NET Core RC2 est la plateforme de développement pour les applications Web, entièrement réécrite par rapport à son pendant exclusif pour Windows.
Là aussi, Microsoft a créé une interface en ligne de commande, en pensant notamment aux développeurs du monde Unix. La commande ‘dotnet » remplace dnvm, dnx et dnu.
Désormais, une application ASP.NET Core est une application en ligne de commande qui appelle les librairies spécifiques d’ASP.NET. L’avantage de cette réarchitecture, est qu’une même chaine d’outils logiciels peut être utilisée aussi bien pour les applications Web, que les applications console.

Si les applications .NET peuvent utiliser le serveur Web de leur choix, Microsoft a nouvellement intégré le support d’IIS dans ASP.NET Core

Support de Core RC2 dans Visual Studio 2015 et Visual Studio Code

Microsoft a mis à jour Visual Studio 2015, et Visual Studio Code, l’environnement de développement multiplateforme gratuit et open source,  pour supporter toutes les nouveautés de. NET Core. Dans un second temps, tous les éditeurs intégrant Omnisharp seront supportés.

Le développeur n’aura pas à utiliser la ligne de commande s’il ne le souhaite pas, et pourra utiliser les habituelles commandes de lancement, de compilation et de débogage. On peut ainsi poser des points d’arrêts et inspecter la valeur des variables comme à l’habitude.

La définition des projets en json est supportée pour RC1 comme RC2.

De nouveaux modèles de projets sont disponibles, et les modes d’authentification par Active Directory et pour ‘le travail et l’école’ font leur apparition.

Entity Framework Core RC2

Entity Framework Core est un cadre logiciel qui peut remplacer aussi bien POCO (Plain Old CLR Object), un système qui facilite le stockage des objets dans des systèmes de gestion de base de données, que le mapping objet-relationnel (ORM).

Les SGBD supportés sont : Microsoft SQL Server, SQLite, Postgres, SQL Server Compact Edition, InMemory. Le support d’IBM DB2 et de MySQL est prévu prochainement.

Entity Framework 7 a aussi été renommé Entity Framework Core 1.0 pour bien rappeler que le code est entièrement nouveau, et non pas la modification de code antérieur.

Microsoft recommande son utilisation pour les nouvelles applications ne nécessitant pas les fonctionnalités qui ne sont pas encore implémentées, et les applications .NET Core, comme les applications pour la plateforme universelle Windows (UWP) et ASP.NET Core.

Pour les autres, Microsoft recommande de continuer à utiliser Entity Framework 6.x.