Welche Java-Version sollte ich für eine Desktop-Anwendung verwenden, um die meisten Benutzer zu erreichen? [geschlossen]

15

Stimmt es, dass die meisten Endbenutzer eine ältere Version als Java 8 verwenden? Da ich die Benutzer nicht zwingen möchte, ein Upgrade durchzuführen, um meine Anwendung zu verwenden, sollte ich von Anfang an die Verwendung von Java 7 oder sogar 6 einplanen, auch wenn dies bedeutet, dass ich die Vorteile der neueren Versionen nicht für mich selbst nutzen kann Als ein Entwickler?

Andreas Hartmann
quelle
6
Wie wird die Antwort auf diese Frage in einem Jahr relevant sein? 5 Jahre? Eine Frage zu z. B. Java 8 im Vergleich zu Java 7 zu stellen, ist in Ordnung, aber zu fragen, welche der beiden Versionen zu verwenden ist, ist für diese Site keine gute Frage, da die Frage selbst zeitlich feststeckt, ganz zu schweigen davon, dass es sich im Wesentlichen um eine Frage handelt Fragen Sie nach einer Produktempfehlung.
Wer sind Ihre Benutzer und um welche Art von Anwendung handelt es sich? Eine Anwendung für die Omas der Welt unterscheidet sich von einer Utility-Anwendung für IT-Mitarbeiter.
Freiheit
Java ist nicht vorinstalliert (im Gegensatz zu .NET unter Windoze), daher müssen Sie (eine Teilmenge von) JRE in Ihre Anwendung aufnehmen. Sie können also das Beste verwenden. Das heißt - verwenden Sie die neueste stabile Version. (das heißt jetzt - eine Version von JRE 1.8)
Anzeigename
Die beste Vorgehensweise für die Sicherheit besteht darin, die Installation von Java als inakzeptables Risiko zu betrachten, und ich denke, die einzig vernünftige Antwort lautet "überhaupt keine".
R ..
@R .., wo haben Sie solche "Best Practices" gehört?
Arturo Torres Sánchez

Antworten:

44

In einer kontrollierten Unternehmensumgebung, in der alle Desktops für eine bestimmte Version gesperrt sind, ist es nicht sinnvoll, sich auf eine installierte JRE zu verlassen, um korrekt zu sein. In diesem Fall sollten Sie diese Frage an die Person richten, die diese Umgebung kontrolliert.

Für eine Massenmarkt-Java-Desktop-Anwendung sollten Sie ein Installations- oder Startprogramm verwenden , das die von Ihnen gewünschte JRE bündelt , oder Java Web Start (JAWS) einrichten .

Beachten Sie, dass Sie die Lizenzbestimmungen einhalten müssen, wenn Sie eine gebündelte JRE tatsächlich physisch vertreiben . Ich bin kein Anwalt, aber diese sollten für die meisten Zwecke nicht problematisch sein. Wenn Sie in einer Situation sind, in der Sie ein juristisches Team haben, sollten Sie es natürlich überholen.

Für Entwickler oder andere technisch orientierte Tools ist es im Allgemeinen vorzuziehen, die Gläser auf Maven Central zu veröffentlichen , damit die Verteilung und der Download vollständig automatisiert werden. Dies ist ein Fall, in dem das Festhalten an älteren Java-Versionen von Vorteil ist, da sie in Unternehmen eingesetzt werden können, die auf eine ältere Version beschränkt sind.

Aber ich würde mir darüber keine Sorgen machen, wenn ein Projekt heute begonnen hätte.

Wenn all das zu viel Arbeit ist, können Sie den Quellcode einfach auf Github oder Bitbucket veröffentlichen und ihn vom Benutzer selbst erstellen lassen.

Soru
quelle
3
Eine zeitlose Antwort auf eine zeitgemäße Frage, großartig. Ich möchte hinzufügen, dass Sie eine kostenlose JRE-Alternativversion für Leute vertreiben können, die so etwas mögen. Könnte das sogar zu einem portablen Release machen.
StarWeaver
1
Das Bündeln von JRE erfordert eine Lizenz und es ist furchtbar gefährlich, wenn die Anwendung auf das Internet zugreift.
acelent
Bitte erläutern Sie, bedeutet das, dass ich eine JRE lizenzieren muss, auch wenn ich meine Software ohne Gewinnabsicht veröffentlichen werde, oder vielleicht sogar Open Source?
Andreas Hartmann
12

Java 6 wird von Oracle nicht unterstützt. Verwenden Sie das also nicht. Die Unterstützung für Java 7 endet also am 15. April. Verwenden Sie einfach Java 8 und sparen Sie sich den Aufwand.

Weitere Informationen finden Sie in der Oracle-Support-Roadmap .

Haakon Løtveit
quelle
Ich wünschte, dies wäre der Fall für Android :(.
Jared Burrows
1

Ein weiterer zu berücksichtigender Punkt ist, dass es je nach Größe Ihres Projekts darauf ankommt, welche Java-Version herauskommt und welche veraltet sein wird. Für die meisten größeren Projekte ist es ratsam, mit der aktuellen "Out of Beta / Alpha" -Version (in diesem Fall Java 8) zu arbeiten, die bei der Veröffentlichung möglicherweise aktuell ist oder nicht.

huntersan9
quelle