Buscar
Social
Ofertas laborales ES
« Fundamentos de Grid Computing, por Chris Engelbert de Hazelcast | Main | Nueva API para JUnit 5 »
lunes
nov232015

Interesante reflexión sobre el futuro de JavaFX

Shai Almog ha escrito en DZone un extenso e interesante artículo reflexionando sobre el futuro de JavaFX. Al margen de que Shai Almog es un ponente de bastante renombre y experiencia dentro del mundo Java, su empresa usa JavaFX y Swing Y él afirma que ambas son tecnologías importantes para la empresa. Por tanto es una persona que habla de algo que conoce bastante bien.

En su artículo Shai tiene un par de gráficos interesantes para mostrar como JavaFX ha fallado a la hora de ganar tracción: el número de búsquedas en Google de los términos "JavaFX" y "Java Swing":

Este gráfico deja claro que, a pesar de los esfuerzos de Oracle, JavaFX no termina de despegar. Pero es todavía más interesante añadir a este gráfico las búsquedas de "Adobe Flash", una tecnología que incluso el propio adobe reconoce que no es el futuro:

 

Sin embargo, el también reconoce que JavaFX ha fallado a la hora de ganar tracción y en su artículo discute si es posible/tiene sentido intentar relanzarlo. Aunque hay cosas que son mejorables con la tecnología, éste no es realmente el problema. Como tecnología JavaFX está bien. El principal problema es que está intentando hacerse con un nicho cada vez más pequeño y donde se están introduciendo otras tecnologías con mucho más futuro como HTML 5 y JavaScript

Según Shai, Está claro que en estos momentos Oracle ha abandonado a JavaFX. Yo coincido con su opinión. En 2011 escribí este artículo en javaHispano donde básicamente exponía ideas bastante similares a las de Shai.

¿Vosotros usáis JavaFX? ¿Creéis que la tecnología tiene futuro?

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (9)

Buenas

Yo no uso JavaFX pero sí uso Swing porque de vez en cuando hago aplicaciones de escritorio (ahora mismo estoy haciendo una) y no tengo la sensación de que Swing (o JavaFX) este obsoleto. Tengo la sensación de que no se hacen tantas aplicaciones de escritorio como antes y de que las que se hacen no tienen eco. Cuando dices que en tu proyecto no hay un servidor web te miran raro. Eso afectará tanto a Swing como a JavaFX o al WPF (¿se llama así?) de .Net porque lo que ha caído es el tipo de aplicaciones, no el framework sobre el que se hacen. Al menos en las conversaciones.

Si Oracle lo ha hecho bien o mal lo tengo claro. Lo ha hecho mal. Tenía un buen framework, Swing, con mala fama porque se adelantó a su tiempo porque el hardware de la época no era suficientemente potente, igual que pasó con los applets o con Java en general. Cuando llegó hardware que aguataba el tipo, decidió sacar un nuevo framework para sustituir a Swing pero que no aportaba gran cosa pero que no era trivial de aprender. Si el nicho es pequeño, con lo que había te vale, ¿por qué migrar? Y más cuando la aplicación de escritorio emblemática "de la casa", Netbeans, sigue hecha con Swing.

