Découverte .Net Core et Asp.Net Core

21
.Net Core & Asp.Net Core 1.0 Découverte

Transcript of Découverte .Net Core et Asp.Net Core

.Net Core & Asp.Net Core 1.0Découverte

Ionut MihalceaConsultant Senior@imihalcea

Guillaume LacasaDéveloppeur Senior@glacasa

.NET CORE 1.0

La concrétisation d’une idée qui a 15 ans

Pourquoi .Net Core ?• Nouveaux scénarios :

– Commencer à coder en 10 min– Les "Self Contained" applications– Utilisation des conteneurs Docker

• Améliorations : – Portabilité -> Windows / Linux / OS X– Performances -> 6 x mieux que NodeJS - annonce MS– Approche modulaire

• Business– Acquérir des nouveaux clients– Réduire les couts de Azure

Qu’est que c’est .Net Core? = Une spécification+ Une CLR spécifique par plateforme+ Un SDK -> Une implémentation de la BCL+ C#, F#, VB+ Command Line Interface

Propriétaire Open Source

.NET FRAMEWORK .NET CORE XAMARIN

APP

MOD

ELS

BASE

LIBR

ARIE

S

Base Class Library Core Library Mono Class Library

ASP.NET

Windows FormsWPF UWP

ASP.NET Core

iOSAndroid

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

OS X

.Net aujourd’hui

Le problème

.NET

FRAMEWORK .NET CORE XAMARIN

APP

MOD

ELS

BASE

LIBR

ARIE

S

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

PCL reference assemblies

Reference

implementation

Common

Implementation 3Implementation 2

Implementation 1

.NET FRAMEWORK .NET CORE XAMARIN

.NET STANDARD LIBRARYOne library to rule them all

ASP.NET

Windows FormsWPF UWP

ASP.NET Core*

iOSAndroid

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

OS X

Le futur

Le futur

Démonstration.NET CORE SUR WINDOWS ET OSX

5 points à retenir

• Open Source • Win / Linux / OS X• Modulaire et optimisé pour le Cloud• Commande vs UI• Compilation native (a venir)

Historique d’ASP

« Classic ASP » 1.0ASP.net

Webforms1.0

ASP.net MVC 1.0

ASP.net Core 1.0

Cycle de 6-7 ans

1996 2002 2009 2016

DémonstrationASP.NET CORE ET VISUAL STUDIO 2015

Nouveau pipeline Enchainements de modules : middlewares

◦ Seuls les modules nécessaires sont appelés, définis dans la classe Startup

Plusieurs middlewares existant (NuGet)◦ Gestion des erreurs◦ Fichiers statiques◦ Identity ◦ MVC

Possibilité de créer son propre middleware

Enchainement des middlewares

DémonstrationMVC CORE

Déploiement Kestrel n’est pas fait pour être directement sur internet

DéploiementDéployable sous Windows ou LinuxDerrière un serveur web Reverse-proxy IIS / Apache / Nginx / …

◦ Sécurité◦ HTTPS◦ Compression GZIP

Conclusion

• J’ai un nouveau projet, je peux partir sur .Net Core ?

• Est-ce que mon application .Net Windows je pourrai la faire tourner sur Linux / OS X ?