LINUX.ORG.RU

Кто пишет gui на яве?

 ,


1

5

Правда, что одно и тоже приложение javaFX можно запустить на десктопе, в браузере и на мобильном устройстве? Насколько это хорошо работает?

Хотя ни одной такой программы не встречала, интересно кто их пишет и для кого?

PS Встретила здесь скептическое отношение к ява, но мне она нравится больше чем питон или перл. Возникает ощущение какой-то фундаментальности языка и делает его очень солидная компания.


Ответ на: комментарий от iZEN

А давайте наоборот: сделаем десктоп для приложений, а веб-гуйню засунем в какой-нибудь бровсер, а?

Да пожалуйста, я только за. Но причем здесь жава?

morse ★★★★★
()

гуй на java пишут либо для очень больших кроссплатформенных программ, либо от безысходности по заказу, для злых людей, которые хотят отомстить этими программами пользователям.

в нормальном уме и трезвой памяти гуй на java не пишут.

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

гуй на java пишут либо для очень больших кроссплатформенных программ, либо от безысходности по заказу, для злых людей, которые хотят отомстить этими программами пользователям.

Да откуда вы такие повылазили, обиженные? Из 1990-х что ли, где swing1_1_1.zip нужно было доустанавливать, а все плакали от AWT?

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от anonymous

При этом там от свинга почти ничего не осталось.

Deleted
()
Ответ на: комментарий от utf8nowhere

кто о чём, а админяшка о бубне

Deleted
()

Не пиши гуй на джаве, не надо.

Есть проект с гуем на джаве. Проект серьёзный. Мечтаю переписать его на Си или кресты.

Deleted
()
Ответ на: комментарий от Deleted

Не пиши гуй на джаве, не надо

Почему? Никто конкрентно не указал недостатки такого подхода, кроме «будет тормозить».

Скажем на i5/8Gb будет тормозить?

Eva
() автор топика
Ответ на: комментарий от Eva

Программы на Swing «летают» на 4 ГБ ОЗУ и двухъядерном 2 ГГц процессоре.

Всё, что видели на Swing обиженные, скорее всего, это NetBeans прошлых лет для разработки PHP-проектов, не понимая, что именно в это время происходит под «капотом» среды с дефолтным конфигом.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

и много ты гуёв порисовал на fx? показать могёшь? давай кажи - все вместе поржом над юзабили полученного результата.

vtVitus ★★★★★
()
Ответ на: комментарий от anonymous

Согласен с этим анонимусом, у IDEA gui на древнючих AWT/Swing под стероидами. Туда прикрутили ту же поддержку HiDPI, чтобы была нормальная поддержка макбуков и программисты не плакали кровавыми слёзками.

EXL ★★★★★
()
Ответ на: комментарий от iZEN

ээээ замуженное ибм барахло swt что ли? это вообще не Java - бесконечные dispose, таскание нативных библиотек. тот ещё мазохизм.

vtVitus ★★★★★
()
Ответ на: комментарий от Eva

Тогда в чем подвох? И это широко не используют?

Подвох в том, что вместо того, чтобы сделать ОДИН нормальный GUI-тулкит хотя бы уровня QtWidgets, Java-макаки начали плодить говно разной степени упоротости: AWT, Swing, SWT, JavaFX, AWT/Swing на стероидах от JetBrains и прочий шлак.

К тому же здесь ещё вставляется жирнючая JVM, которую нужно таскать с собой или просить пользователя установить нужный рантайм. Всё это запускается по полминуты и работает отвратненько на фоне нативных программ.

Поэтому даже GUI-приложения на Electron'е (вариант ношу Chromium всегда с собой) выглядят для конечного пользователя более адекватно, чем GUI-приложения на Java.

EXL ★★★★★
()
Ответ на: комментарий от t_r

писать GUI desktop приложения нужно не на java. а так я бы обратил внимание на qt и .net либо вообще web морда с чем в java всё на порядок лучше.

vtVitus ★★★★★
()

Ну я пишу GUI на JavaFX для торговых роботов. Полет нормальный. Правда только для дестопа. Для веба - даже желания не возникало. А так Жава отличная платформа и язык. Лучше ублюдочного Перла однозначно. А Пайтон - для серьезных проектов не годится из-за динамической типизации.

FilosofeM ★★
()
Ответ на: комментарий от EXL

Т.е. для каждой платформы писать своё приложение?

Ещё можно понять, что для macOS особой альтернативы нет (хотя не всё так просто), что делать для других платформ? Под виндовс нет единого зарекомендовавшего себя фреймворка (или есть вот прямо единый), а для GNU/Linux ещё хуже.

t_r
()
Ответ на: комментарий от t_r

Т.е. для каждой платформы писать своё приложение?

