JavaFX - Panoramica
Rich Internet Applicationssono quelle applicazioni web che forniscono funzionalità ed esperienza simili a quelle delle applicazioni desktop. Offrono una migliore esperienza visiva rispetto alle normali applicazioni web per gli utenti. Queste applicazioni vengono fornite come plug-in del browser o come macchina virtuale e vengono utilizzate per trasformare le tradizionali applicazioni statiche in applicazioni più avanzate, fluide, animate e coinvolgenti.
A differenza delle applicazioni desktop tradizionali, le RIA non richiedono alcun software aggiuntivo per l'esecuzione. In alternativa, è necessario installare software come ActiveX, Java, Flash, a seconda dell'applicazione.
In una RIA, la presentazione grafica è gestita dal lato client, poiché ha un plug-in che fornisce supporto per una grafica ricca. In poche parole, la manipolazione dei dati in una RIA viene eseguita sul lato server, mentre la relativa manipolazione degli oggetti viene eseguita sul lato client.
Abbiamo tre principali tecnologie che utilizzano le quali possiamo sviluppare una RIA. Questi includono quanto segue:
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash
Questa piattaforma software è sviluppata da Adobe Systems e viene utilizzata nella creazione di applicazioni Internet avanzate. Insieme a questi, puoi anche creare altre applicazioni come Vector, Animation, Browser Games, Applicazioni desktop, Applicazioni mobili e giochi, ecc.
Questa è la piattaforma più comunemente utilizzata per lo sviluppo e l'esecuzione di RIA con un tasso di penetrazione del browser desktop del 96%.
Microsoft Silverlight
Proprio come Adobe Flash, Microsoft Silverlight è anche un framework per applicazioni software per lo sviluppo e l'esecuzione di Rich Internet Application. Inizialmente questo framework è stato utilizzato per lo streaming multimediale. Le versioni attuali supportano anche multimedia, grafica e animazione.
Questa piattaforma viene utilizzata raramente con un tasso di penetrazione del browser desktop del 66%.
JavaFX
JavaFX è una libreria Java che consente di sviluppare Rich Internet Applications. Utilizzando la tecnologia Java, queste applicazioni hanno un tasso di penetrazione del browser del 76%.
Cos'è JavaFX?
JavaFX è una libreria Java utilizzata per creare applicazioni Internet avanzate. Le applicazioni scritte utilizzando questa libreria possono essere eseguite in modo coerente su più piattaforme. Le applicazioni sviluppate utilizzando JavaFX possono essere eseguite su vari dispositivi come computer desktop, telefoni cellulari, TV, tablet, ecc.
Sviluppare GUI Applications utilizzando il linguaggio di programmazione Java, i programmatori si affidano a librerie come Advanced Windowing Toolkit e Swing. Dopo l'avvento di JavaFX, questi programmatori Java possono ora sviluppare applicazioni GUI in modo efficace con contenuti ricchi.
Necessità di JavaFX
Sviluppare Client Side Applicationscon ricche funzionalità, i programmatori dipendevano da varie librerie per aggiungere funzionalità come Media, controlli UI, Web, 2D e 3D, ecc. JavaFX include tutte queste funzionalità in un'unica libreria. Oltre a questi, gli sviluppatori possono anche accedere alle funzionalità esistenti di una libreria Java comeSwing.
JavaFX fornisce un ricco set di API grafiche e multimediali e sfrutta il moderno Graphical Processing Unittramite grafica con accelerazione hardware. JavaFX fornisce anche interfacce che utilizzano le quali gli sviluppatori possono combinare animazioni grafiche e controllo dell'interfaccia utente.
È possibile utilizzare JavaFX con tecnologie basate su JVM come Java, Groovy e JRuby. Se gli sviluppatori optano per JavaFX, non è necessario apprendere tecnologie aggiuntive, poiché la conoscenza preliminare di una qualsiasi delle tecnologie sopra menzionate sarà sufficiente per sviluppare RIA utilizzando JavaFX.
Caratteristiche di JavaFX
Di seguito sono riportate alcune delle caratteristiche importanti di JavaFX:
Written in Java - La libreria JavaFX è scritta in Java ed è disponibile per i linguaggi che possono essere eseguiti su una JVM, che includono: Java, Groovy and JRuby. Queste applicazioni JavaFX sono anche indipendenti dalla piattaforma.
FXML- JavaFX presenta un linguaggio noto come FXML, che è un linguaggio di markup dichiarativo simile all'HTML. L'unico scopo di questa lingua è definire un'interfaccia utente.
Scene Builder- JavaFX fornisce un'applicazione chiamata Scene Builder. Integrando questa applicazione in IDE come Eclipse e NetBeans, gli utenti possono accedere a un'interfaccia di progettazione drag and drop, che viene utilizzata per sviluppare applicazioni FXML (proprio come Swing Drag & Drop e DreamWeaver Applications).
Swing Interoperability - In un'applicazione JavaFX, puoi incorporare contenuto Swing utilizzando l'estensione Swing Nodeclasse. Allo stesso modo, puoi aggiornare le applicazioni Swing esistenti con funzionalità JavaFX come contenuti web incorporati e supporti grafici ricchi.
Built-in UI controls - La libreria JavaFX soddisfa i controlli dell'interfaccia utente utilizzando i quali possiamo sviluppare un'applicazione completa.
CSS like Styling- JavaFX fornisce uno stile simile a CSS. Usando questo, puoi migliorare il design della tua applicazione con una semplice conoscenza dei CSS.
Canvas and Printing API- JavaFX fornisce Canvas, uno stile di rendering API in modalità immediata. All'interno del pacchettojavafx.scene.canvascontiene una serie di classi per la tela, utilizzando le quali possiamo disegnare direttamente all'interno di un'area della scena JavaFX. JavaFX fornisce anche classi per scopi di stampa nel pacchettojavafx.print.
Rich set of API’s- La libreria JavaFX fornisce un ricco set di API per sviluppare applicazioni GUI, grafica 2D e 3D, ecc. Questo set di API include anche funzionalità della piattaforma Java. Pertanto, utilizzando questa API, puoi accedere alle funzionalità dei linguaggi Java come Generics, Annotations, Multithreading e Lambda Expressions. La tradizionale libreria Java Collections è stata migliorata e sono stati inclusi concetti come elenchi e mappe osservabili. Usandoli, gli utenti possono osservare i cambiamenti nei modelli di dati.
Integrated Graphics library - JavaFX fornisce classi per 2d e 3d grafica.
Graphics pipeline- JavaFX supporta la grafica basata sulla pipeline grafica con accelerazione hardware nota come Prism. Quando viene utilizzato con una scheda grafica o GPU supportata, offre una grafica fluida. Nel caso in cui il sistema non supporti la scheda grafica, il prisma utilizza per impostazione predefinita lo stack di rendering del software.
Storia di JavaFX
JavaFX è stato originariamente sviluppato da Chris Oliver, quando lavorava per un'azienda denominata See Beyond Technology Corporation, che è stato successivamente acquisito da Sun Microsystems nell'anno 2005.
I seguenti punti ci danno maggiori informazioni su questo progetto:
Inizialmente questo progetto è stato chiamato F3 (Form Follows Functions) ed è stato sviluppato con l'intenzione di fornire interfacce più ricche per lo sviluppo di applicazioni GUI.
Sun Microsystems ha acquisito la società See Beyond nel giugno 2005, ha adattato il progetto F3 come JavaFX.
Nell'anno 2007, JavaFX è stato annunciato ufficialmente a Java One, una conferenza sul web che si tiene ogni anno.
Nell'anno 2008, Net Beansintegrato con JavaFX era disponibile. Nello stesso anno, il JavaStandard Development Kit per JavaFX 1.0 è stato rilasciato.
Nell'anno 2009, Oracle Corporation ha acquisito Sun Microsystems e nello stesso anno è stata rilasciata anche la versione successiva di JavaFX (1.2).
Nell'anno 2010 è uscito JavaFX 1.3 e nell'anno 2011 è stato rilasciato JavaFX 2.0.
L'ultima versione, JavaFX8, è stata rilasciata come parte integrante di Java il 18 marzo 2014.