En tant que développeur .NET où je me situe dans ce monde en constante évolution où la frontière est devenu floue où Microsoft parle de profonde transformation et s’ouvre de plus en plus aux plates-formes concurrentes ? Dans ce Keynote consacré à la plate-forme.NET, nous essaierons d’y répondre, en faisant un tour d’horizon de toutes les innovations présentes et futures et de vous convaincre que le développeur .NET est au cœur de notre stratégie.
4. tech.days 2015#mstechdays
Innovation pour le présent et le
futur
Mise à jour continues et
modulaires
Transparent, ouvert
Innovation .NET
Flexibilité et agilité
Ouverture
Notre nouvelle approche
OSS
.NET
5. tech.days 2015#mstechdays
Ouverture
Common
Runtime Compilateurs Librairies
Next gen JIT (“RyuJIT”)
SIMD (Données en parallèle)
NET Compiler Platform (“Roslyn”)
Innovation des langages
BCL et PCL
Entity Framework
Optimisé pour les appareils mobiles
• Compilation native
• Epreinte réduite, côte à côte
• Prêt pour tout appareils
Optimisé pour le cloud/serveurs
• Haut débit
• Epreinte réduite, côte à côte
• Prêt pour tout appareils
Windows Store, WPF, Windows
Forms, App Console, etc..
ASP.NET 5 et ASP.4.6 (Web Form,
MVC, WebPage, Web Api, SignalR),
WCF
13. SIMD est exposé
public struct Vector<T> where T : struct
{
public Vector(T value);
public Vector(T[] values);
public Vector(T[] values, int index);
public static int Length { get; }
public T this[int index] { get; }
// With SIMD, these element wise operations are done in parallel:
public static Vector<T> operator +(Vector<T> left, Vector<T> right);
public static Vector<T> operator *(Vector<T> left, Vector<T> right);
// ...
}
Longueur est fixe,
mais dépendant du
hardware
14. float[] values = GetValues();
float increment = GetIncrement();
float[] result = new float[values.Length]
// Perform addition as manual loop:
for (int i = 0; i < values.Length; i++) {
values[i] += increment;
}
Vector<float> values = GetValues();
Vector<float> increment = GetIncrement();
// Perform addition as vector operation:
Vector<float> result = values + increment;
SIMD utilisation dans du code
Code non vectoriel, calcule d’une
valeur à la fois
En utilisant Vector<T>
on calcule de multiples
valeurs en une seule
passe simultanément.
17. tech.days 2015#mstechdays
.Net Framework .Net Core Avantages
Complet Modulaire • Léger, optimisé
• Versionnement par module
Machine
Application
(packages nuget)
• Local à l’application
• Exécution de versions
différentes sur la même
machine
Celle du .Net
Framework
Libre
Nouveautés disponibles +
rapidement
Oui Non
Nouveautés utilisables +
rapidement
Installer le .Net
Framework
L’app s’auto-suffit Souplesse d’hébergement
18. tech.days 2015#mstechdays
.Net Framework .Net Core Avantage
Windows
Windows
Linux
Mac
Non
Oui
(GitHub)
• X-Plat : Bénéficier de l’expérience des
communautés open-source sur les autres
plateformes (Mono, …)
• Cycle de detection de bugs & fix + rapides
• Pas de cloisonnement
20. tech.days 2015#mstechdays
Indépendant de l’éditeur
Open Source
avec contributions Cross-PlatformOSS
Cloud-ready
Cycles de développement
optimisés
Totalement modulaire
Performant
22. tech.days 2015#mstechdays
Un outil qui transforme votre code C# en un
exécutable natif ultra optimisé!
La productivité de .NET
… les performances de C++ !
23. tech.days 2015#mstechdays
Compilateur C++ et Runtime optimiséPerformances
C# + Visual Studio + développeurs =Productivité
C#
Tout est embarqué, sans dépendanceIndépendance
Uniquement le code utilisé est embarquéEmpreinte mémoire
32. tech.days 2015#mstechdays
La fondation .NET
.NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn")
.NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVC
ASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
Composition (MEF2)
Entity Framework
Linq to Hive
MEF (Managed Extensibility Framework)
OWIN Authentication Middleware
Rx (Reactive Extensions)
Web Protection Library
Windows Azure .NET SDK
Windows Phone Toolkit
WnsRecipe
Mimekit Xamarin.Auth
Xamarin.Mobile
Couchbase for .NET
Miguel de Icaza (Xamarin)
Laurent Bugnion (IdentityMine)
Niels Hartvig (Umbraco)
Anthony van der Hoorn (Glimpse)
Paul Betts (GitHub)
Nigel Sampson (Compiled Experience)
http://www.dotnetfoundation.org
Mailkit
System.Drawing
33. .NET 2015 une nouvelle ère
Nouveautés C# 6
ASP.NET 5 .NET sur Linux
Visual Studio 2015
ASP.NET MVC 6
Entity Framework 7.0
Cortana
Kinect for Windows V2
Introduction aux applications universelles
ASP.NET Web API & Azure API Management
Développer des applications Windows Store pour l'entreprise
Développement cross-plateforme sans compromis avec Xamarin
ASP.Net 5: la révolution est en marche