Quelle version de Java dois-je utiliser pour qu'une application de bureau atteigne le plus grand nombre d'utilisateurs? [fermé]

15

Ai-je raison de supposer que la plupart des utilisateurs finaux utilisent une version plus ancienne que Java 8? Étant donné que je ne veux pas forcer les gens à effectuer une mise à niveau pour utiliser mon application, dois-je prévoir d'utiliser Java 7 ou même 6 dès le départ, même si cela signifie que je ne peux pas appliquer les avantages des versions plus récentes pour moi-même en tant que développeur?

Andreas Hartmann
la source
6
Comment la réponse à cette question sera-t-elle pertinente dans un an? Cinq ans? Poser une question sur, par exemple, Java 8 par rapport à Java 7 est bien, mais demander laquelle des deux versions utiliser n'est pas une bonne question pour ce site, car la question elle-même est bloquée dans le temps, sans mentionner qu'elle est essentiellement demander une recommandation de produit.
Qui sont vos utilisateurs et de quel type d'application s'agit-il? Une application pour les grands-mères du monde est différente d'une application utilitaire pour les informaticiens.
Freiheit
Java n'est pas préinstallé (contrairement à .NET sur Windoze), vous devrez donc inclure (un sous-ensemble de) JRE avec votre application. Vous pouvez donc utiliser ce qui est le mieux. Cela signifie - utilisez la dernière version stable. (cela signifie maintenant - une version de JRE 1.8)
Afficher le nom le
Étant donné que les meilleures pratiques en matière de sécurité consistent à considérer l'installation de Java comme un risque inacceptable, je pense que la seule réponse raisonnable est «aucune».
R .. GitHub STOP HELPING ICE
@R .., où avez-vous entendu ces «meilleures pratiques»?
Arturo Torres Sánchez

Réponses:

44

S'appuyer sur un JRE installé pour être correct n'a aucun sens en dehors d'un environnement d'entreprise contrôlé où tous les bureaux sont verrouillés sur une version spécifique. Dans ce cas, vous devriez poser cette question à la personne qui contrôle cet environnement.

Pour une application de bureau Java grand public, vous devez utiliser un programme d'installation ou un lanceur qui regroupe le JRE que vous souhaitez qu'ils utilisent, ou configurer Java Web Start (JAWS).

Notez que si vous distribuez réellement physiquement un JRE intégré, vous devez vous conformer aux termes de la licence . Je ne suis pas avocat, mais cela ne devrait pas être problématique dans la plupart des cas. Si vous êtes dans une situation où vous avez une équipe juridique, vous devez bien sûr la passer devant eux.

Pour un développeur ou un autre outil à vocation technique, il est généralement préférable de publier les fichiers jar sur Maven Central , de sorte que la distribution et le téléchargement sont entièrement automatisés. C'est un cas où le fait de s'en tenir aux anciennes versions de Java est un avantage, car il permet leur utilisation dans des sociétés verrouillées sur une version plus ancienne.

Mais je ne m'inquiéterais pas trop de cela pour un projet commencé aujourd'hui.

Enfin, si tout ce qui précède est trop de travail, vous pouvez simplement publier la source sur github ou bitbucket et laisser l'utilisateur le construire lui-même.

Soru
la source
3
Une réponse intemporelle à une question ponctuelle, génial. J'ajouterais que vous pouvez distribuer une version alternative gratuite de JRE pour les personnes qui aiment ce genre de chose. Pourrait même en faire une version portable.
StarWeaver
1
Le regroupement de JRE nécessite une licence et il est extrêmement dangereux si l'application accède à Internet.
acelent
Veuillez élaborer, cela signifie-t-il que je dois concéder une licence JRE même si je vais publier mon logiciel sans intention de profit, ou peut-être même open source?
Andreas Hartmann
12

Java 6 n'est pas pris en charge par Oracle, alors n'utilisez pas cela. La prise en charge de Java 7 prend fin le 15 avril, alors vous savez. Utilisez simplement Java 8 et évitez les tracas.

Voir la feuille de route du support d'Oracle pour plus d'informations.

Haakon Løtveit
la source
Je souhaite que ce soit le cas pour Android :(.
Jared Burrows
1

Un autre point à considérer est que, selon la taille de votre projet, quelle version de Java sera disponible et ce qui sera obsolète. Pour la plupart des projets de grande taille, il serait sage de travailler avec la version actuelle 'out of beta / alpha', (dans ce cas Java 8) qui peut ou non être à jour lorsque vous sortez.

huntersan9
la source