Как стать автором
Обновить

Комментарии 30

НЛО прилетело и опубликовало эту надпись здесь

Можно чуть подробнее про пресловутые кривые интерфейсы на JavaFX и упомянутое множество проблем с ней?

Интерфейс норм, но вот со сборкой в джарник у меня лично проблемы были.
Или ексепшины, или пустые джарники собирало, или они не могли запуститься, потому что в манифесте что-то не так
Да, про сайт с инструкцыями я тоже знаю(не вспомню щас адрес, но там расписано как собирать джарники)
Хз, может это моя личная проблема, но это пример проблем с JavaFX
По канону, имхо, приложение JavaFX собирается не в JAR, а в установочный файл конкретной платформы. С Java SE 16 вы можете использовать JLink и JPackage для этих целей (JPackage при сборке под винду требует Wix 3).
Очень плотно работаю с JavaFX-TornadoFX-Kotlin.
FatJar-ники хорошо собираются с помощью ShadoJar. В Windows проблем с построенными бинарниками нет вообще никаких, всё работает прекрасно. А вот в линуксах есть нюансы — то менюшки вылезают только на первом мониторе, то бинарник через сутки работы забирает под себя одно ядро навсегда. Проблемы известны, но не исправлены, для каких-то есть обходные пути, для каких-то нет. И самое занимательное — проблемы зависят от используемых дистрибутивах и рабочих столах, хуже всего обстроят дела с трёхклятым Asta Fly а, например, xfce работает прекрасно

Здравствуйте. Можно ссылку на упомянутый Asta Fly ? Как-то очень плохо гуглится по названию, что за DE такое.

И можно также ещё узнать, что за десктоп приложения, которые нужно оставлять работать сутки, помимо IDE ?

Всё, что связано с охраной. Рабочие места дежурных, контрольно-пропускные пункты, видеонаблюдение и прочее.

Все же раз существует так мало известных программ с UI на Java, значит есть какие-то более важные причины, нежели недостатки JavaFX

У JavaFX проблемы с дистрибуцией и поддержкой. До относительно недавнего времени была только реализация JavaFX от Oracle (которая включалась в обычную поставку джавы), поэтому многие дистрибутивы линукса с OpenJDK вместо Oracle тупо шли лесом. Собственно, и сейчас ситуация похожа, т.к. OpenFX необходимо устанавливать отдельно в дополнение к OpenJDK.
Причины в основном две:
1. Разработка сложнее, чем на электроне. Отмазка почти всех сервисов, имеющих веб-версию.
2. Для работы приложения под jvm нужна сама jvm. Если простота сборки/установки/запуска разработчику важнее, чем кроссплатформенность, то пишут на шарпе под .net.
Я больше люблю javafx (точнее tornadofx с kotlin), но сделать полный jar в моем случае можно только через костыли (по крайне мере когда я последний раз начинал писать что-то десктопное, было так). Получается, надо либо делать костыльную сборку и просить пользователя поставить jre, либо делать еще отдельный лаунчер (хотя бы батник) и пихать jvm вместе с программой (а это уже какой-то электрон-вей).

Исходя из вашего комментария, стоит перети на .NET :)
Так как он давно кроссплатформенный, как и gui, например, AvaloniaUI, которая использует как раз рассматриваемую skia

либо делать костыльную сборку и просить пользователя поставить jre, либо делать еще отдельный лаунчер

есть какой-то прницпиальный способ сделать по-другому? Либо компилишь под каждую платформу либо используешь что-то уже скомпиленное под каждую плафтформу. Так вроде бы будет с любым UI на любом языке.

В Либерику наконец-то завезли работающий jpackage
В JDK 16 вводится новая утилита — jpackage. Она основана на javapackager, перешедшем из Oracle JavaFX. Этот тул для упаковки автономных Java-приложений вместе со средой исполнения был впервые предложен в 14-ой версии (JEP 343) как инкубационный инструмент; теперь же он подходит для промышленной эксплуатации. Функция уже поддерживается во всех операционных системах и производит свойственные платформе файлы: msi и exe на Windows, pkg и dmg на macOS, deb и rpm на Linux.


Ещё у БеллСофта есть «Liberica Native Image Kit» который, по описанию, должен делать нативные бинарники на GraalVM. Но ни описания, ни api, ни примеров…

Я обычным граалем компилил javafx в нативный бинарник, вроде особых проблем невидел, правда тестил на небольшом приложении

Сейчас как раз над этим думаю. Написал геометрическую программу (на C++), которая хорошо рисует всякую геометрию. Теперь хочу написать к ней пруфчекер. И вот нужен язык, позволяющий функциональное программирование, но также вычислять с кватернионами и быстро рисовать. Scala сразу забраковал, интуитивно, попробую на Факторе (есть ещё OCaml, но не видел, чтобы на нём рисовали).

Слушайте, ну ни слова ни сказать про SWT/JFace
и Eclipse — это совершенно неприлично. И даже тот факт, что это перевод, переводчика не извиняет.

Впечатление от статьи — халтурная халтура. Можно было хотя бы постараться до ума довести машинный перевод.
Какой-то лютый поток сознания, всё уже написано — бери и используй. А Skia с визуальными контролами — это Flutter, и Dart гораздо приятнее чем Java. Или же можно взять .Net
Или Qt. Прекрасный тул, получше шарпа. Можно вдобавок в Python ваять прототипы. По удобству прототипирования питон оставляет остальные языки далеко позади.

А если я java знаю? Мне теперь все бросать и бежать net учить? Весь смысл в альтернативе для jvm.

Они были настолько существенными, что только одной компании удалось создать прилично выглядящее приложение на Swing.


тот кто писал статью точно обладает каким то опытом в деле? а то знал бы как минимум еще несколько компаний крупных которые используют Java для десктопных приложений вполне успешно, например F-Secure или Interactive Brokers, а последним то надо точно отзывчивость и уровень
Тоже удивился, на официальном сайте даже написано об Clojure CLR
Это из оригинальной статьи. Вероятно, автор имел в виду CLR и то, что под CLR нет clojure (которую он, судя по всему, любит – на ней есть несколько примеров использования в репозитории проекта).
Что, впрочем, все равно неправда. Clojure под CLR есть. Даже для юнити есть.
Java: Дашь списать домашку?
dotnet: Да, только не списывай точь-в-точь.
Java: Skija
Skia — это отличная библиотека, но при чем тут UI? Вы же не собираетесь заново создавать все виджеты, начиная с кнопок и чекбоксов, и заканчивая многострочными полями ввода с цветами, шрифтами и вот этим всем? На это полжизни уйдет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий