JavaFX-può davvero essere distribuito in un browser? [chiuso]


Ho fatto alcune ricerche su JavaFX nel corso dell'ultimo anno, e anche costruito alcune applicazioni desktop di base con esso.

È descritto come utilizzato per creare RIAs (Rich Internet Application).

Http://en.wikipedia.org/wiki/Javafx

Ma può davvero essere distribuito da un browser web? L'ho distribuito solo tramite un file JAR eseguibile.

Quanto è facile distribuire tramite browser web? Funziona? Qualcuno ha esperienza con questo?

Http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm

Author: Alexander Mills, 2013-09-30

4 answers

Aggiornamento per la roadmap del client Java di marzo 2018

Incoraggio i lettori interessati a questa domanda a rivedere il seguente Whitepaper Oracle:

Il documento di cui sopra delinea la posizione ufficiale di Oracle sulle tecnologie correlate( JavaFX / Swing / AWT / Applets / WebStart), le date in cui intende supportare tali tecnologie e quali di tali tecnologie intende passare allo sviluppo open source progetti separati dal JDK e JRE.

Aggiornamento per Java 9, Oct 2017

Secondo le note di rilascio Java 9:

Le funzionalità Applet e WebStart Java, incluse l'API Applet, il plug-in Java, il visualizzatore applet Java, JNLP e Java Web Start incluso lo strumento javaws sono tutte deprecate in JDK 9 e verranno rimosse in una versione futura.

Quindi, per Java 9+, la distribuzione di JavaFX in un browser che utilizza un plug-in Java sarà solo essere possibile utilizzando la tecnologia deprecata. Note Oracle in un'altra parte del Java 9 note di rilascio:

Depreca il plug-in Java e le tecnologie applet associate nelle build JDK 9 di Oracle. Mentre sono ancora disponibili in JDK 9, queste tecnologie saranno prese in considerazione per la rimozione da Oracle JDK e JRE in una versione futura. Le applet e le applicazioni JavaFX incorporate in una pagina Web richiedono l'esecuzione del plug-in Java. Considerare la riscrittura di questi tipi di applicazioni come Java Avvio Web o applicazioni autonome.

Nota: Java Web Start non è davvero un'alternativa in quanto è anche deprecato (in ogni caso, è diverso da un'applicazione incorporata e renderizzata all'interno di una pagina del browser).

Come alternativa che offre funzionalità simili, considera qualcosa come jpro , che distribuisce le applicazioni JavaFX in un browser senza un plugin Java (jpro è attualmente solo in closed beta, quindi non è una soluzione praticabile a partire da ottobre 2017, ma forse un giorno in futuro...).

Per ora, consiglierei che il modo migliore per distribuire le applicazioni JavaFX sia applicazioni autonome, in esecuzione all'esterno di un browser.


Risposta precedente per Java 7 e 8

JavaFX - può davvero essere distribuito in un browser?

Sì, le applicazioni JavaFX possono essere distribuite in modo che vengano eseguite all'interno di una pagina Web html ospitata da un browser Web.

La tecnologia che permette che ciò accada è il plugin Java . Questo plugin è attualmente un NPAPI basato su browser plugin soluzione. Il plugin Java viene fornito con Oracle Java 7 Runtime Standard Environment .

Non tutti i browser sono supportati, solo quelli elencati nella pagina JavaFX Supported Configurations.

Quanto è facile distribuire tramite browser web?

Il modo più semplice per distribuire un progetto JavaFX in un browser Web è:

  1. Crea un nuovo Progetto JavaFX in NetBeans.
  2. Sviluppare una semplice applicazione HelloWorld .
  3. Seguire le istruzioni per Distribuzione della prima applicazione JavaFX .

Questo non è difficile (secondo me).

In alternativa, seguire le istruzioni sul riferimento dettagliato per Distribuzione delle applicazioni JavaFX (o utilizzare strumenti di terze parti). Per molti progetti, l'utilizzo di uno strumento diverso dall'IDE NetBeans per eseguire il packaging è un approccio migliore. Tuttavia, esso è generalmente più semplice lasciare che l'IDE di NetBeans gestisca le attività di pacchettizzazione della distribuzione per te.


Quanto segue non è correlato alla risposta alla domanda originale, ma fornisce alcune opinioni e informazioni richieste nei commenti su questa risposta.

Alcuni consigli

Ci sono insidie per la distribuzione di Java in un browser. Ti incoraggio a fare la tua ricerca su Google sull'argomento.

Nella mia mente, basato sull'attuale JavaFX 2.modello di distribuzione x, per la maggior parte tipi di applicazioni che richiedono un browser come contenitore di runtime primario, l'utilizzo di JavaFX non è una soluzione appropriata.

Esaminare i requisiti di distribuzione e runtime per l'applicazione. In base ai requisiti e alla conoscenza del modello di esecuzione basato su browser JavaFX, decidere se una distribuzione basata su browser che utilizza la tecnologia JavaFX è il meccanismo corretto per l'applicazione.

Un paio di potenziali difficoltà per il browser embedded JavaFX applicazioni

Alcuni browser importanti (ad esempio Internet Explorer 10, iOS Safari e presto Desktop Chrome) non consentono l'esecuzione di plugin utilizzando l'NPAPI attualmente utilizzato dal plugin per browser Java => alcuni degli utenti di destinazione potrebbero non essere in grado di utilizzare l'applicazione.

Con un'applicazione incorporata nel browser, non si ha il controllo completo sul runtime su cui viene eseguita l'applicazione (browser + runtime Java + interfaccia plugin) => un l'applicazione che funzionava al momento della prima installazione potrebbe smettere di funzionare come previsto dopo un aggiornamento a questi componenti di runtime.

Alternative di distribuzione

Se un modello di distribuzione basato su browser non è appropriato per l'applicazione, esistono altri modi per distribuire le applicazioni JavaFX (ad esempio WebStart, jar stand-alone e applicazioni autonome).

 60
Author: jewelsea, 2018-03-30 01:13:50

JavaFX - può davvero essere distribuito in un browser?

No, non più.

La risposta ha usatoper essere sì, come indicato in questa risposta, anche se anche nel 2013 quando è stato scritto la scritta era sul muro. Tuttavia, qui nel 2016 la risposta è no, non può. I browser moderni essenzialmente non supportano più NPAPI (Firefox lo fa per Java, ma solo fino alla fine dell'anno), e NPAPI è richiesto per il plugin Java.

 38
Author: T.J. Crowder, 2017-05-23 11:33:19

A partire dal 2016 è possibile utilizzare jpro senza alcun plugin per il browser. E funziona anche su cellulari.

Modifica 1: Il progetto è gratuito per progetti non commerciali o open source. Un " ciao mondo "può essere trovato qui

 9
Author: KIC, 2018-07-18 12:15:56

Ho trovato la soluzione per caso qui . cosa mancava nel mio progetto web.

Devo aggiungere questo al web.file xml:

 <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
 1
Author: kamel2005, 2015-12-02 19:27:39