CONFÉRENCE : .NET CORE
DÉCOUVERTE DU DERNIER FRAMEWORK DE MICROSOFT
2
MAXIME BAUMANN
CONSULTANT JUNIOR .NET
@MBAUMANN_DEV
PRÉSENTATION
1. PRÉSENTATION GÉNÉRALE
2. NOTRE PREMIÈRE APPLICATION WEB
3. WEB API ET PORTABILITÉ
4. NOUVEAUTÉS ATTENDUES EN 2.1
3
SOMMAIRE
PRÉSENTATION GÉNÉRALE
HISTORIQUE, PHILOSOPHIE, MARCHÉ & OUTILS
4
5
HISTORIQUE DE .NET
.NET 1.0β
Nov. 2001
.NET 1.0
Fev. 2002
.NET 2.0
Nov. 2005
.NET 3.0
Nov. 2006
.NET 3.5
Nov. 2007
.NET 4.7.1
Oct. 2017
HISTORIQUE DU FRAMEWORK « CLASSIQUE »
6
HISTORIQUE DE .NET
.NET STANDARD
7
.NET SUR LE MARCHÉ
Philosophie .NET
.NET FRAMEWORK
• SPÉCIFICATIONS LIBRES (UTILISÉES PAR MONO,
XAMARIN)
• INTEROPÉRABILITÉ (JAVA.NET, IRONPYTHON)
• TOUT EN UN
• WINDOWS UNIQUEMENT, LINUX VIA MONO
• SOURCE PRIVÉE
• COMMUNAUTAIRE
.NET CORE
• SPÉCIFICATIONS LIBRES
• INTEROPÉRABILITÉ
• MODULAIRE
• CROSS-PLATFORM (WINDOWS, LINUX, RASPBERRY,
DOCKER, CLOUD, …)
• OPEN SOURCE (.NET CORE, .NET STANDARD)
• ENCORE PLUS COMMUNAUTAIRE
8
9
PHILOSOPHIE .NET
.NET FOUNDATION
10
OUTILS POUR .NET CORE
Visual Studio Dotnet CLI
Nuget IntelliJ Rider
VS Code
11
HELLO WORLD ?
NOTRE PREMIÈRE APPLICATION WEB
ARCHITECTURE ET LIBRAIRIES
12
13
• Models
• Views
• Controllers
• Services
• ViewModels
• ViewComponents
• TagHelpers
ARCHITECTURE APPLICATIVE
MVC
14
• Classes porteuses de propriétés (Entités)
• Intégration avec EntityFramework
ARCHITECTURE APPLICATIVE
MODELS
15
• Templates RAZOR (optionnel, fortement typées)
• Supportent l’injection de dépendances (services)
• Embarquent un grand nombre d’automatisations
• Supporte des « vues partielles »
ARCHITECTURE APPLICATIVE
VIEWS
16
• Classe
• Actions (Méthodes)
• Attributs
• Injection de dépendances
ARCHITECTURE APPLICATIVE
CONTROLLERS
17
• Implémentation d’un contrat (Interface)
• Service Identity
ARCHITECTURE APPLICATIVE
SERVICES
18
• Représentation d’un modèle dans une vue
• Attributs pour les règles métier
• Contrôle automatique par le Controller
• Sert au typage des vues
ARCHITECTURE APPLICATIVE
VIEWMODELS
19
• Composant applicatif
• Plusieurs vues
• Injection de dépendances
ARCHITECTURE APPLICATIVE
VIEWCOMPONENTS
20
ARCHITECTURE APPLICATIVE
• Générateur de code front-end
• Prédéfinis ou personnalisés
• Peut être utilisé dans un ViewComponent
• Cible une balise HTML ou un attribut
TAGHELPERS
21
LIBRAIRIES
PAR MICROSOFT ET LA COMMUNAUTÉ
LightInject
Entity
Framework Core
Identity Json.NET
ImageSharp log4net
Et 32000+ APIs (12000+ en 1.0)
22
DÉMO
WEB API ET PORTABILITÉ
UN ŒIL SUR REST, LES JSS ET LE MOBILE
23
24
• Ensemble de helpers
• Prend en charge les réponses HTTP
REST EN .NET CORE
25
• Lien fort entre .NET et JS
• Permet exécution de JS côté serveur
• Peut servir pour pré-rendu React et Angular
JAVASCRIPT SERVICES
26
JAVASCRIPT SERVICES
27
JAVASCRIPT SERVICES
28
• .NET Standard 2.0
• Partage des entités entre les solutions
MOBILITÉ ET PORTABILITÉ
29
DÉMO
NOUVEAUTÉS ATTENDUES EN 2.1
SIGNALR, WEBHOOKS, TESTS FONCTIONNELS
30
31
SIGNALR
• RPC
• Natif en 2.1.0
• Client JS via NPM
• Plus de dépendance à jQuery
FRAMEWORK D’APPLICATIONS EN TEMPS-RÉEL
32
SIGNALR
FRAMEWORK D’APPLICATIONS EN TEMPS-RÉEL
33
• Différents WebHooks prédéfinis : Github, Azure, Slack
WordPress, etc
• Récupérer des notifications
WEBHOOKS
34
• Gérés par Xunit
• Fixtures pour simuler un serveur
TESTS FONCTIONNELS
35
AUTRES NOUVEAUTÉS
• Razor UI
• Identity as UI
• GDPR (HTTPS plus simple, Cookie Consent, …)
• Améliorations EF Core
• Intégration IIS simplifiée
36
RESSOURCES
• https://www.microsoft.com/net/learn/get-started
• https://blogs.msdn.microsoft.com/dotnet
• https://blogs.msdn.microsoft.com/webdev
• https://www.microsoft.com/net/learn/architecture
• https://github.com/thangchung/awesome-dotnet-core
POUR ALLER PLUS LOIN
MERCI POUR VOTRE ATTENTION
DES QUESTIONS, DES REMARQUES ?
38
ALLONS PRENDRE UN VERRE !

LTA : Découverte de .NET Core

Notes de l'éditeur

  • #6 1.0 Beta: Ouverture à la communauté, Webservices 2.0: CLR v2, WinForm, ASP.NET, ADO.NET 3.0: WCF, WPF 3.5: LINQ, EF 4.7.1: Net Standard 2.0 MAJ tous les 12 à 14 mois Depuis 2.0, ajout de fonc Fwk de + en + lourd
  • #8 Classement tiobe
  • #11 Ajouter screenshots VS => RAD (Rapid Application Development)
  • #32 WebSockets Server-Sent Events Forever Frame (IE) AJAX Long Polling