LINUX.ORG.RU

Java - Qt/Gtk/???


0

1

Нужно написать десктопное приложение. Лучше всего я разбираюсь в Жаве, да и нравится она гораздо более чем С++. Есть куча интересных вещей типа OSGI/Equinox или Hibernate, или еще тысяча и одна няшка.

И всё бы хорошо, да Swing очень тормозный. Анонимные аналитики ЛОРа, не привыкшие к тормозам, наверняка тут же выкинут свинговое приложение. Как пример, многие отказались от торрент-клиент Azureus (да, он не на свинге, а на SWT, но не суть), потому что интерфейс «очень тяжелый» и «тормозит». Еще, свинг якобы очень мощно расширяемый, но я так и не нашел, кто же его решился действительно мощно расширить. А искаропки - это поделие древнее мамонтов.

В связи с этим вопрос. Имеются ли для жабки какие-нибудь быстрые и годные гуевые тулкиты? Так, чтобы могли выглядеть нативно под Linux/Windows.
Есть ли годные реализации GTK и QT? Например, слышал что qt-jambi забросили. Имеют ли они смысл - т.е. действительно ли интерфейс будет быстрее, красивее (итд «лучше»). Насколько удобно их использовать?

★★★★☆

По-моему под виндой Swing с соответствующим look-n-feel выглядит даже лучше, чем Qt или Gtk. А нативно выглядеть ни один из этих тулкитов не будет. Вообще, самого интересует подобный вопрос. И похоже, что универсального решения нет и не предвидится.

Что радует, так это то, что Swing более-менее смотрится под мак-осью, хотя опытный глаз и там заметит косяки. Под линуксом же Swing выглядит на мой взгляд хуже всего, особенно в KDE.

И какой смысл в отдельной оболочке к GTK, если есть SWT? Вообще, SWT должна быть интересной вещью.

А при тормозах обычно выводят заставку. Это даже для дотнета актуально. Я не вижу здесь проблемы. В крайнем случае можно купить Excelsior JET :)

Да, и интерфейс не главное. Программой Idea, например, пользуются несмотря на Swing. Наверное, проблема Azureus в том, что он жутко перегружен, и в том, что есть альтернатива ему.

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

> А нативно выглядеть ни один из этих тулкитов не будет.

ну, qt выглядит весьма нативно на связке kde+linux =)

а что, под макосью qt отображается с косяками?!

Вообще, SWT должна быть интересной вещью.

А при тормозах обычно выводят заставку.



блин, хорошо бы, чтобы вообще не было никаких тормозов. Аналогичная программа на GTK не тормозит, а свинговая - тормозит. Где правда?

Программой Idea, например, пользуются


ага, и Эклипсой тоже. Пользуются жавные разработчики, которым она во-первых страсть как нужна, а во-вторых они уже привыкли к тормозам. Нажал «прогнать тесты» и пошел попить чаю, нормальная ситуация.

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

несмотря на Swing


идея написана на самопальном тулките

Наверное, проблема Azureus в том, что он жутко перегружен


ругаются, в основном, на тормоза гуёв. По функционалу он просто великолепен. Как привыкший к тормозам, азуреусом и пользуюсь =)

и в том, что есть альтернатива ему.


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

stevejobs ★★★★☆
() автор топика

qt jambi конечно при смерти, но вполне годная и няшка.

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

> а что, под макосью qt отображается с косяками?!

Про это не знаю, но меня колбасит от внешнего вида tora в винде, а эта штука написана на qt. C приложениями gtk обычно еще хуже. Это при том, что на винде внешний вид приложений нерегламентирован, и каждый может извращаться, как пожелает. Все равно, и qt, и gtk там выглядят чужеродно.

Я считаю, что у Swing есть проблемы с внешним видом на линуксе. На других системах положение лучше. Реальная же проблема на винде в том, что многим часто приходится включать JDK/JRE в инсталятор.

Не знаю, где ты такие тормоза находишь. Многие IDE тормозят из-за кучи подгружаемых плагинов, но это немного другое.

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

идея написана на самопальном тулките

Самый что ни на есть Swing используется. С кучей своих компонент, но все на тулките Swing.

kamre ★★★
()

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

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

> блин, хорошо бы, чтобы вообще не было никаких тормозов. Аналогичная программа на GTK не тормозит, а свинговая - тормозит. Где правда?

Это где бы увидеть аналогичные программы на GTK+ и SWT, чтобы сравнить? Этот Azureus (который Vuze) - такой монстр, что по нему о тормозах SWT я бы не судил.

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

Ну и касательно тормозов Swing-а. Если на него не навешивать свестяще-пердящие LaF-ы, то по-моему работает вполне сносно и достойно. Использовал пару десктопных приложений - претензий не было. Я думаю, что ЛОР-овские аналитики и не заметили бы тормозов, не скажи им, что UI написан на Swing.

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

Хотя сложный GUI на Swing возможно будет менее отзывчивым, чем аналогичный на Qt или GTK, но у большинства программ интерфейс прост и незамысловат.

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

Swing не всегда по HIGу был. Сейчас ситуация намнооого лучше. Буквально с последними апдейтами. У меня NetBeans теперь на 95% гномовское приложение на внешний вид. И наконец пофиксили ШГ.

Друго дело Java Gnome. Запустил программу на нем и заняла она 10 МБ. А запустил на Swing - даешь 30.

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

> И наконец пофиксили ШГ.

В OpenJDK что ли? В Oracle JRE так и ШГ до сих пор, т.к. не используется системный рендеринг шрифтов.

Друго дело Java Gnome. Запустил программу на нем и заняла она 10 МБ.

А что в качестве примера можно глянуть на Java Gnome?

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

В OpenJDK что ли? В Oracle JRE так и ШГ до сих пор, т.к. не используется системный рендеринг шрифтов.

Не у меня все хорошо в проприетарной.

А что в качестве примера можно глянуть на Java Gnome?

Вот в том то и дело, что пока что только свои Hello World и их семплы. Не юзают этот байндинг. Хотя с его помощью Моно можно выпилить раз и навсегда. Ведь это же Java, а не недоделанная реализация .NET

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

> Не у меня все хорошо в проприетарной.

Наверное, в системе рендеринг подогнан под тот, который есть в JRE. В Ubuntu с default шрифтами Swing приложения выглядят криво.

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

> Буквально с последними апдейтами.

Прям заинтриговал, посмотрю на досуге :)

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

java version «1.6.0_21» Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)

vertexua ★★★★★
()

Кто сказал что qt-jambi забросили? Тогда и GTK забросили, потому что он развивается сообществом равно как и qt-jambi... Готовят версию qt-jambi на Qt 4.7... Интересен проект - помоги.

I-Love-Microsoft ★★★★★
()

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

жаба на десктопе не нужна. imho.

иными словами, продолжай писать на swing и swt. тем, кто не любит жабу, по барабану, какой из жабы тулкит дергается :) другой тулкит не спасет.

waker ★★★★★
()

свинг сам по себе не очен тормозной. Тормозные поделия на нем, которые не умеют асинхронно обновлять УИ, в связи с чем при долгом выполнении какой-либо функции создается впечатление тормозов УИ.

(да, он не на свинге, а на SWT, но не суть)

существенная разница. SWT - практически нативная либа - любые вызовы в либу на 2-3 уровне вложенности переходят в native. Поэтому он намного шустрее и может использовать 2d ускорение, предоставляемое ОС. (впрочем, swing тоже умеет, говорят).
Я бы на твоем месте не заморачивался над внешним видом, если это не критично для приложения. Если приложение функционально я бы им пользовался вне зависимости от внешнего вида.

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

Если приложение функционально я бы им пользовался вне зависимости от внешнего вида.

Аналогично. А про свинг - говорят надо уметь им пользоваться и даже тесты приводили, что он по сути мегабыстр. Все портит неправильное его применение...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от JFreeM

> Если приложение функционально я бы им пользовался вне зависимости от внешнего вида.

У мну планировщик задач (GTD, багтрекер). Уникальная функциональность, конечно, там уже есть (на уровне backend'а). Но всё же, на первом месте идеальная красота и эргономика интерфейса, возможность делать всё интуитивно-понятными хоткеями и помощник. У человека должно создаваться впечатление, что программа лучше него разбирается в тайм-менеджменте, а когда надо что-то настроить - понимает его с полуслова =)Это поведение - та самая фича, которой так не хватает в линуксовых приложениях...


По треду делаю вывод, что надо писать на SWT. Причем, надо прошарить как к нему рисовать няшные LaFы.

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