Domanda

Dalla versione di Adobe AIR mi chiedo perché Java Web Start non abbia attirato più attenzione in passato per quanto mi riguarda, ma sembra essere molto simile, ma l'avvio web è disponibile per un tempo molto più lungo.

È principalmente a causa del cattivo marketing di Sun o ci sono più preoccupazioni tecniche oltre alla necessità di avere la giusta JVM installata? Hai brutte esperienze con Web Start? Se si quale? Quali sono i tuoi consigli quando usi Web Start per distribuire applicazioni?

È stato utile?

Soluzione

Nella mia azienda abbiamo usato Java Web Start per distribuire applicazioni Eclipse RCP. È stato un problema da configurare, ma funziona molto bene una volta sul posto. Quindi l'unica raccomandazione che potrei fare è iniziare in piccolo, per capire come funziona. Distribuire prima una semplice applicazione. Cercare di distribuire un prodotto completo già realizzato senza esperienza con JWS diventa complicato piuttosto rapidamente.

Inoltre, imparare a passare argomenti all'applicazione JWS è stato prezioso per il debug. L'impostazione della variabile di ambiente JAVAWS_VM_ARGS consente di impostare qualsiasi proprietà arbitraria sulla macchina virtuale Java. Nel mio caso:

-Xdebug -Xnoagent -Xrunjdwp: transport = dt_socket, server = y, suspend = y, address = 4144

Utile quando è necessario verificare i problemi durante l'avvio (suspend = y)

Penso che il problema principale per l'accettazione di Java Web Start sia che è relativamente difficile da configurare. Inoltre, in qualche modo c'è questa dissonanza: quando si dispone di un'applicazione desktop, le persone si aspettano un programma di installazione che possono fare doppio clic. Quando hai un'applicazione web, le persone si aspettano che possano usarla direttamente dal browser. Java Web Start non è né qui né lì ...

Tuttavia, è ampiamente utilizzato nelle intranet.

Altri suggerimenti

Lavoro nell'Intranet di una banca da 5 anni e il mio dipartimento ha sviluppato e distribuito MOLTE applicazioni Java Web Start utilizzate in tutto il mondo, penso che Java Web Start abbia le migliori applicazioni desktop ( sviluppo semplice, ricca interfaccia utente, potenza di elaborazione nel computer client) e applicazioni Internet (facile implementazione e aggiornamento).

Mi piace molto Java Web Start

Ho fatto un progetto una volta in JWS ed è stato un dolore iniziare. Peggio ancora, non avevo nemmeno a che fare con l'intera Internet, era una piccola applicazione che solo poche persone nel mio ufficio avrebbero usato. Ho sollevato le mani disgustato più di una volta durante la configurazione del server e aiutandoli a configurare l'applicazione sui computer client.

Penso che AIR stia diventando sempre più popolare (anche se non so mai fino a che punto arriverà) perché ha applicazioni che le persone vogliono effettivamente usare (dai un nome alla tua app JWS preferita ... vai avanti, sto aspettando) come twhirl . Non sono ancora un grande fan del modo in cui funziona AIR, ma è molto meglio di JWS.

Ecco un elenco da mindprob :

  • Le applicazioni Java Web Start sono dolorosamente lente da avviare. Il monitor carica una nuova JVM per sé e per ogni applicazione. Le applicazioni verificano sempre aggiornamenti sul Web, scaricando ed elaborando un intero nuovo file JNLP, anziché limitarne la verifica. Tuttavia, se occorrono circa 80 secondi per verificare la presenza di una nuova versione, significa che probabilmente hai problemi con un server proxy. Avviare javaws.exe e fare clic su Modifica ? Preferenze ? Impostazioni di rete ? Diretto. Non vuoi che JWS tenti di utilizzare il proxy di Google Accelerator. Controlla anche IE, fai clic su Strumenti ? Opzioni Internet ? Connessioni ? Impostazioni LAN e assicurati che tutto sia come previsto.
  • Il download richiede circa il tempo necessario per scaricare l'applicazione originale. Non c'è stata quasi nessuna intelligenza applicata per rendere gli aggiornamenti compatti.
  • Richiede il codice personalizzato in esecuzione sull'ISP per servire correttamente i file jardiff o per usare l'ipercompressione imminente pack200.
  • Non è cambiato molto dalla sua versione iniziale. Potrebbe essere ancora un altro prodotto orfano. Non merita di essere. Tuttavia, Sun ha rilasciato una nuova beta 1.2 dopo circa un anno e non è successo nulla, ed è stata integrata in JRE, quindi vedremo se sta riprendendo slancio. Ci sono alcuni problemi importanti che hanno ignorato, come il certificato OK nascosto dietro la schermata iniziale e che richiede ok per ogni vaso separatamente. Anche se è orfano non accadrà nulla di terribile. A meno che non si scrivano app JWS non firmate e non si utilizzi la sandbox JWS, le app JWS funzioneranno perfettamente autonomamente.
  • Richiede una configurazione speciale del tipo MIME JNLP sia nell'ISP che nel browser del client. Nessuno di questi sono sotto il diretto controllo dello sviluppatore.
  • Se si dispone di un aggiornamento urgente, non è possibile forzare l'installazione prima che l'applicazione venga nuovamente eseguita.
  • È necessario uno schema rigido per assegnare spazio sul disco rigido sul computer del client con le seguenti proprietà:
    • I nomi delle directory assegnate devono evitare scontri con altri fornitori. Dovrebbero includere il nome del pacchetto principale dell'applicazione.
    • I nomi devono essere significativi per l'utente finale. Dovrebbero essere qualcosa che può ricordare, trovare e digitare quando deve trovare file con strumenti desktop.
    • Lo schema deve fornire un posto sia per i file per utente sia per i file per applicazione.
    • Un programma dovrebbe funzionare su qualsiasi piattaforma senza modifiche per trovare i suoi file.

