JavaFX, Swing или Flex для приложений Java Desktop

Большая часть разработки настольных приложений я делаю в Swing, и мне любопытно слышать мысли людей о том, как использовать JavaFX и/или Adobe Flex для создания настольных приложений. У вас был успех в создании настольных приложений? Или вы бы теперь придерживались Swing и использовали инструменты, чтобы сделать разработку Swing более продуктивной?

Ответ 1

Если вы создаете настольные приложения, я буду придерживаться Swing. JavaFX/Flex/Silverlight будет более подходящим для RIA-богатых интернет-приложений. Хотя я бы утверждал, что ни один из них не будет выбором в долгосрочной перспективе - выглядит так, как HTML5/CSS3/Ajax выигрывают день, но это довольно субъективная область. Но для настольных приложений - я большой поклонник Swing (также Java Web Start - очень недооцененная технология).

Ответ 2

Я бы сказал, что JavaFX можно рассматривать как своего рода расширение Swing с новым способом разработки графического интерфейса Java с использованием декларативного языка программирования: JavaFX Script. Код JavaFX Script выглядит точно так же, как JSON script, в отличие от Adobe Flex или Microsoft Silverlight, который использует синтаксис XML.

JavaFX Script может взаимодействовать с Java и поэтому может легко вызывать компоненты Swing. Это действительно новое поколение GUI API, например Swing для AWT: красивые графические компоненты, новые простые способы управления макетами, действительно приятные функции для создания динамических интерфейсов: привязки, таймеры (для создания анимаций) и т.д. Посмотрите здесь: http://www.javafx.com/samples/ и в учебники и посмотреть, как быстро вы можете создать своеобразное приложение Google Picasa... API даже содержит некоторые инструменты для использования легко веб-сервисы: вы можете найти множество образцов графического интерфейса, встроенных в JavaFX, подключенных к некоторым общедоступным веб-сервисам (например, инструмент Weather Forecast).

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

Действительно, я думаю, что JavaFX на ранней стадии (v1.2) является действительно хорошим инструментом и представляет собой первый шаг для Java в отношении приложений следующего поколения: Rich Internet Applications (RIA).

Ответ 3

Java Swing - это развитая и зрелая технология для разработки настольных систем. Вы сможете найти много информации в Интернете и множество примеров программ. С учетом сказанного, однако, вы можете рассмотреть Adobe AIR. AIR - это в основном среда выполнения, которая позволяет запускать приложения Flex на рабочем столе и предоставляет им доступ к локальным ресурсам, таким как файловая система. Я написал приложения Java Swing уже 10 лет, и я поражен тем, насколько продуктивнее я использую Flex/Adobe AIR. Одним из приятных аспектов Flex является то, что вы можете создавать свои графические интерфейсы декларативно, так же, как использовать HTML для объявления макета веб-страницы. Это гораздо более сжатый способ указать графический интерфейс и намного быстрее и проще в обслуживании, чем в кодах Java Swing, вам нужно сделать то же самое. Я бы не рекомендовал JavaFX, так как он так поздно устраивает вечеринку и на самом деле не получил работу с основными разработчиками.

Ответ 4

Вы должны попробовать их все и посмотреть, какой из них лучше всего соответствует вашим требованиям. Если вы хотите посмотреть, что вы можете сделать с Flex и как это сделать, то посмотрите Tour de Flex.

Некоторые из преимуществ Flex - это то, что он зрелый (более 5 лет) и значительная область инвестиций для Adobe. Вы также можете найти множество примеров приложений AIR, созданных с помощью Flex, в Adobe AIR Marketplace.

Ответ 5

Свинг может хорошо выглядеть с помощью вещества L & F.

Однако, если вы развиваетесь в одиночку (в отличие от команды), попытка JavaFX может быть хорошей идеей.

Ответ 6

Прочитайте о этом, напишите чрезвычайно легкие приложения для swing и с той же базой кода переместите его в Интернет.

Ответ 7

Я оценил их для настольных приложений и, наконец, решил пойти на JavaFx. У этого есть очень хорошая среда библиотека и аппаратная ускоренная графика и возможности мультимедиа. С обновлением Jdk 7 в 6-й версии JavaFx полностью интегрирован, не требуется отдельная установка. Java swing - очень хорошая технология и будет продолжена, но я вижу, что JavaFx - это будущее для графического интерфейса и интернет-приложения. Самое большое преимущество для меня в том, что приложение JavaFx можно преобразовать в exe файлы с родной упаковкой

Также попробуйте конструктор сценариев для конструктора компонентов перетаскивания

Ответ 8

Я чувствую, что у меня недостаточно информации, чтобы ответить на этот вопрос. Существует множество приложений, в которых подход AIR является лучшим выбором, другие приложения лучше используют другие технологии. Я в первую очередь разработчик AS3/Flex, но я знаю, что есть много примеров, когда одна из платформ Java - лучший выбор. Теперь, когда Flex больше не является продуктом Adobe, а скорее продуктом Apache, он либо улучшит продукт, как пользователи, создаст дорожную карту, либо полностью отключит ее.