Swing y AWT han muerto: Podra ahora Java ser una plataforma viable para RIAs?

Swing, por fin, ha muerto y AWT tambien, Oracle se deshizo de AWT y todo lo que se construyó en la parte superior del AWT (Swing).

Debo admitir que yo pensaba que JavaFx seria quien moriria, pero no, es Swing quien ha muerto.
Ahora, Java FX no es sólo una nueva biblioteca de componentes, animación y multimedia, es un reemplazo completo de AWT [Abstract Window Toolkit], Java2D, Swing, Java Sound, Applets, ImageIO, Accessibility - en resumen, toda la capa de cliente de la plataforma JavaSE. (el package java.applet ha muerto también, ya no se usará mas)

Mis felicitaciones por a Oracle por finalmente cortar por lo sano, matar a Swing y a AWT y empezar (quiza, con mucha suerte) a volver a darle a viabilidad las RIAs basadas en Java.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Griffon

Me pregunto qué va a pasar con proyectos como Griffon... espero no esté muy dura la migración a JavaFX 2

Esto se refiere

Ya en las próximas versiones del jdk no estará presente swing y awt?
Pregunto para ir mirando que aprender ahora. Ya que estaba iniciando con aplicaciones de escritorio con swing.

Imagen de bferro

Pues a darle

Seguramente comenzaremos a escribir varios posts sobre JavaFX, que se promueve más como RCP (Rich Client Platform) que como tecnología RIA.
El cambio es significativo para aplicaciones de desktop por lo que no será una opción; será algo obligado comenzar a asimilarlo. En http://download.oracle.com/javafx/2.0/architecture/jfxpub-architecture.htm hay una descripción breve de la arquitectura de JavaFX. Conviene empezar por ahí, para poder visualizar esa "riqueza".

Pues no, no se murió ni se

Pues no, no se murió ni se morirá, solo se fortaleció ( yeah ) jejej.

No me imagino la versión 11 de Intellij IDEA o la siguiente de Netbeans escrito en JavaFX2.0

AWT? Sii.. ese esta requete muerto ( AWT mismo tiene dos partes, los controles y la infraestructura )

Por ejemplo la herramienta de recortes que hice con Ryz para la demo utiliza awt para acceder al código nativo:

Ejemplo:

       ...
       frame = JFrame()
       frame.add( label )
       frame.setVisible( true )
       dialog.setUndecorated( true )
       AWTUtilitiesWrapper.setWindowOpacity( frame, 0.3f )
       AWTUtilitiesWrapper.setWindowOpaque(  dialog, false )
       ...


y ese AWTUtilitiesWrapper es básicamente:


com.sun.awt.AWTUtilities.setWindowOpacity(  window,  float )


No me extrañaría que JavaFX también usara...

Ooooppps... estaba abriendo algunos links para tener más info de JavaFX y me encontré el GWT ( jajaj que gandallas con nombrarlo exactamente como la herramienta de Google )

Cita:

"
Glass Windowing Toolkit

El Glass Windowing Toolkit [...] es el framework de más bajo nivel para el stack de gráficos de JavaFX2.0. Su responsabilidad principal es proveer servicios nativos de operación como administrar las ventanas, timers y superficies. Sirve como la capa independiente de la plataforma que conecta la plataforma JavaFX con el sistema operativo.

"

Ouch.. pues si parece que va para fuera tienes razón.

Entoneces corrigo mi respuesta, no se murió, nomás está siendo sustituido :) :)

En cuanto a que desaparezca del JRE, no va a pasar, si todavía andamos cargando el paquete CORBA en el core, Swing y AWT segurán ahí por un muy buen rato.

En conclusión, van a ir cambiando poco a poco las aplicaciones hacia FX, espero que esta vez Java pueda posicionarse en el escritorio, aunque quizá la reacción llegó demasiado tarde.

Muerte prematura

Yo creo que cortar de una tajo a SWING y AWT es tan severo como decir: Windows deja de existir. Es algo que todos tienen quejas pero sin embargo muchos todavia necesitan (necesitamos). Yo creo que FX no fue tan pelado como esperaba Java en lostiempos que lo lanzo ahora quieren impulsar a FX quitando su propia "competencia" pues ya tambien estaba resagado en sus controles y la verdad que en canto a diseño si se quedaba corto.

Oracle está intentando

Oracle está intentando ingresar al mercado de los dispositivos moviles y con Swing jamás lo iba a hacer. Quizá con JavaFX tampoco, pero al menos lo va a intentar.

Imagen de luxspes

Yo digo que el JRE va a entrar en dieta

En cuanto a que desaparezca del JRE, no va a pasar, si todavía andamos cargando el paquete CORBA en el core, Swing y AWT segurán ahí por un muy buen rato.

