Actualmente usamos PHP para desarrollar. Las ventajas principales de PHP se puede ver facilmene: entre otras cosas, tiene bastante soporte.
PHP originalmente era el acrónimo de Personal Home Page, lo cual nos puede hablar no muy bien de este lenguaje para desarrollo de aplicaciones web o sitios de dimensiones considerables. Ahora, parece que le cambiaron el significado al acrónimo recursivo “PHP: Hypertext Preprocessor”. Cual sea el significado, ha evolucionado bastante, al grado de tener su propio ‘engine’ ( zend ) al estilo de VM, y diseñado para poder desarrollar orientado a objetos, de una manera mas avanzada ( PHP 5 ). Despues de ver varios debates sobre PHP y otros lenguajes, quedé de acuerdo con que PHP aun le falta mucho para mejorar su API, tienen muchas inconsistencias en su nomenclatura de funciones, puedes enredarte un poco al estar depurando si tienes que estar siguiendo archivos que estan incluidos como locos, o puedes volverte loco al depurar un script que tenga todo mezclado ( base de datos, logica, diseño, evaluacion de formas, etc ), aunque esto puede suceder en cualquier otro lenguaje ja!.
Lo bueno de PHP, es que como decía, con bastante soporte, ya hay funciones para todo ( casi les falta funciones como fart( ) o getCoke ( $flavor ) ), soluciones para casi toda situacion, estan las librerias PEAR, y mucho soporte de PHP en foros y su propio sitio web; aunque esto ultimo de forosy tips y ejemplitos pueden ser en algunos casos malos, por enseñar practicas no-muy-buenas. Pero bueno…
El caso es que a como está PHP en este punto, se pueden hacer DAOs, los cuales son patrones de J2EE, pero igual, se puede implementar como muchos otros patrones. El detalle es, es bueno implementarlo? Uno de los detalles que vi en los debates PHP/Java, es que PHP termina siendo mas rapido ( hasta comprobado con benchmarks ), puesto que tienes la logica de base de datos, logica de negocios e interfaces de usuarios muy unidos entre si; aunque pueden estar separados por clases, todo se incluye y queda donde mismo, se compila el script, se ejecuta y voilá; en java tenemos que si son llamadas de RMI, que se tienen que crear los objetitos, los POJOs, llamar a la otra capa, la cual tiene que regresar la info, populando arreglos de los objetitos, y despues utilizarlos en algun controlador, para despues poderlos utilizar. Ok, esta bien organizado, pero segun tiene el overhead de hacer todo esto. Volviendo al detalle de los DAO, si se implementa en PHP, podemos caer en lo mismo: tienes una clase DAO que te envuelve las llamadas a base de datos de cierto tipo de objeto, otro objeto para conexion a base de datos, el controlador del objeto, para esto tenemos los objetitos ( que en una pagina los nombraban value objects o VO, pero nosotros los bautizamos como POPOs ), y sobre esto el manejador de lo que estamos haciendo, y sobre esto el script para el cliente que a su vez manda llamar el generador de templetes ( smarty ) … aaaargh :s …. caes de nuevo en J2EE, pero mas bien seria algo como PHP5EE jaja. Entonces, resulta esto peor que manejar PHP de la manera ‘clasica’? la ventaja de hacerlo asi, es que tienes la flexibilidad de cambiarlo todo y re-juntar muchas de las cosas sin perjudicar tiempo de desarrollo ni caer en errores criticos que te consuman tiempo y que les salgan al usuario final.
Pero ese es el dilema por el momento, y en verdad no he encontrado mucha informacion acerca de si es mejor o no, algunos dicen que no es bueno hacer “java” en PHP, mientras otras partes dicen que PHP esta lo suficiente maduro para esto y mas … seria bueno saber opiniones y comentarios
Tags: PHP, Tech by Eskizo
8 Comments »