Нет. Правильный подход: одно ядро приложения + множество морд, учитывающих индивидуальные особенности каждой платформы.

EXL ★★★★★
()
Ответ на: комментарий от vtVitus

... а так я бы обратил внимание на qt и .net либо вообще web морда с чем в java всё на порядок лучше.

Допустим Qt. На Qt проще/быстрее/кроссплатформенней/меньше ошибок/нативно выглядящей писать для разных платформ проект типа SoapUI (я говорю про NetBeans, IntelliJ IDEA и т.п.) ?

t_r
()
Ответ на: комментарий от t_r

Слушайте, жабодрочеры, вы вообще кроме всякого говна типа недоIDE "(я говорю про NetBeans, IntelliJ IDEA и т.п.)" пример нормального гуёвого приложения привести можете? Ну там CAD какой, или редактор изображений растровый или векторный. Ну хоть нотепад какой-нибудь.

Что вы трясёте этими своими упоротыми нетбинсами и эклипсами, если их используют исключительно по принуждению либо работодателя, либо производителя SDK? Ни один нормальный человек не будет это тормозное жрущее и недотягивающее по фичам даже до допотопного вима говно использовать по собственной воле.

Либо приводите пример массовой гуйни на жабе которую массово выбрали пользователи по собственной воле, либо засуньте себе поглубже свои сказки про какие-то там преимущества жабы как платформы для создания гуйни.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну там CAD какой, или редактор изображений растровый или векторный.

половина UML редакторов написана на Java. Например, начиная с MagicdrawUML и Enterprise Architect, даже Rational Rose (если им кто-то еще пользуется), заканчивая популярнейшим PlantUML.

используют исключительно по принуждению либо работодателя

именно! Eclipse - это не просто «IDE для Java», это универсальная платформа для всевозможных корпоративных CADов. Причем не какая-то, а чуть ли не самая популярная. На ней делают все на свете, начиная от бухгалтерии, заканчивая управлением сайтами.

Last but not least, именно на Эклипсе работают IDE для маргинальных вещей типа Rust и Golang

мы трясем ими потому, что ими пользуются все и повсеместно

stevejobs ★★★★☆
()
Ответ на: комментарий от Stanson

Слушайте, жабодрочеры, вы вообще кроме всякого говна типа недоIDE "(я говорю про NetBeans, IntelliJ IDEA и т.п.)" пример нормального гуёвого приложения привести можете? Ну там CAD какой, или редактор изображений растровый или векторный. Ну хоть нотепад какой-нибудь.

Слушай, ты ..... . Ты вообше головой думать можешь или перебрал вечером? С чего выводы делаешь?

Раз ты влез. Так привёл объективное сравнение на чём сейчас писать-то надо. И не твоим одним embedded программирование заканчивается.

Для особо одарённых, есть разница на чём писать софт, а выбора идеально нет, всегда нужно чем-то жертвовать.

Или ты такой скорый и агрессивный сейчас выкатишь серебряную пулю, так давай послушаем?

t_r
()
Ответ на: комментарий от EXL

Вместо JVM притащил с собой Chromium. Да еще и для каждого приложения - заново! Хорошо пошутил, расстрелять.

Нативные программы писать в 2017 году невыгодно. Java, .NET, JS/Electron, всё.

Java-макаки начали плодить говно разной степени упоротости: AWT, Swing, SWT, JavaFX, AWT/Swing на стероидах от JetBrains и прочий шлак.

это примечательно, что ты их все по именам помнишь

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

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

половина UML редакторов написана на Java.

Что это вообще? Кому это нужно? Очередной ынтерпрайз для создания видимости работы?

мы трясем ими потому, что ими пользуются все и повсеместно

Гнусное 4.2

Я не знаю ни одного человека из моего окружения (сотни людей), кто бы пользовался вообще чем-либо написанным на жабе.

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

Stanson ★★★★★
()
Ответ на: комментарий от vtVitus

чувак, вот её богу, выложи свой пример удобного красивого java gui. посрами нас. вот нет же.

посмотри на статистику какого-нибудь StackOverflow - в качестве примера можно приводить половину мира. Начать рекомендую с сайта Госуслуги, LinkedIn и других всем известных мест

stevejobs ★★★★☆
()

я пишу. линукс, винда - под ними запускается. под андроидом не пробовал даже.

bvn13 ★★★★★
()
Ответ на: комментарий от Stanson

UML

Что это вообще? Кому это нужно? Очередной ынтерпрайз для создания видимости работы?

поздравляю, ты сейча не прошел собеседование в 99% нормальных компаний

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от t_r

С чего выводы делаешь?

С полного отсутствия популярных приложений на жабе, которые пользователи ставят себе сами на свои компы.

