Яку версію Java я повинен використовувати для настільних програм, щоб охопити найбільше користувачів? [зачинено]


15

Чи правильно я вважаю, що більшість кінцевих користувачів використовують старішу версію, ніж Java 8? Оскільки я не хочу змушувати людей оновлюватись, щоб користуватися моїм додатком, чи повинен я планувати його з самого початку використовувати Java 7 або навіть 6, навіть якщо це означає, що я не можу застосувати переваги новіших версій для себе як розробник?


6
Як відповідь на це питання буде актуальною через рік? П'ять років? Поставити запитання про, наприклад, Java 8 порівняно з Java 7, це добре, але задати, яку з двох версій використовувати, не є хорошим питанням для цього сайту, оскільки сам питання застряг у часі, не кажучи вже про це, по суті запитання щодо рекомендації щодо товару.

Хто ваші користувачі і що це за програма? Додаток для бабусь світу відрізняється від утилітного додатку для ІТ-людей.
Freiheit

Java не є попередньо встановленою (на відміну від .NET на Windoze), тому вам доведеться включити (підмножину) JRE у свою програму. Отже, ви можете використовувати все, що є найкращим. Це означає - використовувати останню стабільну версію. (це означає зараз - версія JRE 1.8)
Відображати ім'я

Оскільки найкращими практиками безпеки є розгляд встановлення Java неприйнятним ризиком, я вважаю, що єдиний розумний відповідь - "взагалі немає".
R .. GitHub ЗАСТАНОВИТИ ДІЯ

@R .., де ти чув такі "найкращі практики"?
Артуро Торрес Санчес

Відповіді:


44

Покладатись на встановлений JRE як правильний не має сенсу поза контрольованим корпоративним середовищем, де всі настільні комп'ютери заблоковані у певній версії. У такому випадку вам слід задати це питання людині, яка контролює це середовище.

Для настільного додатку Java для масового ринку слід використовувати інсталятор або пускову установку, яка поєднує JRE, який ви бажаєте використовувати, або налаштувати Java Web Start (JAWS).

Зауважте, що якщо ви фактично фізично розповсюджуєте пакетний JRE, вам доведеться дотримуватися ліцензійних умов . Я не юрист, але це не повинно бути проблематичним для більшості цілей. Якщо у вас є ситуація, коли у вас є юридична команда, вам, звичайно, слід пропустити їх повз них.

Для розробника чи іншого технічно орієнтованого інструменту зазвичай бажано публікувати банки на Maven Central , тому розповсюдження та завантаження повністю автоматизовано. Це один випадок, коли дотримання старих версій Java є перевагою, оскільки це дозволяє їх використанню в корпораціях, що замикаються на більш стару версію.

Але я б не переживав про це занадто багато для проекту, розпочатого сьогодні.

Нарешті, якщо все вищезазначене є надто багато роботи, ви можете просто опублікувати джерело на github або bitbucket і дозволити користувачеві створити його самостійно.


3
Невчасну відповідь на запитання, що завчасно, приголомшливо. Я додам, що ви можете поширити безкоштовну альтернативну версію JRE для людей, яким подобається така річ. Зробити це можна навіть портативним випуском.
StarWeaver

1
Пакет JRE вимагає ліцензування, і це надзвичайно небезпечно, якщо програма отримує доступ до Інтернету.
ацелент

Будь ласка, докладно, чи це означає, що я повинен ліцензувати JRE, навіть якщо я збираюся випускати своє програмне забезпечення без наміру отримати прибуток, а може, навіть з відкритим кодом?
Андреас Хартманн

12

Java 6 не підтримується Oracle, тому не використовуйте це. Підтримка Java 7 закінчується 15 квітня, тож ви знаєте. Просто використовуйте Java 8 і заощадите собі клопоту.

Докладнішу інформацію див. У дорожній карті підтримки Oracle .


Я б хотів, щоб це було так і для Android :(.
Джаред Берроуз

1

Ще один момент, який слід врахувати, полягає в тому, що, залежно від розміру вашого проекту, яка версія Java вийде, а яка застаріла. Для більшості значних проектів було б розумно працювати з поточною версією "поза бета / альфа" (у цьому випадку Java 8), яка може бути або не може бути актуальною при випуску.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.