2013-08-26 14 views
6

Qualcuno ha idea del perché JavaFX 8 non sia ancora un'API J2SE quotidiana nel prossimo Java 8?Perché l'API JavaFX non è inclusa in Java 8 J2SE?

Il diagramma tecnologico che mostra tutti i componenti Java esclude chiaramente JavaFX dallo stack J2SE.

Mi piacerebbe vedere le API JavaFX e Swing affiancate nei javadoc JDK .. e mi chiedo perché Oracle non ce l'ha/non può darcelo?

BTW, sul tema dello stato diverso di JavaFX (rispetto agli altri standard inclusi nel J2SE), qualcuno può spiegare perché gli autori di JavaFX sentivano assolutamente necessario reinventare la ruota creando concetti incompatibili con AWT/Swing come Caratteri FX, colori FX e simili?

risposta

3

JavaFX Roadmap.

Secondo il FAQ -

Come di JavaFX 2.2 e Java SE 7 Update 6, le librerie sono JavaFX installati come parte di Java SE;

per lo swing parziale

Is JavaFX sostituendo swing come la nuova libreria client di interfaccia utente per Java SE?

Sì. Tuttavia, Swing rimarrà parte delle specifiche Java SE per nel futuro prevedibile e, pertanto, incluso in JRE.

JavaFX è sufficientemente ampio da avere una gerarchia separata come Java SE o Java EE.

È possibile vedere la definizione here.

Java SE

Quando la maggior parte della gente pensa del linguaggio di programmazione Java, pensano di API Java SE. L'API di Java SE fornisce le funzionalità principali del linguaggio di programmazione Java . Definisce tutto dai tipi di base e oggetti del linguaggio di programmazione Java alle classi di alto livello utilizzate per il networking, la sicurezza, l'accesso al database, lo sviluppo dell'interfaccia utente grafica ( ) e l'analisi XML.

La piattaforma Java EE Java EE è costruito in cima alla piattaforma Java SE. La piattaforma Java fornisce un ambiente API e di runtime per lo sviluppo e in esecuzione su applicazioni di rete di rete su larga scala, scalabili, affidabili e sicure.

Java ME

La piattaforma Java ME fornisce un'API e un piccolo-footprint virtuale macchina per l'esecuzione di applicazioni linguaggio di programmazione Java su piccoli dispositivi, come i telefoni cellulari. L'API è un sottoinsieme dell'API Java SE, insieme a librerie di classi speciali utili per lo sviluppo di applicazioni di dispositivo di piccole dimensioni . Le applicazioni Java ME sono spesso client dei servizi di piattaforma Java EE .

JavaFX

JavaFX è una piattaforma per creare applicazioni rich internet utilizzando un leggero API interfaccia utente . Le applicazioni JavaFX utilizzano i motori di grafica e multimediali con accelerazione hardware per sfruttare i client ad alte prestazioni e un look-and-feel moderno nonché le API di alto livello per la connessione alle origini dati in rete. Le applicazioni JavaFX possono essere client dei servizi della piattaforma Java EE.

+0

"Installato come parte di" non è lo stesso di vivere fianco a fianco nelle javadoc. Se si guarda http://download.java.net/jdk8/docs/index.html , è possibile vedere chiaramente (a destra del diagramma) che il confine J2SE termina poco prima di JavaFX. Quindi JavaFX non fa parte di J2SE. Perché? Qual è l'ostacolo? Quale magia impedisce alle API JavaFX di essere proprio come quella di Swing (ad esempio)? – Vincent

+0

@Vincent Ho modificato e inserito un collegamento a http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html –

2

JavaFX è parte di JavaSE in JDK7 e sul percorso di classe di default da Java 8: non avrete bisogno di fare nulla di speciale per utilizzare i componenti JavaFX (a parte l'aggiunta di importanti import dichiarazioni, proprio come con altalena).

Per quanto riguarda l'ultima domanda, non posso parlare per i progettisti dell'API, ma poiché i caratteri ei colori possono essere importati tramite un file css, le API risultanti sono in qualche modo vicine a qualsiasi cosa sia possibile specificare in un file css, per esempio un carattere appartiene a una famiglia, ha uno stile e una dimensione.

3

JavaFX è pianificato per diventare una parte standard di JavaSE nel periodo di tempo di JavaSE 9 (come JSR).

Nel frattempo, Oracle invia JavaFX come parte dell'implementazione di JavaSE (ma probabilmente altri fornitori non lo faranno).

perché di JavaFX gli autori giudicano assolutamente necessario reinventare la ruota creazione di concetti/swing-compatibile AWT come FX Fonts, FX colori, e simili?

JavaFX è un moderno kit di strumenti dell'interfaccia utente che utilizza uno stack software che funziona a stretto contatto con la scheda grafica, se disponibile.

Problemi correlati