La odisea ingresando a Java en la facultad (2)
De regreso por estos lugares!
Esta vez continuando con la odisea de "aprender" a programar en Java.
Querido Blog:
- Pues el curso sige su marcha, es divertido ver la cara de algunos compañeros que no entendieron nada, ver como otros progresan bastante bien, ver como el maestro se divierto hablando de cosas muy tecnicas, despues rie y nos ve con su cara de "jaja los pille".
El maestro nos compartio una documentacion, bastante buena, de lectura pesada pero muy util. (proximamente lo subire y les paso la ligua)
El curso se basa en programacion de servlets, elementos por demas interesantes.
Que en resumen los definia como:
- La parte ejecutable del servidor que se encarga de regresar cierta respuesta ante una llamada HTML.
Su funcionamiento es bastante basico, solo agrega la parte del metodo de envio HTML.
Este es un ejemplo simple de un servlet:
Como pueden ver el codigo es muy simple para solo desplegar un saludo, que obviamente se puede cambiar por cualquier proceso que ustedes necesiten.
En la ultima parte se puede agregar una respuesta HTML que sera mostrado por el navegador del cliente, como alternativa a que se envie respuesta que sería interpretada por el HTML (recordemos que es un lenguaje interpretativo).
Sin mucho mas por el momento me despido, deseenme suerte en el proximo examen!
- arukk's blog
- Inicie sesión o regístrese para enviar comentarios
HTTP
No es ante una llamada HTML, es ante una llamada HTTP. Recuerda que HTTP es el protocolo y HTML es el código en el que haces las páginas web. Lás páginas de HTML se piden y devuelven por medio de HTTP.
Buen ejemplo de "hello world" en servlet; lo que sigue sin gustarme es que necesita un post mucho más extenso para explicar cómo compilar y probar ese fragmento tan pequeño de código. O son plugins en un IDE, o es instalar un contenedor (Jetty o Tomcat son lo más sencillo), configurarlo, etc y aventar ahí la clase para poder ver cómo funciona, saber qué URL poner en el navegador... en fin. Por eso luego se nos van algunos al inframundo de PHP.
¿Por qué comentas que
¿Por qué comentas que luego se van algunos al inframundo de PHP? ¿Es más fácil? ¿Mas sencillo? ¿Se pueden hacer las mismas cosas en J2EE que con PHP? ¿Que diferencias, ventajas y desventajas traen?
Re: ¿Por qué comentas que
Sí
Sí
Sí
Lo primero que se me ocurre acerca de J2EE:
0. Utiliza un modelo basado en contenedores que proporcionan muchos servicios de bajo nivel que ya no hay que preocuparse por programar: conexión a bases de datos, gestión de sesiones, etc.
1. Promueve (fuerza) el desarrollo de componentes desacoplados (desde una instancia de servlet no puedes obtener una referencia directa a otra instacia de servlet, por ejemplo). Nada de actualizar un archivito y subirlo al servidor para hacer un cambio a una aplicación. Si vas a hacer un cambio es "la enchilada completa".
2. Provee un modelo bien organizado para ensamblar aplicaciones. Inclusive tiene predefinido un ciclo de vida para distintos tipos de componentes.
3. Tiene una avanzada "administrabilidad": si truena un componente puedes darlo de baja sin afectar a los demás,
Es decir, J2EE no se preocupa sólo por problemas de tiempo de diseño/implementación, sino es una plataforma que también pensó desde un principio en atender problemas de tiempo de ejecución.
Esto tiene un costo asociado: el ciclo de desarrollo es muy doloroso. Hay que compilar, empaquetar, desplegar una y otra vez hasta la náusea todos los días. Yo pienso que si la aplicación que estás desarrollando debe tener características "enterprise" como las mencionadas, o un estándar corporativo te obliga, deberías usar J2EE. Pero si no es el caso, para desarrollar aplicaciones web usaría Python o Ruby. Tal vez PHP. Pero no perdería mi tiempo con ambientes y prácticas taaan complicados como los requeridos/utilizados en J2EE.
Saludos
Javier
No explicas porque es mas
No explicas porque es mas facil y mas sencillo
PHP
ya te contestó Javier respecto a varias preguntas.
La versión corta de mi respuesta es: PHP significa Personal Home Page. Eso te dice todo en cuanto a para qué fue hecho ese lenguaje.
Las desventajas que yo le veo a PHP es que es muy fácil hacer porquerías en ese lenguaje. Ciertamente se pueden hacer porquerías en cualquier lenguaje, pero en PHP es muy fácil. Las broncas que yo he visto:
Las ventajas de PHP es que si tienes un servidor Apache ya casi es seguro que trae el mod_php y nada más tienes que ver si está activado y configurado (y si no, con dos líneas de texto lo dejas funcionando). Luego agarras tu archivito pagina.php y lo avientas en cualquier directorio y listo, tienes una página PHP funcionando en un web server. Comparado con configurar Tomcat, conectarlo con Apache (compilar e instalar mod_jk), compilar este servletito que pusieron de ejemplo, empaquetarlo en un WAR, meterlo a Tomcat y probar si funciona, pues sí, Java es mucho más complicado. Pero como dice Javier, a cambio de esa talacha engorrosa tienes muchas ventajas.
Podemos decir que PHP y Java son herramientas para solucionar distintos problemas. Mi opinión muy personal es que PHP es el Visual Basic del nuevo milenio; un lenguaje para que cualquier persona con un mínimo entendimiento de programación, de las computadoras y del mundo en general pueda hacer un disque sistemita.
Re: PHP
Yo mismo he recomendado a amigos con empresas pequeñas, que deben hacer alguna aplicación para su página web porque no les basta con un tríptico virtual, que utilicen PHP y busquen cualquier estudiante de licenciatura que por una paga determinada les de mantenimiento a su paginita. Un amigo me cuestionó que por qué no les recomendaba mejor otro lenguaje menos propenso a ataques, y es que en realidad sólo estaba pensando en algo que cualquiera pudiera programar y mantener, que fuera ventajoso para una microempresa y también para ayudar a pagar los estudios de alguien.
Por supuesto Yahoo usa cantidades colosales de PHP, y PHP muy bien hecho, pero quiero ver qué porcentaje de desarrolladores PHP tiene la disciplina que los desarrolladores de aplicaciones PHP de Yahoo.
Saludos
Javier
No sólo HTML
En efecto un JavaServlet tiene la capacidad de atender peticiones HTTP, pero no sólo sirve para mandar código HTML al cliente.
De manera genérica, un JavaServlet se puede usar para generar contenido dinámico de distinto tipo. Por ejemplo, imágenes GIF, JPEG, PNG, documentos MSWord y MSExcel, documentos PDF, y algunos otros.