Java Web Start è il modo giusto per avviare applicazioni Java più grandi perché consente un facile aggiornamento e installazione / download dell'applicazione e consente una migliore UI / UX rispetto alle applet Java.

Tuttavia , ci sono alcuni blocchi stradali per l'avvio di applicazioni Java Web Start da una pagina Web utilizzando browser comuni con impostazioni predefinite:

  1. Sun / Oracle non è riuscito a creare un'intergrazione del browser funzionante. Vedi http://crbug.com/10877 per esempio su Google Chrome / Chromium. Fondamentalmente il plug-in Java non riesce a implementare le cose NPAPI richieste per far sì che Firefox e Chrome possano inoltrare in modo affidabile application / x-java-jnlp-file a javaws / < code> javaws.exe binario.

  2. Sun / Oracle non è riuscito a ottenere un vero tipo MIME registrato per i file .jnl di Java Web Start. Il prefisso application / x- significa tecnicamente bozza o privato.

  3. Sun / Oracle non è riuscito a utilizzare lo schema URL invece del tipo MIME quando lo scopo è che Java Web Start gestisca il download e l'avvio dell'applicazione. Ad esempio, se invece di utilizzare URL come https://example.com/app/launch.jnlp Java Web Start fosse lanciato come javaws: //example.com/app/launch .jnlp le cose funzionerebbero molto più agevolmente. Questo perché in questo caso, il browser web non deve nemmeno caricare il file .jnlp , passa semplicemente l'URL completo al gestore dello schema (che sarebbe il javaws binario).

Nota la parte ripetuta (" Sun / Oracle fallita ... ") e non dovrai più chiederti perché Java Web Start non abbia mai avuto molta trazione. La grande parte mancante è ottenere un link alla pagina web per in modo affidabile avviare il binario javaws con il file .jnlp specificato. Che dovrebbe essere tecnicamente molto semplice (basta registrare un nuovo schema URL quando è installato il binario javaws ), ma Sun / Oracle non è riuscito a farlo. Personalmente penso che l'intero pasticcio sia stato causato dal tentativo di pasticciare con il tipo MIME anziché semplicemente usando un nuovo schema URL. E anche le cose del tipo MIME sono state fatte davvero male, per gridare ad alta voce.

Se si desidera ancora utilizzare Java Web Start, è sufficiente preparare una buona documentazione per configurare correttamente il browser per risolvere il disordine lasciato da Sun / Oracle. La parte buona è che deve essere fatto solo una volta e funzionerà per qualsiasi sito che utilizza Java Web start. La parte negativa è che di solito il browser non è mai stato configurato per fare la cosa giusta con i file .jnlp e tu hai la colpa dell'uso della tecnologia "difficile da usare"; perché gli utenti non vogliono configurare il proprio browser solo per usare l'applicazione. Ho già detto che è stato Sun / Oracle a non configurare automaticamente il browser?

La mia esperienza:
L'ho usato nel 2006, applicazione intranet per una banca.

Il primo download è andato bene, tuttavia, quando si desidera inviare una nuova versione, la memorizzazione nella cache dei file jar non ha funzionato, quindi i nuovi file non sono stati inviati al client.

Abbiamo trascorso una settimana cercando di risolvere questo problema senza successo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top