Так привёл объективное сравнение на чём сейчас писать-то надо.

Уж точно не на жабе. Вот выкатит оракель что-либо сравнимое по быстродействию и фичам хотя бы с виджетами Win32, уж не говоря о Qt - тогда и можно будет о жабогуе подумать.

И не твоим одним embedded программирование заканчивается.

А embedded-то тут каким боком? Или для жаболюбов теперь всё, что имеет меньше 64Гб и 24 ядер уже embedded?

Или ты такой скорый и агрессивный сейчас выкатишь серебряную пулю, так давай послушаем?

Что угодно, только не жаба. Вот и всё. Есть куча тулкитов для гуйни, Qt, Gtk, WxWidgets, FLTK, пяток проприетарных. И вот все они на порядки лучше любой жабогуйни. Да даже извращение в виде электрона не кажется таким уж говном по сравнению с жабогуйнёй. Всего-то надо отказаться от жабки, и всё получится.

Stanson ★★★★★
()
Ответ на: комментарий от stevejobs

поздравляю, ты сейча не прошел собеседование в 99% нормальных компаний

Зачем мне это? Я сам компания. Нормальная. Успешно провайдерствую с 1998 года. Наверно потому, что никаких UML и жабы у меня в компании нету.

Stanson ★★★★★
()
Ответ на: комментарий от stevejobs

Это видно, что провайдерствуешь. Код тебе лучше не писать.

Это всё моё провайдерство работает именно на моём коде. Уже 20 лет. А второе занятие (не мене доходное, уже, кстати, хотя начиналось от безделья, т.к. провайдерство, благодаря моему софту не отнимало много времени) - написание спецсофта для промышленного измерения цвета. И там тоже никакой жабы, кстати.

Так что код я пишу получше всех тутошних жабодрочеров вместе взятых.

Stanson ★★★★★
()
Ответ на: комментарий от Eva

а на чем еще в линукс пишут gui, кроме с++?

gui не пишут с нуля, а используют gui toolkit. Toolkit имеет биндинги - C, C++, C#, D, Java, JavaScript, Python, Pascal, Perl, Rust, Vala, Basic и т.п.

nvl ★★★
()
Ответ на: комментарий от stevejobs

Ты так мне отвечаешь, будто я евангелист Electron'а или какой-то другой чухни. А на самом деле:

+---------------------------------------------------------------+-----------+---------+
|                Фатальные недостатки™ GUI-средств              | Java-tier | JS-tier |
+---------------------------------------------------------------+-----------+---------+
| Нормально не может в стандартные темы OS                      |     +     |    +    |
| Жирный >100мбайтный рантайм сбоку                             |     +     |    +    |
| Долгий запуск приложения, чудовищно долгий холодный старт     |     +     |    +    |
| Тормоза в работе даже на топовых конфигурациях                |     +     |    +    |
| Жрёт ресурсы CPU как не в себя даже на простой отрисовке      |     +     |    +    |
| Жрёт RAM больше чем сама OS                                   |     +     |    +    |
| Неумение в особенности системы (кастомный заголовок окна i.e) |     +     |    +    |
| Куча несовместимых UI-тулкитов и библиотек (нормальных нет)   |     +     |    +    |
+---------------------------------------------------------------+-----------+---------+

Это лишь известное состязание жабы с гадюкой. Состязание, в котором жабе суждено проиграть. Просто потому, что JS-tier более дешёв и теперь уже более популярен. Настолько популярен, что с ним уже начал экспериментировать ынтерпрайз.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от Stanson

Что угодно, только не жаба. Вот и всё. Есть куча тулкитов для гуйни, Qt, Gtk, WxWidgets, FLTK, пяток проприетарных. И вот все они на порядки лучше любой жабогуйни.

Это объективное сравнение и ты на всём этом писал, есть опыт написания на FLTK, или на WxWidgedts (надеюсь знаешь какие особенности накладывает при написании под разные платформы и разные toolkit ), или на Qt (всё ли так хорошо стало под разные платформы и переходы между мажорными версиями) ?

Да даже извращение в виде электрона не кажется таким уж говном по сравнению с жабогуйнёй.

Ты точно писал на Electron, там всё нормально с скоростью работы приложения, с расходом памяти, с интеграцией в различные linux desktop отличные от Gnome?

А embedded-то тут каким боком?

Вернул тебе твоё «жабодрочеры». Взято из твоего профиля. Стало интересно, чем такой профи, бросающийся громкими словами, занимается в программировании.

Ведь нормально спросил на чём писать «проще/быстрее/кроссплатформенней/меньше ошибок/нативно выглядящей» ?

