Комментарии 30
Можно чуть подробнее про пресловутые кривые интерфейсы на JavaFX и упомянутое множество проблем с ней?
Или ексепшины, или пустые джарники собирало, или они не могли запуститься, потому что в манифесте что-то не так
Да, про сайт с инструкцыями я тоже знаю(не вспомню щас адрес, но там расписано как собирать джарники)
Хз, может это моя личная проблема, но это пример проблем с JavaFX
FatJar-ники хорошо собираются с помощью ShadoJar. В Windows проблем с построенными бинарниками нет вообще никаких, всё работает прекрасно. А вот в линуксах есть нюансы — то менюшки вылезают только на первом мониторе, то бинарник через сутки работы забирает под себя одно ядро навсегда. Проблемы известны, но не исправлены, для каких-то есть обходные пути, для каких-то нет. И самое занимательное — проблемы зависят от используемых дистрибутивах и рабочих столах, хуже всего обстроят дела с трёхклятым Asta Fly а, например, xfce работает прекрасно
Здравствуйте. Можно ссылку на упомянутый Asta Fly ? Как-то очень плохо гуглится по названию, что за DE такое.
И можно также ещё узнать, что за десктоп приложения, которые нужно оставлять работать сутки, помимо IDE ?
Все же раз существует так мало известных программ с UI на Java, значит есть какие-то более важные причины, нежели недостатки JavaFX
1. Разработка сложнее, чем на электроне. Отмазка почти всех сервисов, имеющих веб-версию.
2. Для работы приложения под jvm нужна сама jvm. Если простота сборки/установки/запуска разработчику важнее, чем кроссплатформенность, то пишут на шарпе под .net.
Я больше люблю javafx (точнее tornadofx с kotlin), но сделать полный jar в моем случае можно только через костыли (по крайне мере когда я последний раз начинал писать что-то десктопное, было так). Получается, надо либо делать костыльную сборку и просить пользователя поставить jre, либо делать еще отдельный лаунчер (хотя бы батник) и пихать jvm вместе с программой (а это уже какой-то электрон-вей).
Исходя из вашего комментария, стоит перети на .NET :)
Так как он давно кроссплатформенный, как и gui, например, AvaloniaUI, которая использует как раз рассматриваемую skia
либо делать костыльную сборку и просить пользователя поставить jre, либо делать еще отдельный лаунчер
есть какой-то прницпиальный способ сделать по-другому? Либо компилишь под каждую платформу либо используешь что-то уже скомпиленное под каждую плафтформу. Так вроде бы будет с любым UI на любом языке.
В 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, ни примеров…
Слушайте, ну ни слова ни сказать про SWT/JFace
и Eclipse — это совершенно неприлично. И даже тот факт, что это перевод, переводчика не извиняет.
Иначе никак?
Они были настолько существенными, что только одной компании удалось создать прилично выглядящее приложение на Swing.
тот кто писал статью точно обладает каким то опытом в деле? а то знал бы как минимум еще несколько компаний крупных которые используют Java для десктопных приложений вполне успешно, например F-Secure или Interactive Brokers, а последним то надо точно отзывчивость и уровень
C# тоже подойдет, но в нем нет Clojure.
Что?
"C # тоже подойдет, но в нем нет Clojure."
А это разве не оно https://github.com/clojure/clojure-clr?
dotnet: Да, только не списывай точь-в-точь.
Java: Skija
Графика для JVM