Написать на Java... и позабыть об этом

Вчера меня посетила мысль: «зачем люди выпускают по версии приложения под каждую платформу? Есть же Java.» Посетила — и забылась.

Сегодня я зашёл на один сайт, где нужно было скачать некоторые инструменты разработки. Конечно, скачать их можно в трёх вариантах: для Linux, Mac OS, Windows. Выбрал подходящий, скачал и стал наблюдать за процессом распаковки. И увидел, как одно за другим проносятся знакомые имена файлов.

Когда я посмотрел на результат распаковки, моё предположение подтвердилось: вместе с нужным софтом распаковалась Java. В распакованном виде 142 мегабайта из 190 занимает Java.

То есть три пакета для разных ОС большей частью идентичны, отличают их только «привычные» для ОС «запускалки» — исполняемые приложения-обёртки, внутрь которых запакован основной jar.

WTF#1

Почему бы не сделать общий дистрибутив, который будет содержать по привычной пользователю «запускалке» для каждой ОС — *.hqx, *.run (*.sh), *.exe? Легче собирать, проще качать, удобнее делиться.

WTF#2

Зачем класть в пакет всю Java? А если я настрогаю приложений по 10 КиБ и буду поставлять их дистрибутивами по 80 МиБ? Удобно? Практично? Несомненно. Нормальные упаковщики jar в exe умеют проверять наличие Java на компьютере и предлагать скачать её при отсутствии оной.

Почему так бомбит?

Да потому что у меня SSD на 60 ГБ, и держать на нём две (три, четыре, пять, тридцать две) копии Java я не собираюсь. Если человек не в состоянии скачать Java по предоставленной ссылке, то он, наверное, и левую кнопку на мыши не найдёт.


← клик, если это интересно   |   ↓ место для вопросов и идей