dimanche 26 avril 2009

.NET vs JAVA en 7 rounds : Au plaisir des développeurs :)



Ah enfin un débat qui fait rage, deux mondes qui se bousculent celui de Microsoft et des technologies NET d’une part et celui de JAVA/J2EE d’autre part. Étant développeur plutôt orienté plutot vers le monde Microsoft et les langages NET, je m’intéresse ces dernier temps a ce vaste monde de l'Open Source qu’est le monde JAVA, quel en sont les avantages et quel choix serai-il astucieux de faire, nous allons comparer ses deux mondes sur plusieurs points : …

Avant de commencer quelques éclaircissements s’imposent, n’oublions pas que le monde .NET tourne autour du Framework .NET .Il se voulait être un support multi langages unique en son genre, ce qui offrait la possibilité a tout type de développeurs quel que soit son langages d’adapter ses portions de code à ses futurs solutions élaborées sous .NET et cela grâce à la CLR (Commun Langage Runtime). Java reste plutôt conservateur par rapport à ce point et Microsoft utilise souvent cet argument pour venter les mérites du .NET :D c’est pour dire que c’est de bonne guerre …


Particularités :

J2EE, le chouchou de la communauté Open Source offre un très large éventail en termes de possibilité dans le développement pour les entreprises. Grace à sa légèreté et à sa portabilité, JAVA est très présent dans les applications mobiles. Les outils JAVA sont aussi présent dans toutes les plateformes ce qui laisse aux développeurs une certaine flexibilité de travail…

Coté serveur j’estime que le JAVA à atteint une certaine maturité qui lui donne un certain avantage, je m’explique ; Linux et Unix détiennent plus de 2/3 des installations de serveurs dans le monde, et .NET est maintenant accueillable sur des serveurs Linux (Projet Mono)
Coté client, la balance pencherai plutôt pour le .NET, et cela grâce à l’OS WINDOWS qui
Est présent sur la plupart des PC et qui inclut dans ses dernières version le Framework .NET.

Dépendance :


Certain dirons que MS DOS, Win 3.11 et Win95 n’offrent aucun support pour les applications fonctionnant dans un environnement .NET, je répondrai alors en disant ; aurai-t-on vraiment besoin de faire tourner nos applications sur les Systèmes d’exploitation qui date du moyen âge o_O ! hein ! …

Portabilité :

. NET n ‘est généralement pas directement portable sur PDA ce qui donne à JAVA un point de plus par rapport à ca. Je dirai aussi que Microsoft .NET à une tendance à s’orienter vers le développement Web avec l’ASP.NET , Silverlight …ect , et que le JAVA se chargera plutôt de l’élaboration d’applications distribuées pour les entreprises (JSP, Serlets, EJB)
.NET offre aussi aux developpeurs une plus grande facilité de developpement


Originalité :

Vous avez surement entendu parler de la smart navigation possible à travers ASP.NET et qui consiste à ne pas télécharger les pages complètement mais à ne télécharger que les portions de page modifié ce qui vas donner lieu à une navigation disons plus optimisée.
JAVA est le roi de l’Open source avec open Office et Apache, en plus du serveur d’applications J2EE le JBOSS.
Pour créer un web service en .NET, on ajoute simplement un attribut, et pour appeler notre web service on n’a plus qu’a le référencer comme web référence ; un objet proxy est généré utilisable du coté client.

Ce qui est drôle dans cette histoire c’est qu’IBM et Microsoft se font une guerre des web services, et Windows cherche toujours à avoir le monopole.

Application multiutilisateurs :

.NET et à travers l’apparition du .NET Remoting, duWCF, des web services a percé dans le domaine des applications distribuées ce qui lui donne une grande capacité à être utilisé dans l’élaboration de solutions multiutilisateurs. Il dispose aussi pour cela de dizaine de milliers de classes
Pour ce qui est de Java, à travers le serveur d’application JBOSS on peut concevoir des solutions allons jusqu'à plus de 10.000 clients.

Sécurité :

Je pense que l’avenir du .NET sera plutôt dans les applications bureau et que Le java grâce au J2EE s’orientera plutôt vers le développement réseau sécurisé .sa maturité l’impose ^^ !.
Java s’est imposé sur ce point à travers la sécurité de ses architectures, Java/CORBA en est l’exemple
Microsoft a dernièrement doté sa plateforme de modules de sécurité intégrée

Autres particularités :

IBM à une plus grande expérience dans le domaine de l’informatique repartie (COBRA,Encina,…ect) , SUN offre aussi à travers le Websphere studio , la création de web services en plus des options de gestion de la montée en charge.
Alors que .NET palie à ce problème à travers sa possibilité à travailler en mode déconnecté, par exemple, en utilisant les Data set.


Pour finir, j’ai décidé de me lancer à la conquête de ce vaste monde qu’est le monde Java , ayant été développeur .NET pendant deux ans, je bascule dans l’autre monde celui de l’open source de la portabilité et de la sécurité.

2 commentaires:

  1. vu que tu programme déjà en C# tora pas trop de mal question syntaxe sur Java, pour le reste je c'est pas.

    RépondreSupprimer
  2. Je viens d'entamer mon premier projet en java , et je t'avoue que je me suis adapter assez facilement , la syntaxe est à peu prés la même , il y avait juste quelques concepts en plus a voir , des concepts propre à JAVA.

    RépondreSupprimer