Quien sabe, el JRE es bastante mas pesadito que el runtime de Flash o el Silverlight y tengo idea de haber leido por ahi que querian generar una version "light" para poder competir con Flash y Silvelight... pero no encuento la liga...

En conclusión, van a ir cambiando poco a poco las aplicaciones hacia FX, espero que esta vez Java pueda posicionarse en el escritorio, aunque quizá la reacción llegó demasiado tarde.

Si, yo tambien lo espero, pero tambien creo que podria ser muy tarde ya.

@luxspes Es el Java Module

@luxspes Es el Java Module System http://www.jcp.org/en/jsr/detail?id=277

Que se movió para Java8:

http://mreinhold.org/blog/plan-b-details
http://openjdk.java.net/projects/jdk7/features/#f615_649
http://mreinhold.org/blog/module-system-requirements

¬¬ Ese Java 8 va a traer los cambios más radicales... a ver si para cuando salga Java aún tiene programadores :)

Imagen de Sr. Negativo

Java sin Swing y AWT: gran error

Con esto muchos van a cambiarse a .Net

:(

Imagen de ezamudio

netcraft

Swing no está muerto hasta que netcraft lo confirme!

Imagen de neko069

Renovarse o morir...

Pues yo nunca he tocado Java FX, pero como bien dice @bferro, no es una opción, así que lo haré en mis ratos de ocio en el trabajo, aquí el link para echarle una mirada, cortesía del buen @rodrigo salado
....y bueno, pues a renovarse...
Pobre Swing, era tan bueno ....

@Sr Negativo... ahhh que no

@Sr Negativo. No lo van a quitar, nomás ya no lo van a seguir desarrollando, pero va a estar ahí en el JDK por muchos, muchos años más.

Imagen de bferro

Swing y AWT quizá sigan existiendo

JavaFX incluye lo necesario para "incrustar" contenido de JavaFX en aplicaciones Swing, lo que "puede" indicar que Swing y por consiguiente AWT van a seguir vivos y coleando.
Digo "puede" indicar, porque también puede suceder que lo anterior sea una aspirina para evitar dolores de cabeza prematuros.

Imagen de Sr. Negativo

Swing resucitado...

En serio con estos post, te dicen una cosa y te la cambian después).

Creo que le va apasar igual que a JavaFX dicen que ya no existe y después ...que siempre no.

?:(

Hay expertos en SWING en el DF?

Hay expertos en SWING en el DF? Necesito una mentoría de alguien que realmente conozca SWING avanzado, tablas,árboles, textos etc... con sus renderers y editores... o una funcionalidad equivalente. El proyecto es personal, espero que los precios sean accesibles... Saludos

Hay alternativas, es como no

Hay alternativas, es como no usar Linux porque no tiene MS Office (ok, conozco casos que solo or eso regresana a windows)

Imagen de neko069

Re: Hay expertos en SWING en el DF?

Pues mira, no sé si haya miembros de JavaMéxico que se dediquen a dar cursos, pero en google, encontre ésta liga y ésta, puedes checarlas....
También encontré cursos de baile ( y no sé porque me salieron unos de artes marciales ¬¬) pero creo que no hablas de ése tipo de swing ;-)

Re: Hay expertos en SWING en el DF?

Gracias neko069, averiguaré por esa liga... Pero me gustaría que alguien del foro tuviera una oferta más directa... De hecho la aplicación ya la tengo en C++ de CodeGear, pero la opción de ponerla en la web vía JWS me ha parecido realmente buena. Gracias de nuevo... por acá andaremos... Saludos

@maduron Pero tienes dudas

@maduron Pero tienes dudas sobre como funciona Java / Swing? O lo que quieres es pagarle a alguien para que te migre tu aplicación de pe a pa?

