Инструменты Rapid Java UI для тестирования внутреннего сервера

У нас есть серверное приложение Java, использующее связь на основе сообщений, передающую строго типизированные сложные сообщения POJO. Наш постоянный клиент — это многофункциональное клиентское приложение Flex, которое имеет очень сложный процесс разработки художественного оформления и пользовательского интерфейса, который не поддается быстрому прототипированию.

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

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

Какие существуют инструменты для быстрого создания многофункционального клиентского пользовательского интерфейса Java, чтобы разработчики могли быстро добавлять новые пользовательские интерфейсы для тестирования серверной части Java?

Кодирование Swing и UI вручную — отстой.

Я посмотрел на Eclipse Rich Client Platform, и она выглядит многообещающе, но я обеспокоен тем, что кривая обучения и простота добавления нового пользовательского интерфейса для тестирования функциональности сервера не будут легкими. Если есть что-то вроде облегченного Eclipse RCP, я был бы не против того, чтобы небольшая группа разработчиков работала над основным приложением Eclipse RCP, в то время как повседневная работа могла бы выполняться в простой среде быстрого прототипирования, которая легко интегрируется.

Некоторые технологии пользовательского интерфейса Java, которые я изучал (у кого-нибудь был опыт быстрого прототипирования пользовательского интерфейса с низкой кривой обучения для разработчиков серверов).


person Dougnukem    schedule 10.12.2009    source источник
comment
Вы можете отредактировать свой вопрос, чтобы объяснить, почему эта тестовая программа должна быть на Java. Существует огромное количество языков, которые лучше подходят для быстрого создания пользовательского интерфейса! Как вы правильно сказали, кодирование Swing и пользовательских интерфейсов вручную — отстой.   -  person Jonathan Feinberg    schedule 10.12.2009
comment
Я могу ошибаться, но быстрое прототипирование и Swing или Eclipse RCP звучат для меня как масло и вода.   -  person Pascal Thivent    schedule 10.12.2009
comment
@Jonathan, причина, по которой мы выбираем java, заключается в том, что наш протокол сообщений - JSON, и мы можем легко перейти от строгого типа Java -> JSON -> Java, но другие языки будут иметь дело с необработанным JSON и для глубоких сложных объектов со сложными картами , списки быстрее, если мы можем иметь дело со строго типизированным java. Мы работаем над инструментом генерации кода для actionscript, чтобы ускорить синтаксический анализ необработанного JSON.   -  person Dougnukem    schedule 10.12.2009
comment
@Pascal, я согласен с тем, что быстрое прототипирование в необработанном Swing или Eclipse RCP болезненно, но другие языки, которые позволяют быстрое прототипирование, на самом деле просто создали удобный уровень, облегчающий прототипирование. Мне любопытно, построил ли кто-нибудь этот слой на Eclipse RCP или Swing. Я полагаю, Groovy UI Builder является королем?   -  person Dougnukem    schedule 10.12.2009
comment
пробовали графический редактор в Netbeans?   -  person ChadNC    schedule 10.12.2009


Ответы (2)


Если вы предпочитаете Flex;

  1. Попробуй весну с пламенем
  2. Протестируйте его с помощью flexunit

или JSF;

  1. простой дизайн jsf подключается к управляемому bean-компоненту (смесь с spring), а управляемый bean-компонент подключается к вашему сервисному уровню ....n
  2. Протестируйте его с помощью jsfunit.
  3. Вы также можете протестировать selenium.

или свинг;

Создайте дизайн с помощью Swixml или Thinlet ((это напоминает mxml)


P.S. Не тратьте время на разработку красивого пользовательского интерфейса. Вы можете сделать это позже. Функциональность важнее, чем красивый внешний вид. Позже CSS сделает это за вас. Я повторяю это, от себя :)

person baybora.oren    schedule 10.12.2009

Действительно, если вы собираетесь использовать Swing, вашим разработчикам придется столкнуться с кривой обучения. Groovy SwingBuilder и подобные библиотеки — это просто DSL, которые вырезают много шаблонного и повторяющегося кода. SwingBuilder, безусловно, экономит время (и является более элегантным, чем чистая Java), но на самом деле сложная часть использования Swing связана с базовой структурой.

Конструктор пользовательского интерфейса NetBeans Swing (Matisse) действительно удобен, если вы хотите разрабатывать Swing с помощью перетаскивания, но вы все равно должны быть хорошо знакомы со Swing, если хотите понять, как соединить все вместе.

person Ken Liu    schedule 10.12.2009