0

Как создать "современное" настольное Java-приложение? [закрыто]

10

Проблема с выбором GUI для кроссплатформенного Java приложения

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

Хотя Swing является стандартным выбором для разработки GUI в Java, я наблюдаю, что большинство приложений на его основе выглядят устаревшими и неуклюжими (хотя это может быть субъективным мнением, но оценка эстетического восприятия интерфейсов зачастую затруднена).

Я заметил, что новый клиент Bitcoin теперь использует QT с Java биндингами, и действительно обладает привлекательным пользовательским интерфейсом, но это имеет недостаток: он перестает быть чистым Java приложением, что может вызывать вопросы совместимости.

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

В связи с вышеизложенным, я хочу узнать: если бы вам нужно было создать десктопное приложение на Java с нуля, какой бы инструмент для создания GUI вы бы выбрали?

1 ответ(ов)

0

QT довольно обширен, но также и достаточно громоздок и сложен. Существует также библиотека SWT, которая используется, например, в OpenOffice. SWT использует нативные виджеты интерфейса для кнопок, таблиц и т. д., в то время как Swing их эмулирует.

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

HTML5 специально нацелен на создание богатых клиентских приложений с такими функциями, как улучшенные формы и локальные базы данных для поддержки сценариев работы в оффлайн (обратите внимание, что эта последняя функция еще не стандартизирована, но она реализована во всех современных браузерах).

JavaScript теперь обладает мощными библиотеками, такими как jQuery и множеством его плагинов. Существуют даже языки, такие как CoffeeScript, которые могут использоваться для генерации JavaScript с более простым и мощным синтаксисом.

Также нет необходимости, чтобы такие приложения подключались к внешнему серверу. Небольшие локальные серверы (например, Jetty, Node.js и т. д.) и базы данных (SQLite, H2 и др.) могут быть установлены на клиенте, что позволяет создать полностью автономное приложение.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь