lunes, 23 de abril de 2012

El Universo de Java

Bien ya cuando dominemos JDBC y conoscamos java por lo menos la sintaxis basica es hora de adentrarnos a un uso mas complejo de este lenguaje,cuando nos lo enseñan, primero lo vemos a consola como un lenguaje estructurado luego Orientado a objetos y se complica mas la cosa,despues lo bonito de interfaz grafica y algunos vamos directo a la web con JSP.

Yo no soy ningun experto pero tampoco conoci JAVA ayer ya tengo mi rato por aca pero todos los dias son de aprendizaje,a lo que voy es que les explicare como es que esta divido todo este bonche bueno por lo menos por donde yo he pasado y visto.

La primera estacion se llaman Aplicaciones de escritorio construidas con Swing o AWT o algunas librerias extras como SwingX,Como funcionan estas aplicaciones? pues son a lo antiguo a lo visual basic tu creas tu aplicacion con tu IDE preferido el mas comun es Netbeans.


Algunos Post antiguos tenemos de esta herramienta lo basico para comenzar,En la paleta tenemos widgets de los mas basicos hasta algunos que son complejos,Una de las ventajas que se pueden crear componente personalizados que quiere decir esto tu agarras un windgets java lo extiendes y los personalizas luego lo pones en la paleta y listo un componente propio en la web explican como hacerlos la mayoria ya estan hechos solo es de darles un toque personal,(Crear componentes es complejo).

Estas aplicaciones se pueden integrar con base de datos cualquiera que sea soportada yo lo he probado con  Mysql Server,PostgreSQL,Oracle, tambien con los ORM,yo lo use con hibernate, y algunos framework que  simplifican la vida como Spring Framework.

Tambien la interfaz grafica se puede usar en Eclipse con un plugin que se llama Windows Builder la intalacion es bastante sencilla.


Cuando la Aplicacion esta completa es hora de generar el jar que es el ejecutable que reconoce java algunos lo hacen exe pero es caso especial se hace con un programa aparte pero se pierde la portabilidad que nos brinda el Lenguaje,una vez teniendo el jar solo es de ejecutarlo.Hay implementaciones mas bonitas sobre como sacar a produccion un proyecto swing como lo es Web Start.

Hace poco me di cuenta que Netbeans dice que el Framework ya no se esta desarrollando ya no tiene continuidad,En cambio Windows Builder no lo dice pero hay otras opciones como lo es el Lado de la web que esta en mas auge en este momento.

Aca es otro universo hay tantas opciones que algunas ni idea como funcionan o que son las que mas conosco son.

  • JSF:Este Framework esta basado en MVC que divide la aplicacion en capas logicas Existen varias implementaciones de este framework para el manejo de componentes,la version mas reciente trae Ajax nativo.
  • IceFaces: Desarrollado por IceSoft, esta implementación aparte de adicionar mas componentes al framework, tambien nos evita tener que estar pendientes del uso de Ajax ya que todos sus componentes lo traen embebido y funciona directamente en la aplicación desarrollada con este framework.
  • RichFaces: Esta implementación es una de las grandes del mercado, tiene una gran cantidad de componentes y es soportada por la empresa jboss, este framework nos integra ajax a nuestra aplicación web evitándonos la tediosa programación de ajax, en este caso nosotros nos encargamos de controlar el ajax, es decir, que en los componentes yo defino cuando funcionan con ajax, tiene una gran cantidad de componentes y es muy usado en el mercado.
  • PrimeFaces: Esta implementación trae una gran cantidad de componentes (mas que icefaces), nos provee, al igual que icefaces, ajax, pero con el modelo de richfaces, es decir nosotros controlamos las acciones ajax, también pone a nuestra disposición una gran cantidad de temas para nuestra aplicación. (Recomendado y muy facil de usar pero muy dificil de personalizar y soporte es de pago hay foros gratis pero nunca responden)
  • ADF: Esta implementación esta a cargo de Oracle, es de cobro, totalmente integrada con IDE JDeveloper de Oracle y es una excelente herramienta(Herramienta muy buena se hace un mantenimiento empresarial en 10 minutos pero para poder usarlo se necesita mucho mucho mucho dinero).



Algunos como Ifaces traen plugin para Netbeans para hacer su uso agradable.El uso de JSF en netbeans no requiere ninguna configuracion el IDE ya lo trae.


En eclipse requiere un poco mas de configuracion.

Algunos necesitaran una configuracion extra dentro de nuestro proyecto,Existen otros framework como Struct que de ese sino se nada jeeee.

GWT (Google Web Toolkit): Creado por Google, en este framework el desarrollador no necesita tener conocimiento de HTML ya que el objetivo es que solamente se desarrolle en Java y el framework se encargará de traducir esta programación a código HTML y Javascript, se caracteriza porque la vista del cliente se maneja desde el browser del usuario que se conecta (javascript) y lo que corresponde al servidor se ejecuta desde el servidor (java), lo que hace que la aplicación sea muy rapida al no estarse conectando al servidor 'por cada clic' .Este se puede usar en netbeans pero yo lo he probado en Eclipse ya que ahi posee el GWT-designer el cual se parece a Swing solo que es web una herramienta orientada a los que vienen de Swing y quieren entrar en la Web.


Para poder usarlo hay que configurar ciertas cosas antes que lo explica la pagina de desarrolladores de este Framewok es bastante potente aunque tiene su lado complejo.

La ventaja de todos es que siempre es codigo java solo cambia el contexto donde estes aunque se mescla con codigo de algunos framework.Hay muchos mas que no mencione,pero tu eliges con cual trabajar todos tienen sus pro y sus contras lo bueno es que les abri la mente y que queda mucho mucho por aprender.Espero que sea de ayuda