2011-12-21 13 views
9

Abbiamo sviluppato diverse applicazioni Web per clienti diversi, da semplici GUI di tipo CRUD dall'aspetto noioso per quei poveri amministratori, alle GUI avanzate di fantasia AJAX per quelle persone Internet. Tutti questi erano basati su JSF 1.2 in combinazione con JBoss Seam 2, utilizzando Facelets e RichFaces come livello di presentazione.JavaFX nelle applicazioni Web aziendali: una buona alternativa alle pagine Web classiche?

Sappiamo dei limiti di JSF 1.2 e (mi sento triste per questo) non abbiamo ancora gestito la transizione a Java EE 6, ma con la definizione di questa configurazione come nostro stack tecnologico, abbiamo acquisito una certa esperienza con quella tecnologia, sentirsi a proprio agio per sviluppare in modo affidabile applicazioni web per i nostri clienti.

Quindi, perché diamine ti dico? Perché sperimentiamo sempre di più che i clienti che hanno sentito parlare di "Web 2.0" vogliono avere funzionalità di rich client accettando solo un browser come porta per tutte le applicazioni. Sebbene sappiamo che è possibile farlo con la tecnologia che usiamo, riteniamo che potrebbe essere una buona idea utilizzare qualcosa di diverso dal lato client per supportare tali esigenze. E dal momento che siamo per lo più programmatori Java e continuiamo a sparare a questo ragazzo che ci infastidisce con il suo Adobe Flex, pensiamo che JavaFX nella sua nuova versione potrebbe essere una buona cosa da fare.

Mi sono fatto le mani dolorosamente scavando nel profondo delle risorse JavaFX che riuscivo a trovare - ma una cosa che mi è venuta in mente abbastanza spesso era che JavaFX si presenta come una tecnologia che è in grado di fare alcuni bei effetti grafici , ma mentre si rimbalzano bolle sfumate colorate potrebbero sembrare interessanti, sono fondamentalmente inutili nelle applicazioni aziendali.

Bene, per farla breve - ci piace utilizzare Java EE 6 nel backend pur avendo funzionalità ricche e di bell'aspetto sul client. JavaFX è una buona alternativa qui alle classiche pagine Web o anche alle imminenti pagine Web HTML 5 in fase di sviluppo di applicazioni Web aziendali e dove è possibile trovare esempi per questo?

Grazie per il vostro tempo a leggere questo e per le risposte che si spera possano sorgere.

+0

Penso che sia più di un alternativa a "swing classico o. NET crea applicazioni ". – Thilo

+0

Ovviamente è un'alternativa (ancora di più oggi). Non è un'alternativa ottimale per i casi di utilizzo del web SEMPLICE, specialmente laddove la distribuzione è molto complessa (suggerimento: solitamente con "impresa", a causa di controlli interni, la distribuzione è relativamente semplice). Ma per casi d'uso complessi o ambienti altamente standardizzati è certamente utilizzabile. Flex è stato fantastico (il migliore, facilmente) nel corso della giornata (e facile da imparare per gli sviluppatori Java ...), fino a quando Apple non ha rovinato Flash, quindi con il senno di poi guardare FX è stato un buon richiamo - incorporato in JDK ora .. – User

risposta

9

Si consiglia di dare un'occhiata a campione DataApp da JavaFX campioni fascio in http://www.oracle.com/technetwork/java/javafx/downloads/index.html

Si tratta di un esempio di applicazioni enterprise con JavaFX interfaccia utente nel browser. Vi darà un buon esempio di ciò che può essere fatto su JavaFX per i client aziendali.

Potrebbe essere necessario dedicare un po 'di tempo all'installazione di MySQL, EE e roba per questo esempio (abbastanza semplice, basta seguire README fornito), ma si vedrà come viene gestito lo stack completo dal DB all'interfaccia utente del client.

Piccolo screenshot della prima schermata:

DataApp Sample

+0

Grazie per il suggerimento - l'ho già scaricato, ma dato che DataApp è solo nella cartella src, non l'ho notato. –

+0

Penso che sia un buon inizio, quindi accetto questo, anche se mi piacerebbe sapere, se si può avere un modo più stretto, supportato da framework per scambiare dati e invocare azioni come sono abituato a JSF e non solo andare via REST webservices. –

10

Vorrei andare per HTML 5, a meno che non avessi alcune esigenze che un'app Web non potrebbe soddisfare.

Sono certo che è possibile creare applicazioni fantastiche con JavaFX, ma gli strumenti disponibili sono molto limitati, ad eccezione del materiale Java standard. E dal momento che non è molto usato, avrai difficoltà a trovare supporto e assumere persone che sono brave a farlo. C'è anche sempre il rischio che vada allo stesso modo della sua controparte. Silverlight - al bidone della spazzatura (Oracle non è sentimentale). Come per Flex, Adobe just donated Flex to Apache with the explanation that HTML 5 is the "best technology for enterprise application development".

Confronta questo con HTML 5. Non è solo più ampiamente utilizzato (il che significa che sarai in grado di trovare supporto e avere un reclutamento più facile), ma ottiene anche più supporto, migliori strumenti e nuove funzionalità continuamente. Penso che sia piuttosto ovvio che è più a prova di futuro.

+1

Sì, ho anche pensato di usare solo HTML 5 per le stesse ragioni di cui stai parlando. Non ho ancora avuto un'analisi approfondita - ma poiché HTML 5 è ancora un linguaggio di markup e non un linguaggio di programmazione - che cosa stai usando per lo sviluppo del codice client - JavaScript con molti framework in cima? –

+0

Sì, Javascript e jQuery sono una sorta di standard per la programmazione web lato client. La maggior parte dei framework web Java (incluso JSF) può generare molto Javascript per aiutarti, se davvero non vuoi scrivere JS. – gustafc

+0

Non è una risposta alla domanda, questo è un passo di vendite. Voi ragazzi del web siete spudorati. Smetti di cercare di "uccidere" altre tecnologie e di rimanere nella tua sandbox frammentata semi-funzionale, per favore. – User

4

maggior parte degli esempi di "lato impresa" di JavaFX troverete sarà un client JavaFX parlando al back-end tramite un webservice RESTful.

Ma, Java Web Start è una tecnologia interessante. Con esso avrai un client applicativo lanciato attraverso il tuo sito web, aggiornato automaticamente alla versione più recente e con tutte le nuove dipendenze scaricate automaticamente dal server. È anche possibile eseguire l'iniezione delle dipendenze e iniettare un proxy locale del client sulle risorse lato server; Enterprise JavaBeans, JMS oggetti amministrati eccetera.

Questa è una tecnologia davvero utile, che consente al client di parlare con il server in numerosi modi e non solo di utilizzare i servizi Web cablati HTTP. Tuttavia, JavaFX frena questo modello. Non esiste un modo semplice per incorporare un client di applicazione JavaFX in un pacchetto EAR e utilizzarlo per l'integrazione delle dipendenze. Ma ho trovato una soluzione che è abbastanza intuitiva e semplice da riprodurre. Quindi, per dare ancora un altro esempio di un'applicazione JavaFX lavorare come una GUI remota al back-end, si prega di dare un'occhiata al mio tutorial:

http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/

+0

Ottimo articolo, grazie per la condivisione. –

+0

Ho cercato questo blog, è molto utile, ma non riesco a trovare un modo per testarlo con il server wildfly. Perché questo manca questo. config: META-INF/custom.jnlp kamel2005

+0

wildfly non ha questo file: glassfish-application-client.xml. – kamel2005

Problemi correlati