Задать вопрос

Что выбрать для десктопного приложения на Java?

Посоветуйте библиотеку\фреймворк для написания десктопного приложения на Java.


UPD: выглядеть должно одинаково в винде, линуксе и макоси
  • Вопрос задан
  • 8246 просмотров
Подписаться 8 Оценить 4 комментария
Решения вопроса 1
Snowindy
@Snowindy
Сам Oracle активно продвигает будущую замену Swing — JavaFX 2.

По словам разработчиков Oracle на конференции JavaOne, там много хороших вещей типа стилизации UI с помощью CSS. Соответственно, приложение может выглядеть одинаково на всех платформах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
barker
@barker
Смотря какое приложение и зачем. В общем виде я бы ответил: SWT (и, возможно, соответственно RCP / Eclipse Platform / нужный уровень, но не для всех целей)
Ответ написан
Комментировать
@Maksym
Eclipse RCP (SWT, JFace) сразу даст коммерчески привлекательный вид и user experience, без дополнительных усилий Особенно если бизнес модель хорошо ложится на Eclipse парадигму: центральная мультиоконная область, контекстные области (views), перспективы для разных режимов работы (пользовательских ролей) и т.д. Плюс много другого готового кода, который наверняка пригодится — автоматическое обновление, длинные задачи с визуализацией прогресса, панель проблем и т.д. и т.п.

Но вход, а также сложность разработки и поддержки — выше чем у Swing, по двум основным причинам:
1) SWT сразу упирается в наитивный код, часто нелогичный, так себе документированый и более низкоуровневый чем нужно для прикладных бизнес задач, есть ограничения наитивных компонент, которые не обойти малой кровью (в то время как в Swing, фактически, возможно все, и притом логичным правильным способом).
2) Eclipse RCP — тот еще монстр, с длинной и небезоблачной предисторией. Легко заблудится в документации; одни и те же вещи можно сделать множеством способов (среди который устаревшие, неоптимальные, плохо работающие и т.д. — нужно протаптывать свою тропку); нюансы в конфигурации плагинов/фич, сборки проекта. Часто встречаются проблемы, которые адекватно решаются только с изучением исходного кода (а это, опять же, время).
Ответ написан
tyderh
@tyderh
Swing или SWT, в зависимости от требований. Сейчас вопрос слишком размыт и на него можно ответить любой библиотекой
Ответ написан
allnightlong
@allnightlong
однозначно, griffon
Ответ написан
Комментировать
AndreyPM
@AndreyPM
Уже 4-е года пишу на SWING, пока хватало для всех запросов пользователей и даже извращенных. Есть много интересных библиотек которые обеспечат как красивость так и функциональность, например
balloontip для красивых тултипов есть, далее jdrawing-0.3.1 для создания формы для рисования (но я бы что-то другое поискал). Для графиков jfreechart можно использовать. Еще постоянно появляются уже готовые оттестированные компоненты: деревья в таблицах, деревья с чекбоксами, и т.д…
Если написать свой UI будет выглядеть одинаково для всех платформ.

Все от запросов зависит.
Например, уперлись когда-то в создание риббона, и нашли только упоминания о библиотеке flamingo которая позволит это на Swing сделать, в то же время на SWT это уже реализовано

JavaFX 2.0 красивее будет конечно, чем SWING и проще как показалось в реализации, но пока не все еще можно написать на JavaFX из того что можно сделать на SWING. Пока радует то что появилась возможность интегрировать компоненты JAvaFX в SWING. Сразу появляетя куча идей о том, что можно добавить интересненького в проект: чат, отправку на email (HTMLEditor используя из JavaFX), написать скрепиша и т.д… + радует то, что в JavaFX в рамках основного приложения на SWING можно сделать самостоятельные приложения на JavaFX.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы