Al ataque de nuevo

Pues si... hoy formalmnete arranco un proyecto que implica retomar Swing, era cuestión de tiempo para que en mi trabajo se dieran cuenta que no se podría seguir con .NET por siempre y ahora hay que sacar las cosas adelante.
El requerimiento fue muy sencillo, la institución de gobierno (de la cual no dire el nombre hasta que nos lo hagan oficial todo) recibió de los abogados que una publicación electrónica fuera visible tanto en Mac como en PC. Adios .NET, además de que esto puede ser el inicio de que todos los libros electrónicos generados aca sean bajo la tecnología de Java.
Lo primero será montar un framework genérico para esos libros, de forma que sean consultables con facilidad, esto lo haremos con SQLite como Base de datos, Lucene como generador de consultas de texto y motores adicionales como Hibernate y Spring haciendo sus labores respectivas.
Yo en lo personal creo que es mejor iBatis (que ya cambió de nombre a myBatis) que Hibernate para estos casos en específico.

Así pues el día de hoy la labor es crear una prueba de concepto que nos traiga una tabla de SQLite a un JTable via un DAO instanciado por Spring y que traiga los datos desde Hibernate.

El único problema que me he topado, además de estar un poco oxidado con Swing, es el de que no existe un dialecto de Hibernate para SQLite, así que tendremos que tomar uno de los muchos que hay por ahí flotando....
Ya les estaremos posteando como van las cosas, pero por lo pronto hoy fue dia de instalar apache, svn, maven, net beans y generar los primeros JFrames y JPanel

Regresar a las raices siempre es grato, seguiremos informando... por cierto, lo de Java 7 para OS/2 fue retomado por otro equipo mucho más extenso y es muy probable que en estos meses se tenga ya una versión de Java tanto para OS/2 como para eComStation (el nuevo nombre comercial del OS/2 )
Saludos

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

Si vas a hacer aplicaciones con Swing, te recomiendo ampliamente Griffon. Es con Groovy, pero puedes programas varias cosas en Java (y reutilizar código que ya tengas hecho en Java, sobre todo de lógica de negocio y cosas así).

mmmm...para venir de .net y

mmmm...para venir de .net y volver a swing, creo que es un mal paso (en el escritorio creo que swing todavía está muy detrás de .NET, ya sea winforms o WPF); la única ventaja es la portabilidad, que bien la podrías tener no sólo en Java, podrías usar Groovy, Python o Ruby.

Con respecto a Griffon, también lo veo cómo mejor alternativa a swing (POR MUCHO), casi podría ser una alternativa a WPF (todo depende de su motor CSS).

Otra opción sin salir de Java, es JavaFX (la cual veo verdesona, pero viable).

Imagen de Sr. Negativo

Mono

Yo he usado .Net y me topé con que no se podían ver las aplicaciones en Mac o Linux. La alternativa que tuve fue Mono

No es por nada, pero Swing se ve bien chafa en comparación con los Windows Forms.

Edit

Comparativa Swing | Windows Forms

Imagen de neko069

Para compensar lo malo que se

Para compensar lo malo que se pudiera ver los Look and Feel nativos de Swing, existen muchas alternativas como substance L&F o Napkin L&F que son los que más uso y se nota por mucho la diferencia, también existen proyectos como Quaqua ( L&F para mac) o bien SwingX o Flamingo para L&F de Windows.... si usas eclipse para emprender tu tarea, te recomiendo que te instales el VE que es un editor gráfico de Swing para eclipse, bastante bueno...

Imagen de luxspes

No le veo ni pies ni cabeza....

Pues si... hoy formalmnete arranco un proyecto que implica retomar Swing, era cuestión de tiempo para que en mi trabajo se dieran cuenta que no se podría seguir con .NET por siempre y ahora hay que sacar las cosas adelante.

Mmmm....

El requerimiento fue muy sencillo, la institución de gobierno (de la cual no dire el nombre hasta que nos lo hagan oficial todo) recibió de los abogados que una publicación electrónica fuera visible tanto en Mac como en PC. Adios .NET, además de que esto puede ser el inicio de que todos los libros electrónicos generados aca sean bajo la tecnología de Java.

A ver si entendi... quieren una publicacion electronica visible en Windows y Mac?... La respuesta a eso deberia ser: PDF? o EPub? O no? (Ambos formatos generables con Java o con .NET)

Lo primero será montar un framework genérico para esos libros, de forma que sean consultables con facilidad, esto lo haremos con SQLite como Base de datos, Lucene como generador de consultas de texto y motores adicionales como Hibernate y Spring haciendo sus labores respectivas.

Lucene no suena mal, pero todo eso correrá en el (los) server(s), no en los clientes, asi que no le veo sentido a usar Swing (y si la excusa para pasarse de .NET a Java fue que se necesitaba un cliente multiplataforma, pues para eso esta el webbrowser... y Silverlight corre en Mac).

