Dans le doute reboot appliqué à .NET
François Bouteruche, @fbouteruche
Et si on simplifiait le développement d’applications Windows et Web ?
.NET Framework 1.0 est né
Qu’est-ce que .NET ?
Un runtime et une API.
Quels langages peut-on utiliser avec .NET?
C#, F#, Visual Basic .NET, PHP (peachpie.io)
Qui est le concepteur principal de C# à l’origine ?
Anders Hejlsberg (Turbo Pascal, Delphi, Typescript…)
A quel langage C# a été longtemps comparé ?
Java
Le runtime passe en version 1.1 (aïe)
Support d’IPv6, support d’ODBC et des bases de données Oracle…
Le runtime passe en version 2.0 (re-aïe)
Classes partielles, types nullable, méthodes anonymes, itérateurs, types génériques…
Et si on utilisait DirectX pour rendre les applications ?
Welcome Windows Presentation Foundation
Et si on supportait SOAP ?
Welcome Windows Communication Foundation
Et si on gérait des workflows ?
Welcome Workflow Foundation
Et si on faisait notre propre Flash ?
Welcome Silverlight
(désolé)
Et si on requêtait des collections d’objets avec une syntaxe SQL-like ?
Welcome LINQ
(oh yeah!!!)
Dis-donc, c’est bien hibernate ! Et si on développait un ORM ?
Welcome Entity Framework 1.0
(epic fail pour la v1)
Et si on arrêtait avec les ViewState de WebForms ?
Welcome ASP.NET MVC 1.0
(oui !!! en route vers une plateforme web moderne !)
Le runtime passe en version 4.0 (re-re-aïe)
Parallel Extensions, Parallel LINQ, Task Parallel Libray, Code Contracts…
Et si on gérait correctement les API REST ?
Welcome ASP.NET Web API
Annonce de ASP.NET vNext
Please wait while rebooting the system...Core is alive !
C’est pareil mais différent
Open source
Cross-platforme
Flexible
Performant
Tout terrain
61000 contributeurs
3700 compagnies
56 projets actifs
Test | Physical | Cloud |
---|---|---|
JSON Serialization best position | 33 | 11 |
# in Top 15 | 0 | 1 |
% of the best | 94.1% (10th 98.9%) | 89.1% (10th 89.7%) |
Single Queries best position | 32 | 28 |
# in Top 15 | 0 | 0 |
% of the best | 41.5% (10th 57.1%) | 47.7% (10th 53.2%) |
Multiples Queries best position | 37 | 18 |
# in Top 15 | 0 | 0 |
% of the best | 53.2% (10th 67.1%) | 47.% (10th 64.2%) |
Fortunes best position | 14 | 13 |
# in Top 15 | 1 | 2 |
% of the best | 42.8% (10th 46.8%) | 49.6% (10th 51.6%) |
Data Updates best position | 9 | 8 |
# in Top 15 | 4 | 4 |
% of the best | 75.7% (10th 73.0%) | 68.4% (10th 66.3%) |
Plain Text best position | 10 | 7 |
# in Top 15 | 2 | 2 |
% of the best | 99.8% (10th 99.8%) | 75.4% (10th 65.0%) |
3 implémentations du runtime
.NET Standard
.NET 5 : on unifie
Une version tous les ans
Une LTS tous les 2 ans