| « Tiempo y vida | Búsquedas Febrero 2007 » |
Tal vez uno de los flames más populares de los últimos tiempos en desarrollo web, sea el de ¿qué usar, Java o PHP? Sí, cierto que tenemos Ruby, ROR, Python, Perl, C++ y etc. pero la pregunta sigue siendo la misma: ¿programa generador de páginas, o plantillas de página con programa?
La pregunta que realmente deberíamos hacernos a la hora de elegir, sería qué es lo que estamos haciendo realmente:
Puede parecer una tontería, pero no lo es. Curiosamente, en este caso el orden de los productos SÍ altera el resultado; no es lo mismo una filosofía de desarrollo que otra, ni el método de trabajo, ni el rendimiento final, la mantenibilidad o los requisitos.
Aplicación con Web: Java
La forma más antigua, la más rápida, la inicial partiendo de generar textos en C, luego en Perl, y luego en Java. Su filosofía se basa en un modelo simple:
Parece lógico, ¿no? Pues no, o depende.
Si lo más importante es el manejo de datos, si se usan metodologías avanzadas que no estén implementadas en ninguna otra herramienta, esta es la forma más adecuada de plantear el problema.
Sin embargo, en esta aproximación se sacrifica buena parte de la mantenibilidad de la aplicación al quedar la generación de la visualización (web) integrada en la lógica de aplicación. Tal vez resulte más rápido y cómodo en un primer momento, pero como haya que cambiar cualquier cosa... la hemos liado.
Por otro lado, la persistencia de datos en memoria de aplicación durante todo el tiempo de su ejecución, supone un gran beneficio de velocidad a la hora de manejarla... y al mismo tiempo es uno de los mayores defectos de Java, dado el caos que genera cualquier intento de escalar una aplicación monolítica.
Web con Aplicación: PHP
Aquí partimos de la web como una página de documento, que puede que cambie en algún momento. Para facilitar esos cambios primero se usó SSI, luego PHP... y básicamente ese es el máximo exponente hoy en día. Su filosofía se basa en:
Es una aproximación muy válida, pues realmente el cliente es lo que va a ver, un simple documento. La interactividad es relativamente ajena a la "aplicación", que se basa en otros mecanismos para mantener una ilusión de persistencia que realmente no es tal, usando para tal fin medios externos (normalmente una base de datos).
A diferencia de la filosofía Java, aquí la base de datos no es un mero repositorio de datos ordenados y fácilmente accesibles, sino un elemento esencial de la arquitectura.
Mezclado y revuelto: .NET
Y luego, tenemos un intento de aproximación de las dos filosofías por medio de .NET y su persistencia a nivel de aplicación. Desgraciadamente esta aproximación echa por tierra los beneficios de ambas, conservando sus defectos. Se podría expresar como:
En un primer momento puede parecer interesante la mezcla de arranque en frío con el acceso a un repositorio común, pero se acaba convirtiendo en una trampa mortal al perder tanto el beneficio de una aplicación pre-ejecutada (Java) como el de la separación total entre los procesos (PHP).
Aproximación
Aún así, dentro de ambas filosofías, tanto la "aplicación web" como la "web aplicación", hay elementos que se van vislumbrando como claramente ventajosos.
Uno de ellos es la separación MVC, que desgraciadamente en ambas filosofías tan a menudo se olvida; unas por exceso de Vista, otras por exceso de Control... y de la falta de Modelo ya no hablaremos, pues normalmente supone una catástrofe garantizada.
Tanto Java como PHP han desarrollado sistemas de plantillas. Java se ha incorporado en documentos con enlaces a la aplicación, PHP se ha extendido hacia el soporte de POO y algunas limitadas comprobaciones de tipos.
Al final, una elección razonada viene en función de dos factores básicamente, aparte de la familiaridad de quien vaya a aplicarlos:
Las demás aproximaciones existentes, normalmente se pueden catalogar en uno de estos dos conjuntos. De las demás, como es el caso de .NET, lo mejor es simplemente desconfiar... y si hay que usarlas, andar con extremo cuidado para no caer en las trampas, tentaciones y falsas promesas que ofrece.
| Lun | Mar | Mié | Jue | Vie | Sáb | Dom |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
powered by
+
photos powered by

Nikon Coolpix 7600
+

Nokia 3650
Por cortesía de NokiaGame 2002

Esta obra está bajo una licencia Creative Commons salvo donde se especifique explícitamente otra licencia.