Y SQLite? eso si que me confunde... cual es en realidad el alcance de este proyecto? por que si es un repositorio central de toda la documentacion de una organizacion, SQLite se va a quedar supercorto... y si el objetivo es crear un lector standaalone de documentos electronicos... se me hace muy dificil que llegen a superar a AcrobatReader. (Aunque podrian usar a IcePdf como base para crear un visualizador de PDFs... pero de nuevo... para que reinventar el hilo negro? Que piensan ponerle a su visualizador que lo haga tan bueno que el costo de desarrollo se justifique contra simplemente descargar Acrobat Reader GRATIS?)

Yo en lo personal creo que es mejor iBatis (que ya cambió de nombre a myBatis) que Hibernate para estos casos en específico.

Pues, si en realidad vas a usar Swing, a menos que vayas a correr todo en una intranet o por VPN, ambos son mala idea, por que se conectan en plano a la base de datos (tus datos servidos en bandeja de plata a los hackers), necesitas mas bien un framework con capacidades mutitier e integracion con RMI como EclipseLink

Así pues el día de hoy la labor es crear una prueba de concepto que nos traiga una tabla de SQLite a un JTable via un DAO instanciado por Spring y que traiga los datos desde Hibernate.

DAOs? Para una lector tipo AcrobatReader pero hecho en Java? no me hace sentido... por otro lado si esto es un repositorio central de documentos, entonces es Swing el que no hace sentido (y decir que no se puede hacer con .NET es un error)

El único problema que me he topado, además de estar un poco oxidado con Swing, es el de que no existe un dialecto de Hibernate para SQLite, así que tendremos que tomar uno de los muchos que hay por ahí flotando....

SQLite no hace sentido ni para un cliente, ni para un servidor. Si quieres algo standalone y deveras multiplataforma, entonces deberias de pensar en algo como H2 o HyperSQL (que por cierto si tiene dialecto para Hibernate)... pero la pregunta que queda flotando es: hace sentido Hibernate en un proyecto asi?

Ya les estaremos posteando como van las cosas, pero por lo pronto hoy fue dia de instalar apache, svn, maven, net beans y generar los primeros JFrames y JPanel

Buena combinacion, siento que Netbeans es mejor IDE que Eclipse para Swing (lastima que este proyecto suena a algo que quiza seria mala idea construir en Swing)

Re: Mono

Francamente nunca he confiado en Mono, nunca me ha ejecutado las aplicaciones al 100%; se ven y o que quieras, pero no es la misma experiencia que en Windows. Y pues sigo diciendo, para escritorio no hay nada cómo WPF y WinForms.

... yo no lo veo tan mal.

Hola charlymex

Yo no lo veo tan pesimista como otros usuarios.

Swing me ha funcionado de manera fantástica donde se tiene clientes X, Windows y una que otra Mac…

.NET esta muy avanzado en desktops, pero yo mas bien diría que :NET está muy avanzado en _windows_. Nada de malo en ello, pero Swing te corre sin cambios en Linux, Mac, AIX, ya sea con Gnome, CDE, KDE y hasta en un vil twm…

.. en fin. Si en realidad .NET no es opción, échale un ojo al http://sourceforge.net/projects/k-framework/

.. Tal vez no sea lo mas apropiado para lo que necesitas, pero seguro tiene pedacitos que te ayudarán aquí y allá.

Mejor platícanos: Como piensas diseñar tus objetos ? Como los mapearas a las ventanas de Swing?

-Alex

Imagen de charlymex

ceguera de taller

Efectivamente no le ves pies ni cabeza por que lo ves como una aplicación cliente servidor cuando no la es... es una aplicación de consulta en escritorio... todo debe ser local en la máquina y el mismo programa y código debe ser multiplataforma, esa ES la belleza de Java, Write Once Run Everywhere... de una aplicación de escritorio que bases en una clasa JApplet puedes generar una aplicación de escritorio "stand alone" y en Web CON EXACTAMENTE LAS MISMAS FUNCIONALIDADES sin tener que hacer cambios mayores (o ninguno) si es que usas correctamente los patrones de fachada y de separación de capas.
Efectivamente NetBeans es el IDE que terminamos usando, sobre todo por el manejo que tiene hacia Swing. lo de Lucene y base de datos ya te lo expliqué en el post posterior a este, así que espero haya quedado más claro esto a lo que no le ves pies ni cabeza... creeme que es un paso exageradamente importante para muchas cosas dentro de gobierno que repercuten en el exterior, ya que esta y otras aplicaciones que aquí producimos son principalmente para el consumo externo (es decir, el público en general).
Saludos

Imagen de charlymex

Por cierto, Sr. Negativo...

Yo he estado trabajando con WPF, .Net 3.5 SP1, Windows Forms y ahora Swing (después de varios años)... fuera del XAML mi preferencia es Swing y por mucho y por muchas razones... Ahora que hay XAML para swing y es gratuito, por si te interesa...
Muy probablemente no hayas usado NetBeans para Swing, eso hace un mundo de diferencia... a Eclipse le urge un editor de Swing eficiente y bueno, hay varios que van en ese sentido, pero definitivamente NetBeans está años luz adelante... incluso CASI al mismo nivel que VS 2010.
Y por cierto, con todo lo que hay de JavaFX y con lo propio nativo de Swing puedes generar aplicaciones con looks an feels y con posibilidades de tener temas de manera mucho muy superior a las que usan Windows Forms o WPF...
Creo que estas criticando basado en alguna mala experiencia, falta de la misma o falta de actualización en el tema... es la impresión que me da.
Saludos

