2009-09-29 32 views
11

La mayor parte del desarrollo de aplicaciones de escritorio que hago es en Swing, y tengo curiosidad por escuchar las opiniones de las personas sobre el uso de JavaFX y/o Adobe Flex para crear aplicaciones de escritorio. ¿Has tenido éxito construyendo aplicaciones de escritorio con estos? ¿O se quedaría con Swing por ahora y usaría herramientas para ayudar a que el desarrollo de Swing sea más productivo?JavaFX, Swing o Flex para aplicaciones de escritorio Java

+1

Um, Flex no es una tecnología Java. – cletus

+1

¿Qué quieres decir con eso? Adobe Flex ... –

+0

Adobe Flex está escrito en ActionScript/MXML y se compila en un componente Flash. * Puede * hablar con un servidor de Java, pero puede comunicarse con un servidor escrito en cualquier idioma, siempre que pueda comunicarse con él mediante AMF, REST o interfaces de servicios web. – Nate

Respuesta

19

Si estás haciendo aplicaciones de escritorio, me quedaré con Swing. JavaFX/Flex/Silverlight sería más apropiado para las aplicaciones de Internet ricas en RIA. Aunque diría que ninguno de ellos sería una opción a largo plazo, me parece que HTML5/CSS3/Ajax están ganando el día, pero esa es un área bastante subjetiva. Pero para aplicaciones de escritorio, soy un gran admirador de Swing (también Java Web Start es una tecnología muy infravalorada)

+0

+ 1, buena respuesta y estoy de acuerdo con la mayoría, excepto que debe apegarse a Swing. Swing no es muy avanzado en comparación con .NET, por ejemplo. Yo probaría JavaFX. – Igor

10

Diría que JavaFX puede verse como una especie de extensión de Swing con una nueva forma de desarrollar una GUI de Java mediante el uso de un lenguaje de programación declarativo: el script JavaFX. El código JavaFX Script se ve exactamente como una secuencia de comandos JSON, a diferencia de Adobe Flex o Microsoft Silverlight que utiliza una sintaxis XML.

JavaFX Script puede interactuar con Java y, por lo tanto, puede llamar fácilmente a los componentes de Swing. Es realmente una nueva generación de API GUI, como Swing para AWT: buenos componentes gráficos, nuevas formas fáciles de gestionar diseños, características realmente útiles para construir interfaces dinámicas: enlaces, temporizadores (para crear animaciones), etc. Eche un vistazo aquí: http://www.javafx.com/samples/ ya los tutoriales y vea qué tan rápido puede crear un tipo de aplicación de Google Picasa ... La API incluso contiene algunas herramientas para usar fácilmente servicios web: puede encontrar muchas muestras de GUI integradas en JavaFX conectadas a algunos servicios web públicos (como una herramienta de Pronóstico del tiempo).

Y lo mejor ... es la parte de implementación. Puede incrustar su aplicación en una página html, como un applet, y el usuario puede arrastrar y soltar la aplicación en su escritorio para usarla cuando lo desee (¡sin tener que volver a su navegador)!

Realmente, creo que JavaFX, en su etapa inicial (v1.2), es una herramienta realmente buena y representa el primer paso para Java hacia la próxima generación de aplicaciones: las Aplicaciones de Internet Ricas (RIA).

1

Debe probarlos todos y ver cuál se ajusta mejor a sus necesidades. Si desea ver qué puede hacer con Flex y cómo hacerlo, consulte Tour de Flex.

Algunas de las ventajas de Flex son que está maduro (más de 5 años) y un área de inversión importante para Adobe. También puede encontrar numerosos ejemplos de aplicaciones de AIR creadas con Flex en el Adobe AIR Marketplace.

1

oscilación puede quedar bien con la sustancia L & F.

Sin embargo, si está desarrollando solo (a diferencia de con un equipo), tratando JavaFX podría ser una buena idea.

2

Java Swing es una tecnología establecida y madura para el desarrollo de escritorio. Podrá encontrar mucha información en línea y muchos programas de muestra. Dicho esto, sin embargo, es posible que desee considerar Adobe AIR. AIR es básicamente un tiempo de ejecución que le permite ejecutar sus aplicaciones Flex en el escritorio y les da acceso a recursos locales como el sistema de archivos. He escrito aplicaciones Java Swing durante 10 años y estoy sorprendido de lo mucho más productivo que estoy usando Flex/Adobe AIR. Un buen aspecto de Flex es que puede crear sus GUI de forma declaritiva, al igual que cómo usa HTML para declarar el diseño de una página web. Es una forma mucho más concisa de especificar una GUI, y mucho más rápida y fácil de mantener que las resmas del código Java Swing que necesita para hacer lo mismo. No recomendaría JavaFX, ya que es muy tarde para la fiesta y realmente no ha tenido éxito con los desarrolladores convencionales.

1

Lea las aproximadamente this, escriba aplicaciones de oscilación extremadamente ligeras y con la misma base de código muévala a la web.

+0

Por favor, agregue la información relevante de estos enlaces. Los enlaces tienen la costumbre de ser movidos o eliminados, si esto sucede, su respuesta se vuelve inútil. – Mike

0

que habían evaluado estos para aplicaciones de escritorio y, finalmente, se equivocaban ir para JavaFX. Esto tiene muy buenos medios library y gráficos acelerados por hardware y capacidades de medios. Con Jdk 7, la actualización 6 en adelante contiene JavaFx totalmente integrado. No se requiere instalación por separado. Java swing es una tecnología muy buena y se continuará, pero veo que JavaFx es el futuro de la GUI y la aplicación de Internet hasta cierto punto. La mayor ventaja para mí fue que JavaFX aplicación podría ser convertido a archivos ejecutables con native packaging

Proveedores scenebuilder para arrastrar y soltar diseñador de componentes

0

siento que no tengo suficiente información para responder a esta pregunta. Hay muchas aplicaciones en las que un enfoque de AIR es una mejor opción, otras aplicaciones utilizan mejor otras tecnologías. Principalmente soy un desarrollador de AS3/Flex, pero sé que hay muchos casos en los que una de las plataformas Java es una mejor opción. Ahora que Flex ya no es un producto de Adobe sino más bien un producto de Apache, mejorará el producto ya que los usuarios crearán la hoja de ruta o la eliminarán por completo.

Cuestiones relacionadas