1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

[Решено] Под какую Java лучше писать лаунчер?

Тема в разделе "Оффтопик", создана пользователем Reality_SC, 16 окт 2014.

?

Версия JDK для запуска лаунчера

  1. Java 6

    0 голосов
    0,0%
  2. Java 7

    55,0%
  3. Java 8

    45,0%
  1. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Пишу новый лаунчер. Для себя, если выйдет грамотно — будет и для других.
    Сейчас исходный код на Java 6, но я постоянно задумываюсь о миграции на более высокую.

    Java 6
    • За: Это минимальная версия, которую поддерживает сам Minecraft.
    • Против: На практике её уже трудно встретить. Разве что на этих ихних Маках?!?
    Java 7
    • + Подавляющая часть пользователей уже установила её, либо Java 8.
    • + Большое число удобных конструкций; пакетов, которые хотелось бы использовать.
    • Кто-то из игроков внезапно может оказаться обижен невозможностью поиграть.
    Java 8
    • + Возможно, более быстрая работа за счёт дополнительных человеко/лет оптимизаций.
    • + Наличие небольшого (для меня) числа более удобных конструкций.
    • Значительная часть игроков столкнутся с необходимостью обновления JRE.
    Интересуюсь аргументированными ответами/советами.
     
  2. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    jre 8. Птому что надо бы уже всех пересаживать на новую версию.
     
  3. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
  4. Attelis

    Attelis Старожил Переводчик Пользователь

    Баллы:
    173
    java 7 или на крайняк 8, но никак не 6...
     
  5. eXtremeNoN

    eXtremeNoN Старожил Пользователь Заблокирован

    Баллы:
    153
    Имя в Minecraft:
    eXtremeNoN
    Если намереваешься на будующие - то 8 полюбасу. А если на 2-3 месяца то на 7. ИБо щас на 7 куда больше сидят на 8. А 6 вообще устарела.
     
  6. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Как минимум 7.
    Но если писать лаунчер, то точно не на Java.
     
  7. BleaZzZ

    BleaZzZ Старожил Пользователь

    Баллы:
    153
    Че так?) Легкая кастомизация, мультиплатформенность, относительно легкий ЯП. А если ты про защиту, то в лаунчер её и не надо ставить =)
     
  8. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Лаунчер уже давно перестал оправдывать свое название, как обычный запускатор игры. Защита нужна обязательно.
     
  9. Cyber Owl

    Cyber Owl Старожил Пользователь

    Баллы:
    153
    А каков смысл миграции на новую версию?
    Лаунчер - простая программа, которая запускает клиент с определенными аргументами.
    Если игра поддерживает минимальную версию - JRE 6, зачем писать лаунчер, который будет требовать JRE 8?

    Одно дело, если Вы будете применять сторонние технологии типа JavaFX, где требуется как минимум JRE 7 U2, это ещё ладно.
     
    Последнее редактирование: 16 окт 2014
  10. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Со стороны клиента? Уже почти все знают, что защита со стороны клиента спасёт только от дурака.
     
  11. BleaZzZ

    BleaZzZ Старожил Пользователь

    Баллы:
    153
    Поэтому он и настаивает писать на других ЯП xD
     
  12. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Да хоть на ассемблере пиши. Если зашита только на стороне клиента - то зашиты нет. Совсем.
     
  13. BleaZzZ

    BleaZzZ Старожил Пользователь

    Баллы:
    153
    Если рассуждать логически, то да. А практика иное показывает =) Если тот, кто разбирает твой проект толковый, то ему ничего не стоит обойти все это дело за несколько дней максимум. Но таких очень мало, а те, кто еще и будут разбираться с среднестатистическим сервером - вообще 1-2 человека на планету =D
     
  14. CyberMan

    CyberMan Старожил Пользователь

    Баллы:
    173
    Skype:
    cyber4el
    Как только Фордж обновят до полной поддержки последней джавы, можно забыть об 1,7
     
  15. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Эммм.....Forge работает на Java 8. Просто launchwrapper зафаршмаченный (в Java 8 удаление итерации внутри цикла вызывает ConcurrentModificationException)....его подредактировать чуток и будет на Java 8 робить
     
    Последнее редактирование: 18 окт 2014
  16. Jamefrus

    Jamefrus Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    JNexil
    Если не ошибаюсь, более высокая версия включает в себя функции низких, поддерживает и низкие версии тоже... Так что на мой взгляд, по мере использования новых функций 8 джавы. Если все функции от 7 - то совершенно без разницы.
     
  17. BleaZzZ

    BleaZzZ Старожил Пользователь

    Баллы:
    153
    Возможно, но зачем париться, если можно на 7-ой все сделать?) Никто ж не юзает новые функции java8 повсеместно =) И да, ConcurrentModificationException :)
     
  18. Jamefrus

    Jamefrus Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    JNexil
    Ну почему-же? У меня почти в каждом коде лямбда выражения используются...
     
  19. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Т.к. мой лаунчер некоторое время находится в продакшене и собирает номинальную статистику запусков, я решил агрегировать версии Java и посмотреть, что происходит.

    Результаты:
    • 93% имеют установленную Java 7 (любой версии Update), 7% — Java 8.
    • 56% имеют 32-битную JRE, 44% — 64-битную.
    • Никто — ни один игрок — не имеет установленную Java 6.
    На самом деле тут учтены случаи запусков лаунчера, т.е. автоматически получилось, что более активные игроки "продвигали" свою версию Java. По-хорошему, нужно сделать выборку не по запускам, а по IP или MAC, но в для моей грубой оценки достаточно этого.

    Принимаю волевое решение полностью оказаться от поддержки Java 6 и перейти на Java 7.
    Всем спасибо, тема закрыта (закройте кто-нибудь :)).
     

    Вложения:

  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Это уже зафиксили в самом фордже в CoreModManager.
     

Поделиться этой страницей