jueves, abril 17, 2008

Java World


Que mundillo este de los Javeros... Tan lleno de siglas. Mundo en el que yo mas o menos me he mantenido al margen.

Tengo que reconocer que no me apasiona el lenguaje, ya que cuando surgió yo era muy de C++ y eso marca... Jeje.
Sin embargo el que ahora me apasiona es Python. Curioso... ¿Porque? Porque Python está mucho mas alejado de C++ que Java. Java es como que se queda a medio camino...
Mira si dejas ya un lenguaje como C++, lo dejas con todas las consecuencias. Eso si, está bien que apareciese Java y que exista. Tiene un nicho claro.

Hace tiempo estuve trasteando un poco con Java y CORBA, y realmente respecto a manejar CORBA con C++ es una gozada. Pero tras conocer python y volver a tocarlo, tengo mas fundamentos para ver que realmente se queda a medio camino. Hay que teclear mucho...

Un lenguaje como Python también tiene sus desventajas, pero para desarrolladores digamos 'avezados', que hagan buen uso de él, es una gozada.

Bueno... tras esta introducción a continuar con el típico post mio de recopilar enlaces que traten de un tema determinado...
Post que claramente tiene su origen en el curso que estoy haciendo... que me está sirviendo y mucho para refrescar estos temas.
Bueno al lio...

El curso que estoy haciendo es una introducción a J2EE. Bueno y ni siquiera eso, ya que que se quedan fuera los EJBs, u Enterprise Java Beans (que no confundir con los Java Beans). O los WebServices (esto ya si que es un cristo...), por mencionar un par de cosas. Vamos... que vemos solo parte realmente web, la que se ejecutarça en el servidor web.



Los EJBs son objetos distribuidos, mientras los Java Beans son objetos java reutilizables que deben implementar un determinado interfaz.

¿Entonces que es lo que vemos en el curso? Pues básicamente Servlets (que sería el equivalente a los Applets en un navegador, pero en el servidor) y JSPs . Bueno también las TagsLibs, y lo que de tiempo al final. Parece poco, pero es muy practico y ya se sabe... la practica lleva tiempo...

Sobre los JSPs... Los JSPs es una tecnología que te facilita la generación de Servlets (lo que se genera, dinámicamente, es un Servlet). Te facilita la integración de codigo Java (o no Java) con otro contenido (típicamente html). Vamos... es como si fuera una especie de template.

Como herramientas usamos.... adivina, adivinanza... Tomcat, Apache, y Eclipse.
Si usasemos EJBs ya no serviría Tomcat, ya que Tomcat sólo un contenedor de Servlets. Necesitaríamos un servidor de apliaciones, y seguramente habríamos usado JBoss, que es posiblemente el mas extendido.

Aunque los Servlets y las JSPs es la base del desarrollo web en Java, la tendencia es a usarlos poco directamente. La gente suele usar frameworks, siendo el mas oido struts (que es una implementación del patrón MVC).

Los frameworsks también tienen sus peros; siendo el principal el que mientras las cosas van bien, todos contentos, pero cuando van mal... a ver quien es el guapo que pilla que es lo que va mal.
Pero claro... como estos javeros lo que no quieren es tirar lineas de código... ;).

Contra esta tendencia a la complejidad y embarullar todo un poco han surgido cosillas como los POJO. También como reacción a lenguajes que vienen pisando fuerte: python y ruby.

Ya sobre como se da el curso en si...
Pues está bastante bien. Teoría la justa, la necesaria; y a practicar, que es como realmente se aprende.
Me preguntaba el cheriff si lo que estabamos viendo era la Pet Store... ¡Pues no! Estamos integrando una aplicacioncilla superchorra que se ha currado el profe. Y cuando digo integrando es realmente eso: nos dedicamos a montar la 'cola' entre el diseño web y la capa de negocio. Ambas cosas ya las tenemos hechas.

En Java BluePrints [wiki], aparte de la Pet Store, hay otra aplicación demo, la Java Adventure Builder Reference application; pero que no es tan popular. Los downloads.
Ummmmm, habrá que hacer una Python Pet Store ;)...

Y con esto y un bizcocho hasta mañana a las ocho (nunca mejor dicho).

No hay comentarios: