La version finale du framework .NET 3.0 est sortie tout récemment. Elle apporte un lot de nouveautés tout à fait remarquables :
- Windows Presentation Foundation (voir ce billet)
- Windows Communication Foundation (voir ce billet)
- Windows Workflow Foundation
- Cardspace (voir ce billet)
C’est l’occasion de faire un point sur la pénétration de .NET dans les entreprises françaises.
Pendant longtemps chez SQLI, la proportion de projet de développement était de l’ordre de 60% de projets en Java, 20% de projets .NET, et 20% de projets Open Source (principalement PHP).
La proportion de projets .NET suit une croissance constante depuis 1 à 2 ans aux dépends des projets JEE, chez SQLI comme chez les autres sociétés de services, à tel point que les compétences .NET commencent à manquer sur le marché. Microsoft a d’ailleurs constitué un centre de formation en France pour résorber cette carence.
Les raisons de la montée en puissance de .NET semblent être les suivantes :
- La technologie Microsoft a su tirer parti des erreurs de JEE : elle est plus simple à prendre, plus pragmatique. Par exemple, JEE s’est longuement embourbé dans les problématiques de persistance avec les EJB 1 et 2. On peut aussi citer la complexité de prise en main de Java Cryptographic Extension avec les notions de providers JCE. .NET adopte une approche plus simple avec laquelle on évite des abstractions pas toujours indispensables. .NET semble ainsi bénéficier de toute la force de l’objet sans la complexité de la norme JEE.
- L’ergonomie et la productivité de Visual Studio sont reconnues par tous : des études indépendantes ont montré un gain de productivité de 15%
- Avec .NET, de nombreux besoins sont adressés par une solution simple et clairement identifiée : par exemple, un Client Riche .NET se développe avec des Winforms, là ou le développeur Java devra faire son choix parmi les offres AWT, SWING, RCP et JDNC. La complexité de l’écosystème des frameworks JEE est parfois excessive pour adresser des besoins simples.
- Les interfaces Client Riche .NET restent plus stables que sous Java
Il existe actuellement un regain d’intérêt autour des méthodes de programmation agiles comme l’Extreme Programming. Cette tendance a fait naitre de nouveaux langages extrêmement productifs comme Ruby On Rails. Il semble que .NET soit aujourd’hui plus en phase avec cette tendance que JEE.
Le monde Java est tout à fait conscient de ses lourdeurs et des progrès sont en cours, en particulier sur la simplification des EJB ou sur la performance des interfaces riches.
Mais, il est difficile de concilier la complexité de la norme JEE, la richesse de son écosystème avec un objectif d’agilité.
Néanmoins, des initiatives récentes vont dans la bonne direction: chez SQLI, nous nous intéressons tout particulièrement à Groovy un langage agile capable de s’exécuter sur une plate-forme Java.
Malgré tout, le poids de JEE devrais lui faire perdre des parts de marché face aux innovations du monde Microsoft d’ici la fin de la décennie.
Qu’en pensez-vous ?