Version 1 : Visual Studio .NET

Le grand lancement !

Microsoft revoie entièrement sa copie et propose une toute nouvelle plateforme de développement d'applications basées sur le tout aussi nouveau langage C#, inspirée de Java (Framework portable, intégration des standards, programmation orientée objet, syntaxe similaire (inspirée du C) Garbage collector, etc.). Visual Studio, le nouvel IDE (Environnement de Développement Intégré), séduit, notamment avec le DataSet qui introduit le mode déconnecté, mais les preuves restent à faire ...

Le saviez-vous ? Le principal architecte de la plateforme .NET s'appelle Anders Hejlsberg : le fondateur de Borland-Delphi et du langage Turbo Pascal dans les années 80. Il est également le concepteur de LINQ et dirige aujourd'hui l'équipe qui développe les langages C# et TypeScript.

Visual Studio .NET

Version 1.1 : Visual Studio 2003

Une première mise à jour suit rapidement afin de combler les quelques lacunes de la première version. On s'aperçoit que la course en avant a cessé : on livre moins en respectant les délais, mais ce qui est livré est stable, c'est-à-dire testé. On sent les prémisses des méthodes agiles ...

L'appellation .NET (conservée pour la plateforme, c'est-à dire pour l'ensemble : Framework + outils de développement) de Visual Studio cède la place à l'année de la version.

Visual Studio 2003

Version 2 : Visual Studio 2005

La plateforme .NET prend toute sa dimension : des centaines de nouvelles classes font leur apparition, notamment pour les ASP .NET, avec par exemple, une gestion des utilisateurs (MemberShip) intégrée, prête à l'emploi ...

C'est également à partir de 2005, que Microsoft commence à proposer des outils de développement entièrement gratuits (notamment Visual Studio et SQL Server en versions Express) tout à fait convaincants !

Il s'agit donc d'une version majeure, sur laquelle les versions 3 et 3.5 seront fondées.

Désormais Visual Studio sait travailler sur une version antérieure du Framework : inutile d'installer une version différente de Visual Studio pour chaque Framework !

Visual Studio 2005

Version 3 : Visual Studio 2008

Les Windows Foundation font leur apparition : WPF (Windows Presentation Foundation) pour la nouvelle génération de clients lourds (les Windows Forms sont maintenus, mais stoppés) et WCF (Windows Communication Fundation) pour la nouvelle génération des services Web.

Visual Studio 2008

Version 3.5 : Visual Studio 2008

Toujours sous Visual Studio 2008, c'est à présent la programmation qui prend une autre dimension, avec LINQ (Language INtegrated Query), avec méthodes d'extensions, types anonymes, inférence de type, expressions lambdas, etc. Véritable révolution puisqu'il devient possible de manipuler des données diverses (collections, XML, relationnel, etc.) de manière typée en C# !

Visual Studio 2008

Version 4 : Visual Studio 2010

Il est enfin temps de tout réunifier ! Tandis que les versions 3 et 3.5 du Framework restent fondées sur la version2, la version 4 est totalement nouvelle et indépendante.

C'est donc l'occasion pour réorganiser et surtout d'optimiser les choses. Le rendu des contrôles Web Forms est ainsi revu en profondeur, avec une meilleure gestion du ViewState. Le modèle ASP .NET MVC fait son apparition, mais il faudra attendre la version MVC 3 pour que Razor voit le jour afin d'obtenir une réelle productivité pour générer dynamiquement les vues.

Mais surtout, ce sont les Tasks qui font leur apparition, afin d'ouvrir les portes vers la programmation parallèle avec des mécanismes modernes d'échanges de données et de synchronisation, alors qu'ils étaient trop rudimentaires et limités avec le threading traditionnel. Bien plus que quelques nouvelles classes utiles, les Tasks marquent le début d'une nouvelle façon de programmer, qui se généralise dans tous les domaines, notamment avec les Promesses en JavaScript.

Visual Studio 2010

Version 4.5 : Visual Studio 2013

Cette version marque un virage vers le Web, la mobilité et le Cloud (intégration de la plateforme Azure). L'interface de Visual Studio a été revue en 2012 (version de transition vers 2013), qui se stabilise, avec le choix d'un thème (sombre, clair, bleu, etc.).

HTML5 vient d'être lancé, que cette version prend complètement en charge : validation des pages HTML5 et des feuilles de styles CSS3 (avec minification et bundling automatiques), support intégral de JavaScript et de jQuery avec IntelliSense, points d'arrêt, débogage intégré à Visual Studio ou dans les navigateurs (Browser Link), sans compter de nombreuses extensions telles que Web Essentials, etc.

Cette version intègre également le développement d'applications Windows 8, mais il faudra attendre 2015 pour que les applications dites universelles (UAP) prennent leur dimension sous Windows 10.

Visual Studio 2013

Visual Studio 2015

Le Framework devient de plus en plus modulaire, avec un noyau stable et des composants en téléchargement sous forme de packages NuGet. C'est notamment le cas de Entity Framework qui ne fait plus parti du Framework, mais se télécharge à la demande dans un package NuGet. Visual Studio subit le même sort, avec une installation organisée en modules (Client lourd, Web, Mobile, UAP-Windows 10, Azure, etc.), mais une ouverture vers de nombreuses extensions permettant d'augmenter la productivité selon le type d'application développé.

La version gratuite des outils de développement s'enrichit sous la nouvelle appellation de Community à la place de Express.

En parallèle, l'énorme communauté .NET Open Source hébergée sur CodePlex continue de grossir et déménage sur GitHub.

Visual Studio 2015

Visual Studio 2017

Intégré depuis 2015, mais payant, Microsoft fait l'acquisition du Framework Xamarin en 2016, de façon à pouvoir développer gratuitement des applications mobiles multi-plateformes (Android, iPhone et Windows 10), en se basant sur le langage XAML pour concevoir les interfaces et le C# pour le code.

La nouvelle plateforme CORE, déjà présente en 2015, commence également à se faire connaître, avec la version 2.0.

Visual Studio 2017

CORE

Compte tenu de l'échec des Windows Phone, Microsoft change de stratégie en visant le développement multi-plateformes (Android, Linux, iOS et Windows), notamment depuis le rachat du Framework Xamarin.

Se pose alors la question concernant la portabilité/maintenance du Framework .NET sur ces différentes plateformes. Et sur un mobile, cela n'a pas vraiment de sens. De même, compte tenu du nombre croissant d'applications hébergées dans le Cloud, utilisant chacune une relativement petite partie du Framework, il devient nécessaire de revoir le choses autrement, d'où la nouvelle plateforme Core.

Les techniques de développement ne changent guère, mais c'est l'infrastructure d'exécution qui est complètement refaite : plus de Framework, mais un environnement d'exécution totalement modulaire et open-source, notamment basé sur le compilateur Roselyn. Chaque application peut être ainsi déployée avec son environnement d'exécution autonome, totalement indépendant de l'OS sous-jacent.

Il est désormais possible d'installer Visual Studio et de développer des applications en C# sous Mac et Linux.

La devise est : Any developer, any app, any platform !

Le Framework .NET va donc continuer son chemin sur les infrastructures standards, tandis que la nouvelle branche Core cible à présent la mobilité et l'hébergement dans le cloud.

Roadmap .NET Core

ASP NET Core

NET 5

Core s'appuie ainsi sur une toute nouvelle infrastructure, indépendante du Framework .NET. Arrivé à la version 3.1, le niveau de fonctionnalité a rejoint celui du Framework. Se pose alors la question du choix. Core est résolument orienté Cloud et Web tandis que le Framework, dont l’évolution est désormais stoppée à la version 4.8, est très implanté historiquement parlant.

Même si MS déclare que Core ne remplace pas ce dernier, le virage est amorcé. Fort de leur expérience, MS a anticipé la difficulté d’avoir à maintenir deux plateformes parallèles en unifiant les deux. La réponse s’appelle NET 5, avec un socle commune dénommé Framework standard.

Ce dernier comprend un ensemble étendu des classes de base (BCL) bien connu des développeurs .NET, avec l’infrastructure modulaire de Core, intégrant des services tels que l’injection de dépendances et des performances améliorées de manière significative.

Les évolutions annoncées de la plateforme .NET se feront une nouvelle version chaque année. La prochaine, NET 6, intégrera l’unification de la conception des interfaces Web et WPF (Multi-platform App UI) en tirant parti de Blazor, avec une refonte de Xamarin.

NET 5

NET 5