2009-08-23 6 views
5

Ho iniziato a esaminare alcuni framework di app per server più grandi che sarebbero in grado di supportare interfacce client desktop e interfacce Web, e hanno davvero azzerato quelli due ovvi: J2EE e .NET. Dal punto di vista della lingua, punto di vista della funzionalità, punto di vista della portabilità, ecc. Sono abbastanza a mio agio con la mia comprensione dei due prodotti. Continuerò a dire che, per la maggior parte, o si adatterebbe abbastanza bene alla necessità basandomi sulla mia analisi iniziale.Un buon, recente articolo sul confronto tra Java EE e .NET?

Dove le cose sono un dolore, tuttavia, è trovare un buon confronto con gli ingegneri che hanno trascorso una parte migliore del decennio lavorando con uno, l'altro o entrambi. Le frustrazioni non documentate che non si ottiene da Sun, Microsoft o un libro.

Una ricerca su Google offre un sacco di risultati, ma la maggior parte sono del 2002-04. Basti dire che da allora è cambiato molto. Si suppone che J2EE sia diventato molto più semplice e che .NET sia diventato molto più ricco di funzionalità.

Qualcuno è a conoscenza di confronti più recenti (negli ultimi due anni) che potrebbero valer la pena di leggere?

+3

"... hanno davvero azzerato i due ovvi ..." - solo curiosi, quali erano i tuoi altri candidati? Quanti sono stati eliminati dal tuo sondaggio? – duffymo

+0

Java è totalmente cross-plataform, il tuo programma funzionerà sempre non importa se è Windows, Linux, SunOS, iPhone o un tostapane. DotNET è una copia di Java con più funzionalità specifiche di Windows, ciò che lo rende molto più veloce, facile da usare, installare e pubblicare sinse sul mondo Windows. Non userei mai Java per qualcosa che dovrebbe funzionare su Windows, ma forse non è il tuo caso. – Havenard

+3

Java non funziona su un iPhone, quindi non è strettamente vero. – duffymo

risposta

5

Poiché si dice "desktop" prima di dire "web", posso supporre che il lato desktop di questa applicazione sia più importante. .Net ha un netto vantaggio nel creare app desktop, Java non ha davvero questo vantaggio.

Detto questo, vorrei solo andare con qualsiasi vostro team di sviluppo ha più esperienza in.

1

Java EE ha certamente cambiato molto. Le modifiche più importanti di cui si vorrà essere a conoscenza sono Spring e la nuova specifica EJB3.

Spring non fa parte dello standard Java EE di Sun. È la cristallizzazione dell'esperienza di consulenza di Rod Johnson in un framework per lo sviluppo POJO che ha ottenuto molta trazione. E, solo per riferimento, ci sono versioni di Spring per Java e .NET. Allo stesso modo per Hibernate, uno strumento ORM popolare.

EJB3 ha preso molto da Spring e Hibernate. Puoi utilizzare EJB3 con Glassfish o JBOSS o WebLogic.

Un'altra idea che vorrete tenere a mente sono i servizi web. Si tratta di componenti Web distribuiti che possono funzionare con qualsiasi client, Java EE o .NET, desktop o browser. Penso che i loro principali vantaggi siano l'enfasi posta sui messaggi e il nascondere i dettagli di implementazione del back-end. Se scrivi servizi web, i tuoi clienti non devono sapere o preoccuparsi se sono scritti in Java o in .NET.

I servizi Web funzionano bene con i client Internet avanzati come Flex e Silverlight. Possono aiutare a mantenere aperte le tue opzioni.

Siamo spiacenti, non posso parlare per esperienza personale su .NET.

-1

Si tratta di un vero e proprio "mele e arance" tipo di domanda.

In generale preferisco lo sviluppo del desktop in .Net.Se lo avessi fatto in Java probabilmente preferirei Eclipse SWT o Netbeans RCP su Java Swing.

Per la programmazione su server è possibile utilizzare entrambi. Non sono un grande fan di Windows come piattaforma server (su Linux) e lo stack Java è essenzialmente gratuito, che è particolarmente utile in termini di costi di avvio (nonostante Bizspark).

La cosa più importante delle app server Java non è più J2EE. È primavera. Probabilmente troverai più app Web Java in esecuzione con Tomcat e Spring rispetto a quelle complete di stack J2EE (generalmente con EJB incluso).

EJB3 è andato POJO come la primavera è.