Является ли XML или XUL будущим Java GUI? - PullRequest
9 голосов
/ 27 мая 2009

Потратив много времени и кода на программирование на Swing, я подумал, что это не может быть современным построением Java GUI. После того, как я не нашел дружественного пользователю визуального интерфейса пользователя для затмения, я наткнулся на декларативное построение GUI с помощью инструментария XML UI ... и я подумал: это должно быть! Я думаю, что это правильный путь, легкий и близкий к веб-программированию.

Но после просмотра в Интернете и на SO у меня сложилось впечатление, что это не очень распространено! Хотя существует много реализаций и API, кажется, что большинство из них мертвы и не обновлялись последние 5 лет.

Итак, я задаюсь вопросом: правильно ли я чувствую, что XML не очень распространен для java GUI? И если так - каковы причины? Может быть, он не может быть принят, или у него есть некоторые серьезные недостатки, или люди делают все в сети, вместо этого с помощью fatclients, или есть лучшие альтернативы, возможно, javafx?

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

Ответы [ 9 ]

5 голосов
/ 27 мая 2009

Там новый свежий и интересный подход - он использует YAML . Проверьте это в http://code.google.com/p/javabuilders/

3 голосов
/ 27 мая 2009

Существует некоторая прототипная работа для e4 (Eclipse 4) , которая позволит построить графический интерфейс, отредактировав модель Ecore и настроив ее с помощью CSS.
См. в этом блоге , где вы найдете некоторые детали и инструкции, чтобы попробовать сами.

3 голосов
/ 27 мая 2009

Ответ Sun на это, похоже, JavaFX .

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

1 голос
/ 15 февраля 2011

Если вы используете Eclipse, теперь вы можете использовать WindowBuilder , чтобы помочь вам в создании приложений Swing в удобном визуальном построителе графического интерфейса пользователя. Теперь он доступен для бесплатной загрузки, и Google передал Eclipse Foundation фреймворк Swing GUI.

1 голос
/ 27 мая 2009

Я пришел к тем же выводам, что и вы, о декларативных рамках. Не стоит изучать новый синтаксис GUI, если он широко не поддерживается. XUL как язык интерфейса широко распространен, но для него нет фреймворка для Java. Я бы сказал, что HTML + CSS + Javascript и контейнер сервлетов - лучшая на сегодняшний день платформа Java для графических интерфейсов, но, к сожалению, я не нашел независимого от платформы способа отображения веб-страниц, например, настольного приложения.

1 голос
/ 27 мая 2009

Пять-десять лет назад XML был очень популярен. Хотя хорошо обеспечить некоторую стандартизацию для передачи данных между гетерогенными системами, это не подходит для программирования. Это всегда начинается с простых вещей, и давайте объявляем все. Но любая реальная система требует кода. XML тогда падает. Существует также проблема, заключающаяся в том, что XML является плохим синтаксисом для людей, и даже такие языки, как Java, легче читать.

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

0 голосов
/ 27 мая 2009

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

0 голосов
/ 27 мая 2009

Я бы предложил второе предложение Тилоса с javaFX. Кроме того, тенденция указывает на веб-приложения, так что я думаю, что в долгосрочной перспективе javaFX и веб-интерфейсы наверстают упущенное в Swing + SWT GUI.

0 голосов
/ 27 мая 2009

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

[править] Создание Java-кода, эквивалентного XUL, было бы огромным улучшением в XUL. XML делает это действительно, очень трудно делать хорошее разделение задач и один раз и только один раз. Это, однако, идеально подходит для подхода монгольской орды. Вам нужен слой поверх свинга, он предоставляет только строительные блоки.

...