Microsoft annonce la disponibilité des RC de .Net Core 5 et ASP.NET 5
Sur Windows, Mac OS X et Linux

Le , par Stéphane le calme

81PARTAGES

7  0 
Le .NET Core est une version modulaire du .NET Framework portable sur plusieurs plateformes pour optimiser le partage et la réutilisation du code. Aussi, il fournit des fonctionnalités clés pour implémenter les fonctionnalités d'application dont vous avez besoin, et pour réutiliser ce code, quelle que soit la cible de votre plateforme.

L’ambition de Microsoft est de rendre .NET accessible à un nombre plus important de développeurs, sous plusieurs plateformes, y compris Linux et Mac. Raison pour laquelle pendant la première journée de l’édition 2015 de sa conférence Build, Microsoft a levé le voile sur la déclinaison de .NET Core pour les utilisateurs de Linux et Mac. Si les utilisateurs sur Windows ont eu droit à une RC de .NET Core, sur les écosystèmes Linux et Mac OS X cet outil était encore en préversion.

En février dernier, Microsoft a publié en open source .NET CoreCLR, le moteur d’exécution de la déclinaison open source de .NET, avec son code source. Ce moteur peut être comparé à la machine virtuelle Java par rapport au rôle qu’il joue. Lorsqu’une application .NET ASP.NET 5 est exécutée, par exemple, au-dessus de .NET Core, c’est CoreCLR qui est responsable de l’exécution du code de l’application, en plus des bibliothèques CoreFX/BCL. Il fournit des fonctionnalités comme le garbage collector (ramasse-miettes), le compilateur RyuJIT (nouveau compilateur JIT de Microsoft, permettant une amélioration de près de 30 % des performances des applications lors du démarrage, native interop et de nombreux autres composants d’exécution pour .NET.

Durant l’édition 2015 de sa conférence Connect dédiée aux développeurs, Microsoft a avancé que les RC de .Net Core 5 et ASP.NET 5 sont disponibles pour tous ces écosystèmes (Windows, Mac OS X et Linux) sans pour autant donner un délai quant à la disponibilité générale de ces outils.

Parce qu’il s’agit là d’une implémentation entière de .NET Core avec une licence Go Live (qui signifie que la licence vous permet d’utiliser le logiciel en production), les développeurs peuvent donc commencer à l’utiliser dans des environnements de production.

Microsoft a commenté en avançant que « la grande nouvelle fonctionnalité ici est que les produits apportent une licence Go Live qui permet aux clients de faire des déploiements en production, ce qui nous permet d’avoir des retours d’utilisation dans le monde réel sur la façon dont ces systèmes d’exploitation opèrent dans des environnements de production. La chose la plus importante à comprendre est que .Net Core est désormais une fonctionnalité complète sur ces trois systèmes d’exploitation et embarque de nouvelles API. Parmi elles figurent des API clés pour la localisation et le réseautage. ASP.Net 5 a vu son modèle d’hébergement modifié pour Mac OS X, Linux et Windows ».

ASP.NET 5 RC embarque des améliorations à la fois sur l’environnement d’exécution et sur les outils, avec un modèle d’hébergement simplifié pour les trois systèmes d’exploitation. Côté outils, Microsoft parle d’une amélioration de l’expérience Visual Studio notamment avec l’intégration des snippets Bootstrap. « Pour aider les développeurs à concevoir des applications web avec des interfaces responsives qui fonctionnent indépendamment du dispositif, nous lançons les snippets bootstrap comme étant des extensions recommandées lorsque vous commencez à éditer vos pages HTML ou CSHTML dans un projet ASP.NET 5. Vous recevrez une suggestion au-dessus de l’éditeur Visual Studio qui vous indiquera que les extensions recommandées sont disponibles. Si vous acceptez cette suggestion, une fenêtre qui va vous montrer lesdites extensions va apparaître ».


Cette installation des extensions n’a besoin d’être effectuée qu’une seule fois par installation Visual Studio, elle n’a donc pas besoin d’être répétée pour tous les projets. La résultante est un ensemble de près de 40 snippets HTML qui seront ajoutés à la boîte à outils de Visual Studio pour les pages HTML et CSHTML afin de vous aider à créer des widgets et des mises en page en utilisant le framework CSS Bootstrap.

Du côté de l’environnement d’exécution, Microsoft évoque entre autres un modèle d’hébergement transparent d’application DNX. « Afin de nous aligner encore plus étroitement avec la syntaxe du point d’entrée d’une application dans d’autres versions du CLR, un nouveau point d’entrée application web a été apporté à la syntaxe familière ‘static void main’. À compter de cette version des modèles ASP.NET 5, vous verrez une seule ligne à la fin du fichier Startup.cs

Code : Sélectionner tout
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
Cette instruction permet de donner au dnx un point d’entrée clair dans votre code pour commencer l’application web. En option, vous pouvez le convertir en une méthode explicite dans la balise ‘body’ pour effectuer toute autre tâche que vous voudrez que votre application gère avant que ne soit initialisée votre application web et toutes les autres méthodes dans la classe Startup. Une autre option avec la méthode Main serait de retourner un entier au lieu de ‘void’ si vous souhaitez être en mesure de signaler des erreurs de code dans votre application ».

Source : blog MSDN

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Aeson
Nouveau Candidat au Club https://www.developpez.com
Le 19/11/2015 à 16:01
Ils n'y vont pas a moitier quand ils changent chez Microsoft.

Qui aurait pensé un jour voir Microsoft collaborer avec Google sur un projet OpenSource ?? (Angular 2).

Voir une presentation d'un produit openSource faites par des dev de Microsoft et Google en meme temp

Je suis impatient de faire tourner des app en .Net Core sur W2016 / Azure Stack....

C'est pas demain que je changerais de technos en tous cas.
3  0 
Avatar de Aeson
Nouveau Candidat au Club https://www.developpez.com
Le 19/11/2015 à 16:16
Parce je pense que le monde de Linux n'a pas besoin de ce framework.
Non mais les developpeurs .Net on besoin de Linux dans certains cas (Le cloud par exemple).
2  2 
Avatar de Lutarez
Membre chevronné https://www.developpez.com
Le 19/11/2015 à 20:54
A noter également que le compilateur AOT (.Net Native) est lui aussi devenu un projet open-source depuis hier
Source : Twitter
3  0 
Avatar de kilroyFR
Membre éclairé https://www.developpez.com
Le 19/11/2015 à 22:12
encore une nouvelle syntaxe barbare a la M$ !
1  14 
Avatar de Bono_BX
Membre confirmé https://www.developpez.com
Le 19/11/2015 à 23:22
Citation Envoyé par kilroyFR Voir le message
encore une nouvelle syntaxe barbare a la M$ !
Qui sera tellement barbare qu'elle sera reprise plus tard par les pro / sectaire de l'open source en arguant que c'est tout nouveau et que c'est eux qui ont tout inventé, comme d'habitude ... (voir HTML 5)
Et sinon, tu peux argumenter STP ?
5  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 20/11/2015 à 0:25
Citation Envoyé par kilroyFR Voir le message
encore une nouvelle syntaxe barbare a la M$ !
De quelle syntaxe parles-tu ? Cet article ne parle pas des langages, mais de la plateforme .NET

Il y a toutes sortes de langages basés sur .NET, avec des syntaxes très différentes (C#, VB.NET, F#, C++/CLI, Nemerle...). Après, on peut aimer ou non la syntaxe de ces langages, mais C# par exemple a des qualités largement reconnues, et de nombreux langages récents s'en inspirent (Swift, ECMAScript...)

Au passage, la syntaxe de ces langages ne sort pas de nulle part. Celle de C# est largement inspiré de Java et de C++, F# a une syntaxe presque identique à OCaml, etc. Donc je ne vois pas trop en quoi ils ont une syntaxe "a la M$" (sic).

Bref, renseigne-toi un minimum avant de troller gratuitement
10  0 
Avatar de mermich
Membre expérimenté https://www.developpez.com
Le 20/11/2015 à 18:23
C'est moi ou les troll/ignares sont de plus en plus nombreux(en proportion) avec les annees ?

C'est le second effet de la democratisation du metier d'informatitien/de dvp ?
2  2 
Avatar de kilroyFR
Membre éclairé https://www.developpez.com
Le 20/11/2015 à 22:18
Pas un troll et c'etait pas non plus pour me faire insulter, juste pour donner mon avis sur les expressions lambdas et autre LINQ que je trouve particulierement penibles a lire dans certaines situations.
Il y a 25 ans quand on ecrivait un programme en C qui tenait sur une ligne (alors qu'on pouvait l'ecrire plus lisiblement en 5-10 lignes) on nous reprochait que c'etait difficilement maintenable.
Quand je vois certaines syntaxes (ex: LINQ : strSignature = Signature.Aggregate(strSignature, (current, Byte_L) => current + Byte_L.ToString("X2")
je me dis qu'on n'a pas vraiment fait de progres (ca glorifie certainement l'ego de certains de croire qu'ils sont les rois du monde ou des artistes (merci Resharper) parce qu'ils arrivent a condenser un maximum de chose dans un minimum de syntaxe).
Ce n'est pas un critere pour moi; je prefere quelque chose de maintenable par le plus grand nombre que d'utiliser des syntaxes pour le moins cabalistiques quelques fois.

Et le bout de code montré m'a fait pensé a ceci. C'est tout.
2  2 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 21/11/2015 à 12:10
Citation Envoyé par kilroyFR Voir le message
Quand je vois certaines syntaxes (ex: LINQ : strSignature = Signature.Aggregate(strSignature, (current, Byte_L) => current + Byte_L.ToString("X2")
je me dis qu'on n'a pas vraiment fait de progres
C'est un exemple un peu caricatural (la méthode Aggregate n'est pas la plus intuitive, et d'ailleurs la plupart des gens l'utilisent rarement)... Pour ma part je trouve ce code tout à fait lisible, c'est juste une question d'habitude.

Après évidemment il ne faut pas abuser des expressions lambda, mais c'est une feature extrêmement utile. Quand c'est utilisé à bon escient, ça permet de faire des choses qui seraient assez complexes à faire autrement (par exemple dès que tu commences à capturer des variables locales dans une lambda, ce serait super galère d'écrire un code équivalent sans lambda).

Quant à Linq, je trouve ce code :
Code : Sélectionner tout
var names = people.Where(p => p.Age > 18).Select(p => p.Name).ToList();
Beaucoup plus lisible et expressif que celui ci :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
var names = new List<string>();
foreach (var p in people)
{
    if (p.Age > 18)
    {
        names.Add(p.Name);
    }
}
Et concernant ReSharper, il ne faut pas appliquer toutes ses suggestions sans réfléchir... il te propose des trucs, après c'est à toi de voir si tu les veux ou pas. Il ne réfléchit pas à ta place !
3  1 
Avatar de youtpout978
Membre expert https://www.developpez.com
Le 23/11/2015 à 9:26
Bonjour,

je travaille actuellement sur Apache et je crée des sites Web avec Angular, actuellement j'ai des problèmes de SEO à cause du routage Angular, je serai donc intéressé par mettre en place Asp.net afin de l'utiliser pour le routage et la génération des balises meta dans le header des pages web, je voulais savoir si quelqu'un avais déjà déployé un site Asp.net en prod sur un serveur Apache (environnement Linux), si c'était vraiment exploitable en production.
1  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web