Большая часть разработки настольных приложений я делаю в Swing, и мне любопытно слышать мысли людей о том, как использовать JavaFX и/или Adobe Flex для создания настольных приложений. У вас был успех в создании настольных приложений? Или вы бы теперь придерживались Swing и использовали инструменты, чтобы сделать разработку Swing более продуктивной?
JavaFX, Swing или Flex для приложений Java Desktop
Ответ 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, он либо улучшит продукт, как пользователи, создаст дорожную карту, либо полностью отключит ее.