Довольно скоро нам понадобится разработать графический интерфейс для создания конфигураций (больше похоже на скрипты, если честно) для нашего решения EAI в действии. Представьте себе типичный редактор рабочего процесса. Визуализация реальных потоков, скорее всего, будет полностью настраиваемой задачей, будь то в Swing, SWT или JavaFX 2. У меня проблемы с выбором, делать ли все остальное самостоятельно или использовать многофункциональную клиентскую платформу.
В частности, я заметил, что JavaFX 2 привлекает много внимания и, кажется, действительно продвигается Oracle как следующая большая вещь в ландшафте графического интерфейса Java. Демонстрации выглядят интересными, и, возможно, этот новый API больше ориентирован на производительность, а не на тонны шаблонного кода, который Swing имеет тенденцию навязывать. Использование более новой технологии, пользующейся большой поддержкой, кажется беспроигрышным вариантом для будущего обслуживания.
Использование RCP имело бы определенные преимущества для этого проекта. Независимо от того, выберем ли мы Eclipse или NetBeans в качестве платформы, наличие существующих подключаемых модулей / модулей для просмотра базовой (XML) конфигурации, контроля версий и т. Д. Обеспечит мощную функциональность с минимальными усилиями. Мне также нравится идея иметь типы проектов нашего программного обеспечения рядом с проектами Java в одном и том же графическом интерфейсе. Даже простые вещи, такие как управление окнами и индивидуальная компоновка панелей, намного лучше обрабатываются RCP, чем то, что мы могли бы создать.
Итак, вопрос теперь в том, какая технология или их комбинация жизнеспособны? Насколько я понимаю, у меня есть следующие варианты:
- Затмение. Однако я не очень хочу использовать SWT, так как я больше знаком с Swing. NetBeans - это также моя основная среда IDE, и я с ней больше всего знаком. Это всегда казалось более интуитивным.
- NetBeans. Это позволило бы разрабатывать собственные компоненты в Swing. Для меня более низкая кривая обучения.
- NetBeans + JavaFX 2. Эта идея мне нравится ... Используйте NetBeans для совершенства RCP и использование JavaFX 2 для настраиваемых компонентов. JavaFX 2 очевидно интегрируется со Swing, но насколько хорошо это можно сделать в NetBeans?
- Swing или JavaFX 2. Выполняйте всю работу с графическим интерфейсом самостоятельно или используйте существующую структуру (и), чтобы получить большую часть того, что предлагает RCP. Это кажется большим трудом, но также предлагает превосходный контроль. Мне немного неприятно пробовать это в Swing. Насколько хорошо для этого подходит JavaFX 2?
По сути, мой единственный опыт работы с графическим интерфейсом - это Swing для небольших приложений. Я впервые собираюсь сделать что-то, что требует RCP. Но JavaFX 2 кажется продвижением вперед, и я не хочу упускать из виду его. Если Swing скоро исчезнет, я бы предпочел использовать более новую технологию.
Если есть люди, которые могут поделиться своим опытом, попробовали что-то вроде NetBeans + JavaFX 2 или ближе к передовой технологии JavaFX и могут рекомендовать / отговаривать его от использования для такого рода вещей, я был бы наиболее заинтересован.
Я понимаю, что это несколько открытый вопрос, но я не могу придумать более подходящего места. Я не ищу споров «что лучше RCP / лучше ли JavaFX, чем Swing». Я ищу веские аргументы за / против их использования в этом контексте.