6. • The Open Web Interface for .NET (OWIN) et le projet Katana
• Projet Helios
• Roslyn
• RyuJIT
7. Indépendant de l’éditeur
Open Source
avec contributions Cross-PlatformOSS
Cloud-ready
Cycles de développement
optimisés
Totalement modulaire
Performant
8. Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
Libraries
9.
10. Créer un projet ZF2
Configurer le
contrôle de source
Coder
Pousser pour
déployer
Admirer ! Sites Web Azure Git
Contrôleur
Modèle
Vue
Depuis Visual Studio 2013
Philosophie “One ASP.Net” : modèle unifié, coeur partagé, extensible, side by side, tooling consolidé
Visual Studio 2013 Update 2 apporte son lot de nouveautés dans ASP.Net en général ainsi que dans l’outillage Web de Visual Studio (venant de Web Essentials)
Démo 1a : explication création d’un nouveau projet
Un seul template lançant un wizard plus complet
Ajout d’Application Insight dès la création du projet
Distinction du template des références
Possibilité de changer le type d’authentification utilisé
Possibilité d’ajouter des tests unitaires dès la création
Possibilité de déployer sur Azure
Démo 1b : création d’un nouveau projet TestAzureCamp et déploiement
Template MVC
Tests unitaires
Authentification Cloud
benjamintalmard.onmicrosoft.com
benjamin@benjamintalmard.onmicrosoft.com
mot de passe de dev
Demande publication dans Azure Web Sites
Attente création du projet
Montrer scripts et fenêtre de publication mais ne pas la lancer
Démo 2 : async
Ajout du projet existant DAL
Ajout de la référence depuis le site MVC vers DAL
BUILD
Copie de la connection string
Add New Controller > MVC 5 Controller with Entity Framework
Choix Instrument et MyModel
Use async controller action
Montrer les méthodes async et expliquer que grâce à EF6, c’est toute la chaîne qui est asynchrone
OWIN et Katana
Créer une stack modulaire pour sortir de l’approche monolithique de .NET
Utiliser seulement ce qu’on a besoin
Cycle de mise à jour plus rapide
Chacun son rôle
Host : Gestion du process et instanciation du serveur
Server : Gestion des requêtes au niveau socket pour envoi au pipeline
Middleware : composants, appelés dans un ordre donné, pour traiter la requête
Application : frameworks comme ASP.Net MVC et application
Projet Helios
Exécution d’applications ASP.Net sur IIS, en bypassant le pipeline managé
On utilise seulement le cœur natif d’IIS, qui en plus d’être très performant et éprouvé (notamment au niveau sécurité), fournit des fonctionnalités essentielles
Avantage principale : utilisation de beaucoup moins de RAM (95 % en moins) et densité de requête beaucoup plus importante
Roslyn
Compilateur MSIL « as a service » plus performant et ouvert
RyuJIT
Compilateur JIT deux fois plus performant
Totalement modulaire
On active les fonctionnalités qu’on souhaite quand on le souhaite. Fin de l’approche monolytique
On remplace des mécanismes par d’autres si besoin
Cloud ready
Version du Framework optimisé pour l’environnement serveur
Nouvelle gestion des configurations pour faciliter les migrations
Open Source
Avec contribution
Cycles de développement optimisés
Tout est diffusé via package Nuget, on peut sortir des nouvelles versions plus vite
Vous pouvez livrer votre version du Framework
Apports de Roslyn
Indépendant de l’éditeur
Isolation des fonctionnalités propres à Visual Studio dans des fichiers séparés
On peut imaginer voir la concurrence fleurir
Cross Platform
D’autres implémentations des couches basses du pipeline peuvent se substituer à IIS, sans modification du code.
Mono pour Unix et Mac fait parti des tests de l’équipe produit
Performant
Le modules non chargés, dont System.Web, ne consomment plus inutilement de la mémoire (on parle de 96% de réduction)
Le nouveau compilateur JIT réduit le temps de startup
Des versions générales, des versions spécialisées et optimisés (Cloud Optimized, .NET Native), avec un cœur plus performant.
.NET vNext
Web Forms, MVC 5, Web API 2, Web Pages 3, SignalR 2, …
.NET vNext Cloud Optimized
Subset de .NET vNext
MVC, Web API, Web Pages => MVC 6, SignalR 3, EF7
Breaking Changes
Basé sur http://www.asp.net/vnext/overview/aspnet-vnext/getting-started-with-aspnet-vnext-and-visual-studio
Démo :
Création d’un projet empty
Parler du startup.cs et du project.json
Ajouter une référence à Microsoft.ASPNet.MVC et parler du package restore
Charger et configurer MVC dans le startup.cs
Ajouter un controller Home et une vue Index dans folder Home
Modifer la vue pour afficher la date
Ctrl + F5 + ProcExp
Conclusion : que ce soit dans Azure Web Sites, dans Virtual Machine, il n’y a aucune raison que votre Framework préféré ne tourne pas sur Azure.
Pour les Frameworks populaires, on propose même des templates dans les différentes galleries