Но ты ведь не можешь технически ответить, чем твой Electron лучше Java. Сотни своих знакомых приплёл. Да откуда ты знаешь, что у всей этой сотни установлено и кто, что использует на своём декстопе. Да и откуда ты знаешь, где та же Java идёт как embedded, как тот же Electron(Chromium+Node.js), весь софт знакомых был изучен?

Понятно ты Java не любишь, но вот почему техническим языком объяснить не можешь.

Мне всё равно на чём писать, мне важно на чём эффективно писать новый проект.

t_r
()
Ответ на: комментарий от anonymous

Врёшь. На свинге она.

Виноват. Но фуфыкс от этого сильно лучше не стал)

nihirash ★★★
()
Ответ на: комментарий от Eva

У java тормоза с запуском java машины. После того, как машина загрузилась и выполнила все оптимизации java работает быстро. А у того же .net-а с C# под оффтопиком среда исполнения сразу с виндой стартует ну или сделана несколько иначе.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

он весь на java.

$ find . -name *.so
./versions/1.12.2/natives/libjinput-linux64.so
./versions/1.12.2/natives/liblwjgl.so
./versions/1.12.2/natives/libopenal.so
./versions/1.12.2/natives/libopenal64.so
./versions/1.12.2/natives/liblwjgl64.so
./versions/1.12.2/natives/libjinput-linux.so
./versions/1.12.2/natives/libfliteWrapper.so
EXL ★★★★★
()
Ответ на: комментарий от t_r

Это объективное сравнение и ты на всём этом писал, есть опыт написания на FLTK, или на WxWidgedts (надеюсь знаешь какие особенности накладывает при написании под разные платформы и разные toolkit ), или на Qt (всё ли так хорошо стало под разные платформы и переходы между мажорными версиями) ?

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

Ведь нормально спросил на чём писать «проще/быстрее/кроссплатформенней/меньше ошибок/нативно выглядящей» ?

Сегодня посоветовал бы Qt, если бы это имело смысл советовать жабофанатику.

Но ты ведь не можешь технически ответить, чем твой Electron лучше Java

Тем, что тормозит меньше.

Да откуда ты знаешь, что у всей этой сотни установлено и кто, что использует на своём декстопе.

Ну общение там, обмен опытом. Ты в курсе что люди обычно общаются между собой?

Да и откуда ты знаешь, где та же Java идёт как embedded, как тот же Electron(Chromium+Node.js), весь софт знакомых был изучен?

Да.

Понятно ты Java не любишь, но вот почему техническим языком объяснить не можешь.

Потому что жрёт ресурсы и тормозит. Жаба тупо неэффективна. Это наверно самое неэффективное поделие из всего что было создано челеовечеством. Хотя веб2.0 уже догоняет.

Мне всё равно на чём писать, мне важно на чём эффективно писать новый проект.

Изумительно. Что и требовалось доказать. Жабодрочеру абсолютно насрать на конечного пользователя его продукта. А потому как жабодрочер отвечает только перед своим надсмотрщиком^W менеджером, и посылать нахер конечного пользователя будут совсем другие специально обученные люди, то вероятность получить в рыло за негодный тормозной и жрущий продукт крайне ничтожна.

Да, кстати. На самом деле нет вообще никакой проблемы поддерживать софт любой сложности для всех основных нативных гуёвых платформ. Для любой мало-мальски приличной компании затраты на такую поддержку ничтожны по сранению с затратами на написание собственно движка софтины. Вопрос лишь в правильной организации софтины и workflow. Так что все эти стоны про «поддержку кучи разных платформ» - не более чем наглый звездёжь.

Проблемы с разной гуйнёй начинаются когда сама софтина из себя вообще ничего не представляет, какое-нибудь говно отправляющее данные формочки на сервер и показывающее возвращённый результат. Вот тогда - да, разные гуйни, это фактически разные софтины. Но возникает вопрос - а нахера вообще такой софт нужен, кроме как для развода заказчика на бабло? Хочешь результат - да хоть на похапе тупейшую вебморду напиши без всяких там аяксов и пр. и всё - все довольны, у всех всегда всё работает. Если решение аналогичной задачи делается как-то иначе (жабософт, говно на электроне и пр.) - это заведомо разводилово заказчика на бабло, и вендорлок.

Stanson ★★★★★
()
Ответ на: комментарий от EXL

Стоит отметить что оригинальный Minecraft (ныне т.н. Java Edition) все же полностью был написан на Java. Реализация на плюсах появилась под платформы, на которых Java забанена априори (напр - iOS). А с июня 2017 года оно переписано на плюсах.

https://jug.ru/2017/06/minecraft/

nemec784
()

java не тормозит.
все городские сумасшедшие, что пишут обратное — не имеют пруфцов. иначе не были бы городскими сумасшедшими вестимо.

system-root ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.