Imagen de Sr. Negativo

Experiencia

Creo que estas criticando basado en alguna mala experiencia, falta de la misma o falta de actualización en el tema... es la impresión que me da.

No uso NetBeans, prefiero JCreator. Insisto Swing no se vatn bien como los Windows Forms, pero lo que importa que haces (los programas) no que IDE uses.

Ahora estoy usando MonoDevelop y no me parece tan mal. Estoy haciendo pruebas para ejecutar programas Java en esa plataforma, a ver si queda (??)

Imagen de luxspes

Que hace que no haga Acrobat Reader?

Efectivamente no le ves pies ni cabeza por que lo ves como una aplicación cliente servidor cuando no la es... es una aplicación de consulta en escritorio... todo debe ser local en la máquina y el mismo programa y código debe ser multiplataforma, esa ES la belleza de Java, Write Once Run Everywhere...

Acrobat Reader no sera Java pero es una aplicacion de escritorio... y mutiplataforma. Por que invertir tiempo dinero y esfuerzo por algo que puede bajarse gratis de internet?

de una aplicación de escritorio que bases en una clasa JApplet puedes generar una aplicación de escritorio "stand alone" y en Web CON EXACTAMENTE LAS MISMAS FUNCIONALIDADES sin tener que hacer cambios mayores (o ninguno) si es que usas correctamente los patrones de fachada y de separación de capas.

Ok, de acuerdo, pero sigo en la misma... Por que invertir tiempo dinero y esfuerzo por algo que puede bajarse gratis de internet? Que hace tu aplicacion que no haga Acrobat Reader?

Imagen de luxspes

Y las ligas y razones?

Yo he estado trabajando con WPF, .Net 3.5 SP1, Windows Forms y ahora Swing (después de varios años)... fuera del XAML mi preferencia es Swing y por mucho y por muchas razones...

Osea que "fuera del XAML (silverlight / wpf) " es mejor .NET? O no estoy entendiendo? Y por otro lado me encantaria oir las razones por las que tu preferencia es por Swing.

Ahora que hay XAML para swing y es gratuito, por si te interesa...

Claro que si, pasate la liga. Por mas que google no encontre ningun proyecto que pudiera tomar el XAML que genero en Microsoft Expression Blender y lo interpretara con Swing, algo asi seria un hit instantaneo..

Muy probablemente no hayas usado NetBeans para Swing, eso hace un mundo de diferencia... a Eclipse le urge un editor de Swing eficiente y bueno, hay varios que van en ese sentido, pero definitivamente NetBeans está años luz adelante... incluso CASI al mismo nivel que VS 2010

La verdad coincido en que el editor de Swing en Netbeans es de lo mejor que hay, muy superior a los editores de WindowsForms, pero comparado con Expression Blender, se queda corto en cuanto a poder (aunque ciertamente lo siento mas intuitivo)

Y por cierto, con todo lo que hay de JavaFX y con lo propio nativo de Swing puedes generar aplicaciones con looks an feels y con posibilidades de tener temas de manera mucho muy superior a las que usan Windows Forms o WPF...

Superior a Windoforms de acuerdo.. superior a WPF... me gustaria verlo.

Creo que estas criticando basado en alguna mala experiencia, falta de la misma o falta de actualización en el tema... es la impresión que me da.
Saludos

Bueno, dada la falta de ligas y razones para respaldar tus afirmaciones tu tampoco suenas muy confiable... pero quedo a la espera de esas ligas y contundentes razones que seguro compartirás con la comunidad

Imagen de charlymex

Ligas

eFaces es un framework (junto con un plugin ara Eclipse) que te permite generar interfaces Swing via XAML... la liga http://www.soyatec.com/eface/
Expression Blender es excelente para animaciones, no lo puedo negar... y la verdad a mi JavaFX no me causó mucho gusto, creo qeu se hubiese podido generar algo mejor si se hubierse incorporado todo en Java en vez de meter un nuevo lenguaje de Script...
La idea de Blend es competir un poco con Flash, pero así como lo veo Microsoft lo terminará enterrando al igual que a SilverLight, cuyo desarrollo ya sólo lo está proponiendo a largo plazo para móviles, es decir que ya dió por perdido esa parte del mercado.En ese sentido la interfaz de animaciones es muy buena, pero la de GUIs es mejor la del mismo VS y por ende la de NetBeans... ( a mi muy personal punto de vista)

Imagen de charlymex

Experiencia

Importa la IDE y mucho si es que te da la agilidad de sacar buenas interfaces en un tiempo reducido de diseño y con un mejor desempeño... Suerte con MonoDevelop...