Quale versione di Java dovrei usare per un'applicazione desktop per raggiungere la maggior parte degli utenti? [chiuso]


15

È corretto supporre che la maggior parte degli utenti finali stia utilizzando una versione precedente a Java 8? Dal momento che non voglio forzare le persone a eseguire l'aggiornamento per poter utilizzare la mia applicazione, dovrei pianificare di utilizzare Java 7 o anche 6 dall'inizio, anche se ciò significa che non posso applicare i vantaggi delle versioni più recenti per me stesso come sviluppatore?


6
In che modo la risposta a questa domanda sarà rilevante tra un anno? Cinque anni? Fare una domanda su ad es. Java 8 rispetto a Java 7 va bene, ma chiedere quale delle due versioni usare non è una buona domanda per questo sito per il fatto che la domanda stessa è bloccata nel tempo, per non parlare del fatto che è essenzialmente chiedere una raccomandazione sul prodotto.

Chi sono i tuoi utenti e che tipo di applicazione è? Un'applicazione per le nonne del mondo è diversa da un'applicazione di utilità per le persone IT.
Freiheit,

Java non viene preinstallato (diversamente da .NET su Windoze), quindi dovrai includere (un sottoinsieme di) JRE con la tua applicazione. Quindi, puoi usare qualunque sia la migliore. Ciò significa che usa l'ultima versione stabile. (che significa ora - una versione di JRE 1.8)
Visualizza nome

Dato che le migliori pratiche per la sicurezza devono considerare la possibilità che Java abbia installato un rischio inaccettabile, penso che l'unica risposta ragionevole sia "nessuna".
R .. GitHub FERMA DI AIUTARE ICE

@R .., dove hai sentito queste "migliori pratiche"?
Arturo Torres Sánchez,

Risposte:


44

Affidarsi a un JRE installato per essere corretto non ha senso al di fuori di un ambiente aziendale controllato in cui tutti i desktop sono bloccati su una versione specifica. Nel qual caso, dovresti porre questa domanda alla persona che controlla quell'ambiente.

Per un'applicazione desktop Java per il mercato di massa, è necessario utilizzare un programma di installazione o un programma di avvio che raggruppa il JRE che si desidera vengano utilizzati o impostare Java Web Start (JAWS).

Se si distribuisce fisicamente un JRE in bundle, è necessario rispettare i termini della licenza . Non sono un avvocato, ma quelli non dovrebbero essere problematici per la maggior parte degli scopi. Se ti trovi in ​​una situazione in cui hai una squadra legale, dovresti ovviamente superarla.

Per uno sviluppatore o altri strumenti tecnicamente orientati, è generalmente preferibile pubblicare i vasetti su Maven Central , quindi la distribuzione e il download sono completamente automatizzati. Questo è un caso in cui attenersi alle versioni Java precedenti è un vantaggio, in quanto consente il loro utilizzo in società bloccate a una versione precedente.

Ma non mi preoccuperei troppo per un progetto iniziato oggi.

Infine, se tutto quanto sopra è troppo lavoro, puoi semplicemente pubblicare il sorgente su github o bitbucket e lasciare che l'utente lo costruisca da solo.


3
Una risposta senza tempo a una domanda temporale, fantastica. Vorrei aggiungere che è possibile distribuire una versione alternativa gratuita di JRE per le persone a cui piace questo genere di cose. Potrebbe rendere uniforme una versione portatile.
StarWeaver,

1
Il bundle di JRE richiede una licenza ed è terribilmente pericoloso se l'applicazione accede a Internet.
acelent

Per favore, elabora, significa che devo concedere in licenza un JRE anche se sto per rilasciare il mio software senza un intento di profitto, o forse anche open source?
Andreas Hartmann


1

Un altro punto da considerare è che, a seconda delle dimensioni del progetto, quale versione di Java uscirà e quale sarà obsoleta. Per la maggior parte dei progetti di dimensioni considerevoli, sarebbe saggio lavorare con l'attuale versione "fuori beta / alfa", (in questo caso Java 8) che potrebbe essere o meno attuale al momento del rilascio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.