Depuis la commercialisation de la plateforme de développement .NET par Microsoft, en 2002, on se perd en conjectures à savoir si elle parviendra à supplanter sa rivale Java 2 Standard Edition (J2SE). On ne compte plus les articles publiés et les opinions émises quant aux mérites de l’une et l’autre.
Derrière ce battage, cependant, une évidence pointe le bout du nez : il est très difficile de départager de la sorte les deux plateformes.
En effet, chaque environnement comporte ses propres atouts, qu’il sera important de soupeser avant de décider laquelle adopter. Ce qui n’est pas nécessairement un exercice facile, car dans la guerre que se livrent Microsoft et Sun pour la suprématie du développement d’applications, les deux protagonistes s’inspirent fortement l’un de l’autre. Résultat : les plateformes sont étonnamment semblables.
En 2003, déjà, la revue Computer World écrivait qu’elles se développaient selon un même concept, intégrant des services similaires, quoique mis en oeuvre différemment. Non seulement en résulte-t-il de la confusion – également alimentée par la publication des nombreux avis divergents – mais il devient très ardu de déclarer un vainqueur.
Pour l’heure, soulignons la percée remarquable de .NET, dont la popularité auprès des développeurs est passée de 40,3 % en 2002 à 54,1 % en 2005 – selon un article de BusinessWeek paru l’année dernière. Pendant ce temps, l’utilisation de Java chutait de 51,4 % à 47,9 %. Par ailleurs, CNET rapportait récemment que 56 % des nouveaux projets de développement d’applications en entreprise ont été faits sur .NET en 2004, contre 44 % pour Java.
Consulté l’automne dernier à ce sujet, Ludovic Dubois, président-fondateur de la firme montréalaise Pretty Objects Computers, est d’avis que Microsoft a su éviter plusieurs des problèmes ayant affecté Java depuis ses débuts, en 1995.
Faut-il y voir le déclin inéluctable de Java ? Non, répond le webzine M-Dollar, pour qui la plateforme de Sun demeure robuste, continuant à offrir une puissante interface de programmation. Même son de cloche en provenance de la firme d’analyse O’Reilly Radar, qui observe un regain de popularité de Java depuis l’été 2004. La firme fonde ses constatations sur la vente de livres portant sur la programmation avec la plateforme de Sun. Selon elle, la hausse enregistrée en faveur de Java est attribuable aux projets de code source libre utilisant cette plateforme.
À ce sujet, on rapporte que l’initiative multiplateforme Mono prend aussi de l’ampleur. Appuyé par Novell, ce projet vise à faciliter le développement .NET en code source libre sur des systèmes comme Linux, Solaris, Mac OS X et Unix. Le moins que l’on puisse dire est que cette ouverture sur le code source libre fait mentir la réputation de Microsoft dans ce domaine.
On le constatera, de nombreux facteurs entrent en jeu dans la concurrence que se livrent les deux géants. Alors que la bataille continue de faire rage entre eux, bien malin qui pourra en prédire l’issue. Puisque les deux plateformes semblent condamnées à survivre, mieux vaut oublier les campagnes de marketing orchestrées de part et d’autre et les savantes comparaisons techniques. Les analystes recommandent plutôt d’évaluer les actifs et les compétences que possède l’entreprise avant de faire un choix. On doit aussi calculer le rendement de l’investissement nécessaire, de façon à assurer la plus grande stabilité possible à long terme, peu importe qu’elle repose sur Java ou .NET.
En raison de la similitude entre les deux plateformes, l’entreprise doit trancher en fonction de son environnement technologique. Lorsque celui-ci est centré sur les serveurs et l’évolutivité, Java pourrait s’avérer une meilleure solution, indique Ludovic Dubois. L’ajout de postes clients s’en trouvera facilité. Par contre, .NET serait sans doute plus indiqué pour les entreprises cherchant à mettre en oeuvre un grand nombre de clients intelligents, croit-il.
D’aucuns diront que la stabilité recherchée sera d’autant plus facile à atteindre que les services Web et l’architecture orientée services permettent maintenant d’avoir recours à plusieurs plateformes, y compris .NET et Java.