A principios de este año ya hubo bastante controversia acerca del Swing Application Framework, y sobre si este proyecto estaba siendo una víctima de JavaFX. Lo de víctima se interpreta en el sentido de que Sun estaba enfocando todos sus recursos hacia JavaFX, dejando a swing en un estado de hibernación.
Ahora ya está claro que Swing Application Framework no formará parte del JDK 7. Incluso han surgido dos fork diferentes basados en el código del proyecto original (Beter Swing Application Framework y Swing application framework fork) cuya intención es crear un "Swing Application Framework" al margen del JDK 7 y sin la intervención de Sun, intervención que según varios de los participantes en la especificación original estaba siendo más un lastre que una ayuda.
Algunas partes del Swing Application Framework ya habían sido incluidas en alguna Milestone del JDK 7, pero ahora serán eliminadas. No queda claro si Sun también tiene intención de retirar el soporte que Netbeans proporciona desde hace tiempo para este framework.
¿Vais a echar de menos Swing Application Framework en el JDK 7 o creeis que con JavaFX "es suficiente"?
Etiquetas: j2se, swingapplicationframework
Yo no cosideraría JavaFx como un FRAMEWORK que permita una cohesión mas o menos transparente entre diferentes capas de aplicación ¿No creeis? Esa laguna todavía tiene que ser ocupada.
RIP Swing: uno de los frameworks para GUIs mejor diseñados de la historia. Quizá ese diseño tan brillante fuera lo que hiciera más visibles sus defectos.
Una pena, Sun ha desaprovechado todas y cada una de las oportunidades que ha tenido para consolidarlo. No conozco Java FX. Pero no veo a NetBeans moviendo todo su código Swing a Java FX. Claro, que tampoco se sabe muy bien qué va a pasar con NetBeans.
Swing AF no es Swing, es un extra.. no tiene porque morir Swing..
No creo que sin tener que morir, pero sí que es cierto que sin lugar a duda ahora mismo está hibernando (Sun mismo ha dicho que en el futuro próximo sólo tenía intención de corregir bugs, pero no incorporar funcionalidad). A ver que planes tiene Oracle...
Yo agradezco que no incluyan más cosas específicas de un ámbito en el JDK que todos van/vamos a usar.
abraham, yo creo que Swing no tiene que cambiar mucho; el juego de widgets es bastante rico, tiene una buena funcionalidad y cuanto mas estable sea, mejor.
A parte de corregir bugs, claro, yo creo que donde si tienen que ir trabajando es en el look and feel en si, no en la funcionalidad.
Los look and feel caducan bastante pronto porque la gente se acostumbra a nuevos estilos, ahora con curvas, mañana sin ellas, ahora trasparente, mañana plano, etc, y ahi creo que tiene que ir añadiendo lafs oficiales cada relativamente poco tiempo para que las aplicaciones Java no tengan un aspecto anticuado. Y eso lo estan haciendo. De Metal (que era precioso cuando salio) se paso a Ocean (ejem, ejem) y de ahi a Nimbus, que tambien esta muy bien y puede aguantar el tiron un tiempo. Y la integracion con el laf nativo del sistema operativo host cada vez esta mejor y hace que practicamente sean indistinguibles.
Yo creo que Swing es estable porque tiene que ser estable. Hace lo que tiene que hacer, funciona bien y ofrece muchas mas posibilidades de las que usamos. Yo creo que tiene muy buena salud. Hay pocas aplicaciones que lo usan en comparacion con las millones que usan JSPs porque hay pocas aplicaciones de escritorio escritas en Java en comparacion con las millones de aplicaciones web, y por eso es muy facil encontrar gente que no ha usado nunca Swing, pero no porque Swing este mal de salud.
Si JavaFX es para el web, por mi estupendo, y si ademas añade cosas que se pueden usar en aplciaciones Swing, pues estupendo tambien, pero tampoco hay que decir que Swing se va a hundir porque no es el unico.
de acuerdo con nilojg, ademas hay que ver que el JDK 7 si traera cosas nuevas para Swing, y son el JXDatePicker y el JXLayer tomados del SwingX, que por cierto ya esta muy estable y tiene un monton de componentes adicionales.
Tambien estoy deacuerdo con Greeneyed que ya es ta bueno de agregar mas y mas cosas a la JDK, se supone que aquel JSR para hacer la JRE modular busca precisamente tener JREs ligeras y pequeñas. Ademas si pensamos bien la mayoria de nosotros ya sea que programemos web o escritorio utilizamos un monton de librerias/frameworks/toolkits que no estaran nunca jamas en ningun JDK/JEE/JME. Llamese SwingX, OpenSwing, GWT, ICEfaces, ZK, Hibernate, Spring, MyFrameworkXYZ.
Yo mas bien quisiera que quitaran cosas innecesarias del JDK y la dejaran mas limpia, pero eso a estas alturas es muy muy dificil.
saludos
¿Donde fue que lei "La perfección en diseño se logra, no cuando se agrega todo lo que hay que agregar, sino cuando no queda nada por quitar" (creo que en "La Catedral y el Bazar", o sería un artículo de Fowler)?, bueno el JDK es un ejemplo perfecto de ello, mientras no se eliminen y/o reconstruyan un conjunto de librerias que no son necesarias por defecto siempre va a estar la idea rondando. En el caso de Swing es lo mismo, quizás queden detallitos por agregar, pero quizás sería mejor concentrarse en consolidar y/o simplicar algunas cosas.
(soy el anónimo del RIP a Swing) Caramba, leyéndoos parece que Swing si se usa para escribir aplicaciones de escritorio. Yo la verdad no he visto a ninguna empresa usándolo, cosa llamativa porque esas mismas empresas producen JSP como churros. Pero nunca tiran de Swing cuando tienen que hacer algo en el escritorio. ¿Por qué?
Yo llevo ya varios años desarrollando en Java, sobre todo en el entorno Web, en el entorno de escritorio no conozco ninguna empresa (incluyendo las mia) que haya vendido y desarrollado algún proyecto de escritorio.
Aprendi AWT en su día, así como Swing, y estoy seguro qu JavaFX va por el mismo camino, lo siento por los románticos, pero la verdad no me ha servido para nada.
Yo llevo años desarrollando en Java y conozco empresas que han desarrollados aplicaciones de escritorio en Swing, entre ellas mi empresa. Conozco proyectos de empresas de Estados Unidos, de India y España realizados en Swing.
Como en la mayoría de lo que se debate, no hay una verdad absoluta, para algunos proyectos es mejor swing para otros es mejor una tecnología web. De todas maneras a la mayoría de los clientes me exigió hacer un proyecto en una determinada tecnología, la mayoría de los gerentes o dueños de empresas les interesa solo les interesa la solución.
Es evidente que es mas facil y barato encontrar un experto en JSP que en Swing. Esto tambien ayuda a definir.
En cuanto a la nota, creo que mientras se siga utilizando no ha muerto. Si me parece bien que lo saquen ya que la mayoría no lo utiliza.
Para el anonimo anterior, si quieres ver una aplicación grande realiza con Swing, puedes mirar www.gtsiberica.com.
Hago click para ver de qué hablan aquí, y me encuentro con que NO han empezado aún el flame SWT vs Swing. ¿Qué le ha pasado al JavaHispano de toda la vida :(?
"En cuanto a la nota, creo que mientras se siga utilizando no ha muerto. Si me parece bien que lo saquen ya que la mayoría no lo utiliza. "
Y está claro que sino lo meten nadie lo va a utilizar. Precisamente las tecnologías de escritorio son las que deberían de incluirse dentro del JRE, que al fin y al cabo debe de ser completo para ejecutar applets y aplicaciones swing, que son las que emplean directamente los usuarios. Yo he desarrollado aplicaciones muy grandes en swing, y sus carencias son muchísimas. De momento swingx al completo debería de haberse incorporado hace tiempo al JRE, y es mucho mas necesario que el framework al que se hace referencia en la noticia, que no usa nadie, es incompleto y solapa funcionalidad con los RCP de eclipse y netbeans (mucho mas maduros y completos).
La gente habla del LAF... bueno, en realidad es solo una pequeña parte del problema, y con mucho el menos importante. Hay carencias en la integración a todos los niveles: proceso de instalación/desinstalación, intercomunicación con componentes nativos, acceso a servicios del sistema operativo, comunicación con dispositivos, etc... la lista es un no acabar, y es precisamente una de las razones por las que mucha gente usa SWT (no pretendo iniciar el flame, cada uno tiene sus virtudes y defectos).
Tampoco hay de que preocuparse, es dificil que el soporte de Oracle al desktop de Java sea peor que el de Sun... quizás simplemente lo abandonen...
Ninguna empresa usa SWING? joder, pues las 2 empresas donde he desarrollado aplicaciones SWING deben ser fruto de mi imaginacion.
SAF no es comparable a NBPlatform. SAF es para aplicaciones sencillas, aporta lo basico para iniciar una aplicacion de escritorio. NBPlatform es mucho mas. No son comparables.
Yo uso SAF y me parece que es un buen paso. ¿que no lo soportara SUN? Bueno, quiza la comunidad debe ponerse a ello.
saludos
Precisamente las tecnologías de escritorio son las que deberían de incluirse dentro del JRE
...la lista es un no acabar, y es precisamente una de las razones por las que mucha gente usa SWT
Teniendo en cuenta que SWT no viene con el JRE, está demostrado que meter el Swing Application Framework dentro del JRE no ayudaría en nada. El JRE tampoco incluye la plataforma de NetBeans ni la de Eclipse y son mucho más utilizadas que el SAF.
Nos quejamos de que el proceso de instalación es lento y nos quejamos por que no meten más cosas en el JRE, lo cual implica que para hacer upgrade de esa librería habría que hacer upgrade de todo el JRE... somos totalmentes coherentes, si señor.
(soy el anónimo del RIP a Swing) Caramba, leyéndoos parece que Swing si se usa para escribir aplicaciones de escritorio.
---------------------------------------------------
creo que andas un poco desconectado de java o solo haz usado la version en web, swing es la version mejorada de los awt y para cualquier aplicacion de escritorio puedes decidir si quieres usar swing o awt, de hecho netbeans en forma predeterminada usa controles swing y los awt estan por ahi muy discretos entre tus opciones.
¿existe algo parecido a Osgi, pero para la JVM? me acuerdo que en algún minuto hubo una discusión que el Java 7 iba a tener un runtime mínimal y permitiría descargar bajo demanda los otros componentes, si de eso se trata esta discusión, sería irrelevante que Swing estuviera o no, porque si lo necesito lo descargo en línea y listo, pero ignoro en que quedo.
lean primero!
http://blogs.sun.com/theplanetarium/entry/the_future_of_swing
deco
Echadle un ojo a esto.
http://www.javahispano.org/contenidos/es/form4g__aplicaciones_de_escritorio_al_estilo_web/
Vuelvo a repetir lo que dijo el nonimo del 02/10/2009 11:24
Punto primero, se elimina de la distribucion un framework que complementa a Swing en el desarrollo de aplicaciones.
Y otra cosa, para los que dicen que Swing no se usa y blablabla, a lo mejor deberiais salir de las cochambreras empresas de la puercosa espanya.
Bueno la verdad es que engancho justo el tema. Les cuento que trabajo hace dos años con aplicaciones web en java y la verdad es que siempre me dio cosa meterme en aplicaciones desktop, las pocas veces que probe no podia evitar extrañar VB, o al menos su absoluta simplicidad para crear aplicaciones desktop al instante (RAD si quieren llamarlo).
Sin embargo hace poco me surgio la necesidad de volver a programar alguna aplicacion desktop y reevaluando decidi seguir con java y no volver a viejos lenguajes de programacion (ni tampoco pasarme a C# para aplicaciones desktop).
Acostumbrado a Eclipse baje Netbeans y me propuse trabajar integrando ambos IDE's, hoy curoseando los detalles en la implementacion de la aplicacion desktop de ejemplo en Netbeans empece a marearme. Que demonios es jdesktop?, me puse a investigar y me tope como de costumbre con infinidad de siglas JDNC, JDIC, RCP, SWT y finalmente con SAF y JSR 296. No termino de toparme con SAF, que encuentro este articulo en el que se anuncia que la JDK 7 no lo contendrá.
Me puse a leer los comentarios y aprendi un poco mas, pero sin embargo sigo con la misma duda, queja o como quieran llamarlo. Por momentos pienso que java y su comunidad nos llenan de herramientas utiles, frameworks, librerias, soluciones listas para utilizar, etc. Pero, por momentos, todo se vuelve un mar de tecnologias las cuales todas carecen de algo y se valen de otra cosa.
Hace tiempo vi algo de SWT y me desalento un poco el uso el hecho de que no sea algo "estandar" de java, sin embargo al parecer es MUY usado. Hace unas horas me enteré de RCP y, si bien aun no entiendo del todo qué es, veo que al parecer se usa bastante. Pero me pregunto, es necesario tanto mar de tecnologias?. Frameworks olvidados, o que ya no se mantienen, tecnologias orientadas a dar una misma solucion pero que todas terminan teniendo faltas.
Me refiero a que en otros lenguajes de programacion las herramientas para trabajar con aplicaciones desktop son muy completas y simples a la vez, y no hay que andar rompiendose la cabeza para encontrar un plugin de tal o cual IDE que nos permita hacer un drag and drop de componentes, etc.
Lo único que me plantea esto son dos preguntas existenciales:
* Yo, programador java que busca afirmar conocimientos para crecer como profesional, en cual de los infinitos frameworks debo trabajar?, en cual debo especializarme?
* Yo, programador. ¿Que framework debo usar para asegurarme que al aplicacion que yo desarrolle sea facil de codificar, facil de mantener, escalable y ademas, que tenga la seguridad de que mañana ese framework va a seguir vivo y no voy a tener que migrar media aplicacion a un framework nuevo que quien sabe cuanto puede durar?
Saludos a todos ;)
Escribe tu comentario