Является ли XML или XUL будущим Java GUI building?

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

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

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

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

9 ответов


ответ Солнца на это, кажется,JavaFX.

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


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


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


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

с другой стороны, ясно потребность для рельсы GUIs. Голые объекты-самая близкая разумная попытка, которую я видел.


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


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


Я бы поддержал предложение Thilos с javaFX. Кроме того, тенденция указывает на webapps, поэтому я думаю, что в долгосрочной перспективе javaFX и веб-UIs догонят swing+swt GUIs.


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


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

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