El problema no lo veo como "Swing contra JavaFX y que hace Oracle con ellos", si no si Oracle tiene claro que, aunque más pequeño que antes, Java necesita tener presencia en el escritorio aunque solo sea porque el resto de los lenguajes serios (o sea, C++ y C#) la tienen y las empresas y el mundo profesional seguiran necesitando aplicaciones de escritorio porque las que se ejecutan en un navegador simplemente no dan la talla. Puede que le puedas quitar los ojos rojos a una foto usando una aplicación hecha con HTML5, pero con una de escritorio puedes hacer el Photoshop. Puede que GMail sea muy chulo porque puedes arrastrar una etiqueta a un correo para etiquetarlo, pero el drag&drop es una tecnología de los tiempos de Windows3.1...

Yo pienso como el autor del artículo cuando enumera lo que podría sustituir a JavaFX, salvo porque en mi caso la lista es sobre lo que podría sustituir a Swing, pero las conclusiones son las mismas, que no hay nada bueno por lo que cambiar. Lo que tengo claro es que en el proyecto en el que estoy se usa Swing porque yo personalmente soy bastante competente con él,sé lo que se puede hacer con él y por eso se usa Java, pero si lo hubiera cogido otra persona probablemente hubiera pensado "escritorio, entonces .Net" porque Microsoft sí se encarga de que todo el mundo sepa que con .Net se pueden hacer aplicaciones de escritorio.

El nicho es pequeño, pero sigue siendo un nicho.

noviembre 23, 2015 | Registered Commenternilojg

Buenas,

Pues bastante esclarecedor el artículo. Yo sí uso bastante JavaFX, pues en mi empresa fue la opción elegida para desarrollar aplicaciones de escritorio. Mejor rendimiento y más posibilidades que si se hicieran sobre navegador, facilidad extrema para llevar las aplicaciones a Windows, Mac y Linux, y la verdad, muy poco esfuerzo para conseguir resultados realmente vistosos.

Lo expuesto por el autor del artículo era algo que ya me rondaba por la cabeza desde hace algunos meses, sobre todo tras la discontinuidad de Scene Builder... pero todavía se escucha hablar sobre futuras novedades (no muchas, pero alguna sí), y las mailing-list siguen con cierto movimiento. De todas formas es innegable que JavaFX ya no es una prioridad para Oracle, aunque dudo que decidan "matar" la parte de escritorio de Java.

Por ahora en mi empresa continuaremos utilizando JavaFX, pues encaja bastante bien con lo que necesitamos (y lo que nos piden nuestros clientes), pero es como todo, habrá que seguir atentos a su evolución, e ir sondeando las alternativas existentes.

noviembre 23, 2015 | Unregistered CommenterPablo

Buenas tardes,

Tengo entendido que las aplicaciones de escritorio están muriendo, analizando una aplicación que desarrolló team viewer para realizar Backup. Ellos crearon un desarrollo web instalando en el cliente un servidor de aplicaciones liviano que levantaba su aplicación, en vista de eso nos dedicamos a migrar dos aplicaciones que teníamos en Swing, Observamos una mejoras en rendimiento y no solo eso, se nos hizo mas fácil el mantenimiento de las misma a la hora de crear nuevas pantallas o realizar ajustes.

Por nuestra parte no usaremos mas swing ni java FX

Saludos

noviembre 23, 2015 | Unregistered CommenterDarwin

JavaFX llegó tarde, si incluso Silverlight llegó tarde y eso que llegó antes... Sin embargo, dado que tecnológicamente era muy superior a flash y Silverlight, aunado a los planes de incursión en smarttv y otros planes, decidí en sus inicios darle una oportunidad. Lamentablemente las cosas se fueron enfriando y tras la llegada de HTML5 y compañía y la muerte de Silverlight y flash no hay duda que no tiene futuro alguno por muy bueno que sea. Lástima....

noviembre 24, 2015 | Unregistered CommenterJuan

Yo he desarrollado aplicaciones Web desde que empecé a programar, así que una de las cosas que siempre he deseado es crear algo para escritorio. Tenía esperanzas de que Java FX evolucionara y tuviera gran apoyo por parte de Oracle, para así animarme a aprender. Pero parece que me voy a quedar con las ganas... Con la falta de tiempo que tengo, esta incertidumbre sobre Java FX me echa para atrás.

Desde luego, las aplicaciones Web centralizadas tienen muchas ventajas. Pero también inconvenientes. Yo personalmente no confío en tener mis cosas privadas en servidores de terceros, porque no están bajo mi control y son el principal objetivo a la hora de ataques. Además, ante la falta de conexión con la máquina central, estás perdido. Así que creo que las aplicaciones de escritorio, aunque ya no sean el centro de atención, son todavía imprescindibles para todos.

Supongo que con el tiempo, y con máquinas y conexiones cada vez más potentes, a alguien con ese mismo recelo le dará por impulsar el concepto de "nube" en un ámbito más privado. De manera que incluso el usuario menos avezado pueda tener una máquina central en su propia casa, con un servidor de aplicaciones integrado, y un repositorio de aplicaciones Web capaces de hacer lo mismo que hoy hacemos con aplicaciones nativas. Entonces quizá las aplicaciones de escritorio sí podrían verse amenazadas. Pero esto sólo interesaría al software libre, porque está claro que el privado precisamente querrá todo lo contrario: que dependas de sus servicios centralizados.

noviembre 24, 2015 | Unregistered CommenterIgor

Buenos días a todos.

En la empresa que trabajo nosotros utilizamos swing y la verdad es que nos va super bien.
El 90% de nuestro sistema está hecho con swing y un 10% en web (Servlets, JSF, PrimeFaces). Por el momento no pensamos cambiar a otra tecnología porque nos sentimos muy cómodos por todo lo que podemos hacer con Swing. La verdad es que si nos costó al principio. Pero en la actualidad luego de la experiencia que hemos adquirido considero que Swing es una excelente herramienta. Nuestro Sistema corre en máquinas Windows, Linux y MAC. El tiempo invertido se ha justificado con creces.
Considero que la gente de Oracle debería potenciar y hacer más sencillo el manejor de Swing en lugar de lanzar productos que busquen reemplazarlo. Desde mi punto de vista no deberían competir con ellos mismos sino potenciar lo que ya tienen y trabajar más en campañas publicitarias para que la gente conozca las ventajas de utilizar un herramienta tan poderosa como Swing.

noviembre 25, 2015 | Registered Commenterjed

Articulo tendencioso. Simple HUD.

Lo que se esta ignorando en el resumen es que ese articulo surgio como reaccion a este otro (al que no se por que motivo no se le da la misma publicidad desde Java Hispano):
https://dlemmermann.wordpress.com/2015/11/16/when-to-use-javafx-instead-of-html/

Si se leen los comentarios a dicho articulo de Shai Almog se observa claramente que se trata de una reaccion furiosa al notar que JavaFX apunta al mismo mercado en el que opera Codename One, producto que no usa ni su abuela...
Afirmar que la importancia de un lenguaje viene dada por las busquedas en Google? Vamos hombre... en ese caso seguro que podemos afirmar que el lenguaje mas utilizado es 'hot girls' no?
Cuando escribimos 'Adobe Flash' en Google es porque nos interesa dicho lenguaje? o sera mas bien porque el navegador X nos pide el plugin, hay un video o un juego que no se ver correctamente en nuestro navegador o nos sale una alerta que nos indica que hay que actualizarlo?

Yo me quedo con las reacciones moderadas de quienes conocen realmente JavaFX como Jhonatan Giles, Tech Lead en el equipo JavaFX:
http://jonathangiles.net/blog/?p=2002

Y respecto al articulo del 2011, me quedo con los ultimos comentarios, con los que estoy 100% de acuerdo.

Un saludo

noviembre 28, 2015 | Unregistered CommenterUnoPorAhi

JavaFX es una excelente opción para aplicaciones escritorio, más allá de eso, creo hay mejores alternativas. Cierto es que ahora hay FXPorts que porta una aplicación JavaFX a Android, pero existen alternativas más modernas como Cordova.

Incluso Electron está ganando más terreno, por la facilidad que te da de convertir una aplicación web moderna a desktop (Un claro y excelente ejemplo es Nylas N1, un cliente multiplataforma open source de correo hecho con React, Flux y Node).

A este paso JavaFX terminará como WPF, casi abandonado. Sin embargo, un buen reemplazo de Swing sigue siendo...

diciembre 2, 2015 | Unregistered CommenterMitsu Gami

Comparar una parte concreta de Java, o cualquier otro lenguaje, con "Adobe Flash"... ¿es coña no? Ah no, que todo lo que se hace usando Flash es lo mismo que se hace con Java FX... No ibamos a pensar en manipular estadísticas, no.

diciembre 19, 2015 | Unregistered CommenterYomismo

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>