Si es lo primero puedes hacer la pregunta aquí en los foros de Javamexico y verás que habrá varios que te ayuden ( nomás no digas "Urgente, tengo un programa en C++ y lo quiero en Java...es para mañana porque tengo que XYZ"

Una buena pregunta es la que es precisa, objetiva y provee la suficiente información.

Imagina que te encuentras a alguién en la calle y te dice: "¿Como llego a donde voy?" pues difícilmente se le podrá ayudar.

Si es lo segundo te puedo recomendar para bajar un poco el precio que hagas un documento donde se describa exactamente que es lo que esperas y como debe de funcionar etc. etc. es decir, bajarle en tiempo a la fase de análisis para que pagues mucho menos. O si sabes Java y como llevar un proyecto mucho mejor, así puedes pedir "Hazme este programa, esta es la especificación"

¿Que es lo que necesitas?

Java SWING

Hola OscarRyz. Mis dudas no son sobre Java o sobre los componentes básicos de Swing. Tampoco estoy buscando que alguien migre mi aplicación "de pé a pá", en eso yo estoy avanzando. Más bien me gustaría que alguien que en realidad conozca y tenga experiencia en tablas, árboles, drag and drop, renderings, editors, (por poner un ejemplo más concreto, que haya implementado TreeCellEditor y CellEditor y los XXXListener necesarios para darle una funcionalidad rica a los árboles). La busco como una mentoría, es decir, quiero ver y aprender su uso en aplicaciones, no los ejemplos de los libros que casi siempre eluden la complejidad real requerida en la práctica. Deseo acortar la curva de aprendizaje en el uso correcto y efectivo de esos componentes más complejos, el desarrollo de la aplicación es mi responsabilidad. Gracias por tus recomendaciones. Saludos.

Java SWING

Por cierto amigos, ya me di cuenta que hice la pregunta en un foro que no es el debido, disculpen. Me aplicaré a identificar el foro correcto y m iré con mis chivas a ese.

@maduron Ja ja lo

@maduron Ja ja lo sorprendente es que lo hubieras hecho en el correcto. Pregunta ( y esto puede darnos una idea ) ¿Por qué lo escribiste aquí?

Sobre tu pregunta concreta te recomiendo comprar y/o ver el código de Filfty Rich Client Applications. Si ya tienes experiencia y bastante paciencia puedes buscar el código fuente de aplicaciones hechas industrialmente como NetBeans, Eclipse o Intellj IDEA, todos son open source ( Eclipse usa SWT pero igual tiene bastante info )

Por último puedes incluso tomar Netbeans Platform o Eclipse RCP ( Rich Client Platform ) para hacer tu aplicación ahí y usarlo como framework y no tener que iniciar desde cero.

Otr buena fuente de ejemplo de alto nivel está en JIDESoftware, tiene una porción Open Source.

Y tan tan, por lo demás en lo que te podamos ayudar acá en el foro pues ya sabes. También sería muy interesante que esas cosas que vayas aprendiendo las publiques, como te darás cuenta hay poca info y que mejor que ayudar a los que vienen detrás tuyo no crees?

Saludos.

Java SWING

@OscarRyz , pues lo escribí acá porque me dejé llevar por la emoción, jeje. No conozco a nadie que esté interesado en SWING en mis ambientes laborales. Busqué en Google y me llevó directo a ésta página, leí SWING y no lo analicé lo suficiente. Respecto a la revisión del código industrial, tomaré tu consejo, aunque mis necesidades no son tan sofisticadas, pero la interacción entre los componentes y las clases e interfases no me resulta muy clara. De hecho, en C++ he podido construirlo desde cero sin demasiada complejidad, estoy seguro que en Java lo lograré. Uno de los componentes básicos lo he podido instrumentar mucho más fácil y eficiente (corre mejor) en Java que en C++. Es solo que no he podido entender como armar la estructura con todos esos ingredientes (recuerda la regla del 7+-2, que a mí se me aplica con doloroso rigor...). Te agradezco éstas guías y, como dices, publicaré lo que logre aprender. Saludos

Imagen de 043h68

Frustrado con SWING

Hace casi un año estuve participando en un proyecto para una empresa multinacional en la cual me toco aprender swing y si que me costo.

De verdad, nadie quería desarrollar con swing y me preguntaba el por que. Lo descubrí cuando me empece a dar de topes con swing y los helpers los cuales me mandaban errores inexplicables y nadie sabia ayudarme, no encontraba tanta documentación de lo que quería y asi. Al final me dejaron de especialista en swing, pero aún sueño con las pantallas y los helpers :'(

Gracias @luxpes ya que con este tipo de información como publicaron arriba, podemos darnos idea de que caminos esta tomando las tecnologías, tan importante actualizarnos.

Saludos!

Re: Swing resucitado...

Más bien es que a veces son "noticias a medias"...Por ejemplo cuando dijeron que JavaFX se moría no era JavaFX sino JavaFX Script.

Respecto al post, pues la verdad ya era hora. Digo tenemos cosas cómo Ribbon de la mano de .NET y pues la verdad que las interfaces Flex/Flash son bastante cool y comparadas con las de Swing. Además podemos decir que básicamente Swing ya tenía rato que no avanzaba a ningún lado, era lo mismo de siempre (tal parece que se había estancado).

Yo también soy de los que piensa que JavaFX fue entrar tarde a competir, digamos que AWT y Swing fueron competencia para cosas cómo los "WinForms"; lo que pasó con Java fue que prestó casi toda la atención a la edición EE y claro que cuando quiso reaccionar ya era tarde...Hicieron JavaFX (con JavaFX Script, lo qué me parecía un error -digo, ya tienes un lenguaje que todo mundo conoce ¿para qué cambiarlo?-) no les funcionó del todo, ahora con estas nuevas versiones veremos si JavaFX nos permite hacer lo que ya hacíamos en Swing y si nos da las posibilidades que Microsoft y Adobe nos dan (Flash, Flex, WPF, Silverlight, etc).

Imagen de rodrigo salado anaya

JavaFX chorrin de historia :P

Resulta que JavaFX (en general), se origina en una empresa llamada SeeBeyond en donde trabajaba Chris Oliver (el creador del concepto/tecnología) y en esos tiempos le llamo FFF (Form Follows Function), ya despuesito Sun Microsystems los adquirió...

Con esto quiero llegar a que JavaFX fue pensado fuera (no por completo claro) de la filosofía de Sun Microsystems, y eso trajo consecuencias de inversión $ y tantan, que lo lanzo como lo máximo eso es otra onda de mercadotecnia desesperada.

Yo no se, no trabajo para en el Oráculo, pero estos le dieron la visión de un producto empresarialmente viable (es mi opinión). Y también es mi opinión que los que ponen las modas son las empresas, como Twitter para Scala y los que dirigen las tendencias somos los desarrolladores con la aceptación de lenguajes y etc etc...

Ya se vera si el Oráculo usa todas sus predicciones, técnicas bonitas y amables para hacer presente en esta del mercado.

@rodrigo +1 por el

@rodrigo +1 por el brackground

Imagen de Jose Manuel

¿Tons que?

D: Entonces como esta la cosa, usarlo como una alternativa como menciona @java.daba.doo o aprender a usar algo mejor y olvidarse de el.
Pero no usarlo solo porque ya no se desarrollara mas? :S tanto que me había metido a Swing....

¿Cuales serian las razones objetivas para el No usarlos(Swing y AWT)?
¿Serian de rendimiento? ¿De estabilidad?, lo digo porque hay veces que aplicaciones con Swing se me bloquean o se alentan y eso que tengo una Pc decente.
¿Que mas razones podrían ser?, razones desde el punto de vista de un desarrollador porque las anteriores parecen mas de un usuario final.

Y yo al flash ya no quisiera ni verlo, su rendimiento tan pobre en GNU/Linux me deja con un mal sabor de boca pero bueh.
El Flex nunca lo eh probado, me gustaría hacer alguna aplicación de prueba.

Osea yo todavía soy un estudiante, sera mejor que aprenda algo nuevo o que le siga con el, o ambas. Me gustaría su opinión o consejo.

http://netbeans.org/community

http://netbeans.org/community/news/show/1498.html

As announced at the JavaOne conference, JavaFX Script language will be discontinued. Therefore, future releases of NetBeans will not offer support for JavaFX Script. We recommend that developers who need this specific feature use NetBeans 6.9.1.

Supongo que alli estan hablando de otra cosa entonces o que rollo?

Imagen de ezamudio

sí, es otra cosa

Ya se ha discutido en varias ocasiones que JavaFX script ha muerto, y que nada tiene que ver con JavaFX a secas, que ahora de hecho ha sido anunciado que tomará el lugar de Swing para el desarrollo de RIA's y seguramente apps de escritorio. Swing queda como legacy, lo puedes seguir usando pero ya no se recomienda desarrollar cosas nuevas con esa tecnología.

Por cierto estaba leyendo en

Por cierto estaba leyendo en el FAQ de JavaFX:

Pregunta: "JavaFX reemplazará a Swing como una la nueva biblioteca para interfaz de usuario en el cliente de Java SE?"

"Respuesta: No. Swing y JavaFX pueden ser usados en la misma aplicacion permitiendole a los desarrolladores ampliar aplicaciones Swing existentes con código JavaFX. Toda vez que Swig es ampliamente usado para desarrollar aplicaciones de cliente de Java, requiere cierto nivel de expertise y especializacion. JavaFX por otro lado tiene un conjunto de controles modernos de UI que pueden ser "adornados" con técnicas de CSS estádar."

JavaFX con Eclipse

Hola, alguien de uds. usa JavaFX con eclipse?, tengo el Eclipse 3.5(galileo) + el plugin de JavaFX e instalado el SDK 1.2.1, es verdad q solo con esa version de eclipse y esa version del SDK se puede desarrollar RIAs en eclipse, intente usar Eclipse3.7(indigo) y la ultima version del SDK 2.0, pero no me funciona :S
pdta.: estoy familiarizado con elipse, ha y tambien soy nuevo en javamexico.org :D, pero soy de otro pais, espero no tener problema por eso ;)