2008-11-10 23 views
31

Conosco abbastanza bene Flex ma ho anche iniziato a utilizzare Java FX. Sono un po 'confuso. Java FX sembra concentrarsi maggiormente sulle operazioni di disegno di basso livello e le animazioni. Meno sulla creazione di interfacce utente standard come Flex.Come funziona JavaFX rispetto a Flash e Flex?

Quindi JavaFX è più simile a Flash che Flex?

D'altra parte JavaFX supporta anche i componenti Swing e l'associazione dati, che lo rende più simile a Flex.

+1

Interessante domanda, sono curioso di vedere le risposte ... Aggiungerei Ajax al mix, anche se non è nella stessa lega. – PhiLho

+1

Oggi stavo cercando su questo .. – Thalaivar

+2

AJAX non appartiene davvero a questo mix, in quanto non è la tecnologia RIA. (Google il significato del nome "AJAX" e capirai perché.) – Manius

risposta

22

Penso che JavaFX sia più simile a Flex, perché JavaFX è più sulla creazione di applicazioni che su animazioni (che è, ritengo, una delle distinzioni sensibili tra Flex e Flash).

Penso a JavaFX e Flex come futuri eredi della programmazione Rich Internet Application. Entrambi hanno lo scopo di estendere il regno di ciò che è possibile con RIA.

Uno dei maggiori vantaggi di JavaFX che vedo è che è possibile utilizzare la logica aziendale Java esistente semplicemente importandola.

Alcune delle caratteristiche del linguaggio, come vincolante e durata come tipo di dati, sono paradigma-shifting, perché rendono determinate funzionalità possibile e facilmente disponibili:

  • Binding: Collegamento due valori insieme, in modo da poter aggiornare automaticamente un valore quando gli altri aggiornamenti. Esempio: "nome: bind textfield.getValue". Molto più facile che impostare i pattern Observer per osservare le modifiche alle variabili.
  • La durata può essere utilizzata come tipo di dati: "var frameDelay = 5ms". Avere Durata come parte integrante della lingua sembra un gioco da ragazzi quando si tratta di animazioni.
+0

Puoi essere più specifico sul perché il binding e il tempo come un tipo di dati cambiano paradigma? – defmeta

+0

Non considero Flex come la "vecchia" tecnologia. È diverso. Flash si concentra di più sul disegno e sull'animazione di oggetti primitivi, mentre Flex fa lo stesso su un livello di astrazione più elevato che è più adatto per forme e UI classiche. Ma JavaFX ha molte funzionalità di manipolazione degli oggetti di basso livello. – Yaba

+0

Oops! Intendevo >> Non considero la tecnologia FLASH come la "vecchia". << – Yaba

1

Direi che è più simile a Flash - o almeno si tratta di portare in Java le abilità di tipo Flash. Non dimenticare che Flex è costruito su Flash. Lo script JavaFX da quello che ho visto è abbastanza simile ad ActionScript e non del tutto simile a MXML. Sembra che Sun stia sottolineando l'importanza di cose come il video e la capacità di lavorare con la grafica vettoriale da programmi di progettazione standard del settore.

Penso che la bellezza di Flash sia la possibilità di creare i propri componenti dell'interfaccia utente, mentre Flex si occupa della definizione di componenti standard mediante tag. Quindi, di nuovo, è più simile a Flash.

1

Sono uno sviluppatore Flex con sfondo in Flash - nessuna esperienza Java. Così, mi piacerebbe normalmente saltare questa discussione, ma mi è capitato di imbattersi in questo post, solo ora:

http://www.insideria.com/2008/11/is-client-side-java-losing-gro.html

Esso contiene una breve discussione su Java e Flex, ma ciò che è più appropriato alla tua domanda, Yaba, è il link a una serie di articoli che postano sulla loro conversione da Java a Flex: perché hanno preso la decisione, come hanno fatto, ecc.

3

Appena visto this posting da Chet Haase, che in precedenza ha lavorato su Java FX presso Sun, ma ora lavora per Adobe su Flex.

+0

"La disponibilità del runtime JavaFX è fondamentalmente quella della piattaforma Java ... (credo che richiederà l'ultima versione aggiornata 10)" Volevo solo dire che ha torto su questo punto, io sono su Mac Os 10.4 con Java 5 e Java Fx funzionano per me. –

6

vorrei aggiungere alcuni punti,

  1. Flex è molto più stabile quindi JavaFX, JavaFX è abbastanza nuovo. La sintassi di JavaFX è davvero pessima, è inutilmente complessa, altrimenti il ​​flex è puro xml, si può leggere e capire facilmente, non ho capito cosa ha pensato ragazzi java invece di usare xml (come silverlight e flex), rendendo la nuova sintassi del linguaggio sconvolgerà il mondo? Nuova sintassi significa nuova curva di apprendimento.

  2. Flex su flash, 95% installazioni in tutto il mondo, solo 1,2 MB di download Flash rispetto a JavaFX + runtime Java di minimo 30 MB, questa considerazione è troppo grande per l'editore.

+0

"... flex is pure xml" - Ho dei dubbi a riguardo. Flex è in realtà sdk che utilizza i documenti XML (MXML) e ActionScript come linguaggio di programmazione. – zinovii

+1

Hm ... Non sono d'accordo qui. MXML sarà tradotto in AS, che può causare problemi. E poi devi decidere se implementare i componenti in MXML o AS (più tardi è più potente). JFX è più simile a JSON, ma ha almeno una sintassi coerente. – Yaba

+0

MXML è essenzialmente una scorciatoia per il codice AS, che è una buona cosa se si considera quanto si dovrebbe digitare per fare la stessa cosa proceduralmente (guarda la tipica app Java Swing per vedere la differenza: linee massicce, lunghe e ripetitive delle proprietà che si impostano - schifo). – Manius

3

Recentemente ho usato sia per Adobe Flex 4 e Java Fx 1.3.1, sono d'accordo entrambi sono molto potenti strumenti di sviluppo di applicazioni rich internet grafica.

La mia opinione su Adobe Flex 4 è, è uno strumento di progettazione molto semplice. Si occupa di molte parti di programmazione generando automaticamente il codice. Quindi il mio voto è "Easy Tool". Se si apportano modifiche all'origine dati, modificare un identificativo etichetta, ecc., Genera codice e corregge qualsiasi riferimento all'interno del codice.

Java Fx 1.3.1 è un po 'più difficile rispetto ad Adobe Flex, ma non c'è paragone l'aspetto grafico, "Effetti grafici" e questo il meglio in termini di compatibilità Java.

Adobe Flex 4 builder non è gratuito Java Fx 1.3.1 + NetBeans è gratuito. Questo fa molta differenza nella comunità di sviluppatori freelance.

Anche in questo confronto non applicabile per "Applicazione desktop" vs "applicazione mobile" vs "web application"

Non ci sono ulteriori limitazioni sia in termini di stampa, download di applicazioni per Excel o CSV, ecc ..