Jakiej wersji Java powinienem użyć do aplikacji komputerowej, aby dotrzeć do jak największej liczby użytkowników? [Zamknięte]


15

Czy słusznie zakładam, że większość użytkowników końcowych używa starszej wersji niż Java 8? Ponieważ nie chcę zmuszać ludzi do uaktualnienia w celu korzystania z mojej aplikacji, czy powinienem od samego początku planować używanie Java 7, a nawet 6, nawet jeśli oznacza to, że nie mogę samodzielnie korzystać z zalet nowszych wersji jako deweloper?


6
W jaki sposób odpowiedź na to pytanie będzie istotna za rok? Pięć lat? Zadanie pytania o np. Javę 8 w porównaniu z Javą 7 jest w porządku, ale pytanie, która z dwóch używanych wersji nie jest dobrym pytaniem dla tej witryny, ponieważ samo pytanie utknęło w czasie, nie mówiąc już o nim z prośbą o rekomendację produktu.

Kim są Twoi użytkownicy i jaka to aplikacja? Aplikacja dla babć świata różni się od aplikacji narzędziowej dla informatyków.
Freiheit

Java nie jest fabrycznie instalowana (w przeciwieństwie do .NET na Windoze), więc będziesz musiał dołączyć (część) środowiska JRE do swojej aplikacji. Możesz więc używać wszystkiego, co najlepsze. Oznacza to - użyj najnowszej stabilnej wersji. (to znaczy teraz - wersja JRE 1.8)
Nazwa wyświetlana

Ponieważ najlepszymi praktykami bezpieczeństwa są rozważenie zainstalowania przez Java niedopuszczalnego ryzyka, myślę, że jedyną rozsądną odpowiedzią jest „wcale”.
R .. GitHub ZATRZYMAJ LOD

@R .., gdzie słyszałeś o takich „najlepszych praktykach”?
Arturo Torres Sánchez

Odpowiedzi:


44

Powoływanie się na zainstalowane środowisko JRE nie ma sensu poza kontrolowanym środowiskiem korporacyjnym, w którym wszystkie komputery stacjonarne są zablokowane do określonej wersji. W takim przypadku powinieneś zadać to pytanie osobie kontrolującej to środowisko.

W przypadku aplikacji komputerowej Java dostępnej na rynku masowym należy użyć instalatora lub programu uruchamiającego, który zawiera pakiet JRE, którego chcesz używać, lub skonfigurować Java Web Start (JAWS).

Pamiętaj, że jeśli faktycznie fizycznie rozpowszechniasz pakiet JRE, musisz przestrzegać warunków licencji . Nie jestem prawnikiem, ale w większości przypadków nie powinny one stanowić problemu. Jeśli znajdujesz się w sytuacji, gdy masz zespół prawny, powinieneś oczywiście przejść obok nich.

Deweloperom lub innym technicznie zorientowanym narzędziom zwykle zaleca się publikowanie słoików w Maven Central , więc dystrybucja i pobieranie są całkowicie zautomatyzowane. Jest to jeden przypadek, w którym trzymanie się starszych wersji Java jest zaletą, ponieważ umożliwia ich stosowanie w korporacjach zamkniętych na starszą wersję.

Ale nie martwiłbym się tym zbytnio, ponieważ projekt rozpoczął się dzisiaj.

Wreszcie, jeśli wszystkie powyższe czynności są zbyt pracochłonne, możesz po prostu opublikować źródło na github lub bitbucket i pozwolić użytkownikowi samodzielnie go zbudować.


3
Ponadczasowa odpowiedź na aktualne pytanie, niesamowite. Dodam, że możesz rozpowszechniać alternatywną wersję JRE dla osób, które lubią tego rodzaju rzeczy. Może sprawić, że będzie to przenośne wydanie.
StarWeaver

1
Dołączanie JRE wymaga licencjonowania i jest strasznie niebezpieczne, jeśli aplikacja uzyskuje dostęp do Internetu.
acelent

Proszę rozwinąć, czy to oznacza, że ​​muszę licencjonować środowisko JRE, nawet jeśli zamierzam wydać moje oprogramowanie bez zamiaru zysku, a może nawet open source?
Andreas Hartmann

12

Java 6 nie jest obsługiwana przez Oracle, więc nie używaj tego. Obsługa Java 7 kończy się 15 kwietnia, więc wiesz. Wystarczy użyć Java 8 i zaoszczędzić sobie kłopotów.

Aby uzyskać więcej informacji, zobacz mapę drogową wsparcia Oracle .


Chciałbym, żeby tak było w przypadku Androida :(.
Jared Burrows

1

Inną kwestią do rozważenia jest to, że w zależności od wielkości projektu, jaka wersja Java będzie dostępna i co będzie przestarzała. W przypadku większości dużych projektów rozsądnie byłoby pracować z bieżącą wersją „poza wersją beta / alfa” (w tym przypadku Java 8), która może, ale nie musi być aktualna po wydaniu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.