2012-02-09 14 views
6

Ho deciso di imparare un'altra lingua e sono nella fase di raccolta.Perché Java ha così tante edizioni diverse da C#?

Attualmente sta esaminando Java e C#, ma si sta orientando verso Java perché è multipiattaforma. Costruirò principalmente app web based, ma la varietà di edizioni Java mi spaventa. Java EE, SE, ME, FX, quali sono le differenze? Ci sono dei vantaggi nell'usare l'uno con l'altro?

Ok, FX è per i desktop, ME per mobile, SE ed EE sono gli stessi, ma uno è per "business", l'altro no. Quindi, se imparo SE per esempio, cosa ci vorrebbe per passare a EE? O FX? Il mio problema è che non riesco davvero a capire perché SE, EE e FX sono prodotti separati? Entrambi eseguono la stessa JVM ed entrambi possono eseguire le stesse app risultanti. Perché sono separati allora?

+0

Si noti inoltre che Oracle prevede di integrare Java FX in Java SE per la versione 9, se ottengono l'approvazione della comunità: http://openjdk.java.net/projects/openjfx/ – Puce

risposta

10

Non è così devastante.

  • Java SE è lo standard per le normali applicazioni.
  • Java ME è per telefoni cellulari, un sottogruppo senza virgola mobile, ad esempio.
  • Java EE è un'aggiunta per Java SE per applicazioni Web e server Web.
  • Java FX è un'alternativa flash player, ma ora con collegamenti/integrazione java.

Quindi Java SE costituisce le basi. Java EE è per applicazioni Web.

In futuro java otterrà un sistema modulare e la distinzione sarà solo a livello di libreria.

+0

Ma, possiamo dire, che le edizioni Java sono costruite sulla base della stessa base comune, e le edizioni sono solo una sorta di librerie/framework aggiuntivi a quella base che sono mirati per determinate aree industriali? –

+0

Java FX è un prodotto con un proprio script, ma si integra in Java SE. Java ME è una versione ridotta, destinata ai cellulari di basso livello con CPU non X86. Ma sì, Java EE e Java FX sono aggiunte. –

+0

@JoopEggen: si noti che Oracle ha abbandonato lo script Java FX in favore di una pura API Java. – Puce

16

pensare a loro un po ' come questo:

  • ME ~ = quadro Compact
  • SE ~ = .NET profilo del cliente
  • EE ~ = .NET framework completo (e un po' in più pezzi :)
  • FX ~ = Silverlight

non è un confronto esatto, ma è un inizio abbastanza vicino ..

3

Le diverse versioni (SE, EE, ME e FX) sono tutte API diverse che si trovano sulla JVM (è possibile trovare le descrizioni complete qui: Your First Cup). Non sono lingue diverse, quindi non c'è una nuova sintassi per imparare a passare da una all'altra, solo chiamate API diverse.

Personalmente preferisco C# per lo sviluppo di app Web a causa della sua integrazione con ASP.NET e i framework MVC.

4

Quando dici editor, penso che intendi IDE (Integrated Development Environment). Il motivo per cui Java ha così tanti editor e C# no, è perché Java è opensource, mentre C# non lo è. Quindi l'unico IDE reale che troverai per C# si chiama "studio visivo" (non è gratuito)

Ti consiglio vivamente di andare su Java, perché quasi tutti gli strumenti sono liberi di usa e anche i server delle applicazioni in cui distribuisci le tue app.

Non abbiate paura delle edizioni Java, se volete creare app web, dovrete andare su JavaEE (Enterprise Edition). Ad ogni modo questo è ciò che ognuno di loro fa:

SE (Standard Edition): Contiene le librerie di base, spesso utilizzate nelle app desktop, ma fa anche parte dell'Enterprise Edition.

EE (Enterprise Edition): Usato per le applicazioni aziendali (non solo applicazioni web), in modo che significa programmazione distribuita, da applicazioni web, desktop per servizi web ...

ME (Micro Edition): si intende per le tecnologie mobili, non solo per i telefoni, anche distributori automatici, smart tv, guida missilistica ...;)

FX: è una ricca piattaforma di sviluppo per lo sviluppo di potenti client in modo semplice.

Riguardo alla sua domanda, le differenze tra EE e SE, di aver già risposto, in altre parole:

EE è un'estensione di SE, che include EE e consente di programmare applicazioni aziendali. Quindi, se si desidera programmare in EE, è necessario aver installato SE (basti pensare a questo come requisito di sistema).

Non capisco davvero cosa intendi per business. Quello che posso dirti è che l'Enterprise Edition, ha integrato nelle sue librerie uno strumento per lo sviluppo di componenti per il business, chiamato EJB (Enterprise Java Beans).

Il motivo per cui EE, SE e FX sono prodotti separet è perché è necessaria una separazione delle preoccupazioni.

Esempio: forse si crea un'applicazione desktop che non ha bisogno di comunicare via Internet. Perché dovresti avere in essa librerie aziendali per la programmazione distribuita?

Tutto sommato, ma l'ultima domanda non ha molto senso.

+0

Grazie! Molto istruttivo e ben spiegato. –

+0

C'è una versione gratuita di Visual Studio ... –

+0

@Nik Bougalis :) Non sono sicuro, ma questo studio è Express Express? Non ne ho idea, va bene? Suppongo che quando scegli un linguaggio di programmazione, vuoi anche lavorare con un IDE, che è popolare e già utilizzato da un gran numero di persone, così puoi trovare più facilmente le soluzioni quando ci sono difficoltà. Non ho familiarità con quell'IDE, ma anche se lo fossi, penso che non lo consiglierei. – sfrj

Problemi correlati