2009-08-23 11 views
5

J'ai commencé à examiner quelques frameworks d'application serveur plus grands qui pourraient prendre en charge les interfaces client de bureau ainsi que les interfaces web, et qui ont vraiment réduit à néant les deux plus évidents: J2EE et .NET. Du point de vue du langage, du point de vue de la fonctionnalité, du point de vue de la portabilité, etc ... Je suis assez à l'aise avec ma compréhension des deux produits. Je vais rester simple en disant que, pour la plupart, l'un ou l'autre répondrait assez bien au besoin en fonction de mon analyse initiale. Là où les choses sont pénibles, c'est de trouver une bonne comparaison avec les ingénieurs qui ont passé une bonne partie de la décennie à travailler avec l'un, l'autre ou les deux. Les frustrations non documentées que vous obtiendrez de Sun, de Microsoft ou d'un livre.Un bon article récent sur la comparaison entre Java EE et .NET?

Une recherche Google donne beaucoup de résultats, mais la plupart sont de 2002-04. Qu'il suffise de dire, beaucoup a changé depuis. J2EE est supposé être devenu beaucoup plus simple et .NET est supposé avoir beaucoup plus de fonctionnalités.

Quelqu'un a-t-il connaissance de comparaisons plus récentes (au cours des deux dernières années) qui mériteraient d'être lues?

+3

"... vraiment zéro sur les deux évidentes ..." - juste curieux, quels étaient vos autres candidats? Combien ont été éliminés de votre enquête? – duffymo

+0

Java est totalement cross-plataform, votre programme fonctionnera toujours peu importe si c'est Windows, Linux, SunOS, iPhone ou un grille-pain. DotNET est une copie de Java avec plus de fonctionnalités spécifiques à Windows, ce qui le rend beaucoup plus rapide, facile à utiliser, à installer et à publier sur le monde de Windows. Je n'utiliserais jamais Java pour quelque chose destiné à fonctionner sous Windows, mais ce n'est peut-être pas votre cas. – Havenard

+3

Java ne fonctionne pas sur un iPhone, donc ce n'est pas strictement vrai. – duffymo

Répondre

5

Puisque vous dites 'bureau' avant de dire 'web', je peux supposer que le côté bureau de cette application est plus important. .Net a un avantage certain à faire des applications de bureau, Java n'a vraiment pas cela comme un avantage.

Cela dit, je voudrais juste aller avec celui que votre équipe de développement a plus d'expérience dans.

1

Java EE a certainement beaucoup changé. Les plus grands changements que vous voulez être au courant sont Spring et la nouvelle spécification EJB3.

Le ressort ne fait pas partie de la norme Java EE de Sun. C'est la cristallisation de l'expérience de consultation de Rod Johnson dans un cadre pour le développement POJO qui a eu beaucoup de traction. Et, juste pour référence, il existe des versions de Spring pour Java et .NET. De même pour Hibernate, un outil ORM populaire. EJB3 a pris beaucoup de Spring et d'Hibernate. Vous pouvez utiliser EJB3 avec Glassfish ou JBOSS ou WebLogic.

Une autre idée que vous devez garder à l'esprit est celle des services Web. Ce sont des composants Web distribués qui peuvent fonctionner avec n'importe quel client, Java EE ou .NET, bureau ou navigateur. Je pense que leurs principaux avantages sont l'accent mis sur les messages et la dissimulation des détails de la mise en œuvre. Si vous écrivez des services Web, vos clients n'ont pas besoin de savoir s'ils sont écrits en Java ou .NET.

Les services Web fonctionnent bien avec les clients Internet riches tels que Flex et Silverlight. Ils peuvent aider à garder vos options ouvertes.

Désolé, je ne peux pas parler d'expérience personnelle à propos de .NET.

-1

Ceci est une vraie question de type « pommes et des oranges ».

De manière générale, je préfère faire du développement de bureau en .Net.Si je le faisais en Java, je préférerais probablement Eclipse SWT ou Netbeans RCP sur Java Swing.

Pour la programmation côté serveur, vous pouvez utiliser soit. Je ne suis pas un grand fan de Windows en tant que plate-forme serveur (sur Linux) et la pile Java est essentiellement gratuite, ce qui est particulièrement utile en termes de coûts de démarrage (malgré Bizspark).

La plus grande chose à propos des applications serveur Java n'est plus vraiment J2EE. C'est le printemps. Vous trouverez probablement plus d'applications Web Java exécutées avec Tomcat et Spring que d'applications de pile J2EE complètes (ce qui signifie généralement EJB).

EJB3 a disparu POJO comme le printemps est.