Web Hosting rápido y seguro cortesía de XMundo. Oferta con cupón VivaPHP! 100 Mb con MySQL y PHP: $9.99/Mes.

Por qué nunca seremos Rails (Parte 1)

Y después del explosivo éxito que el año pasado tuvo Rails como framework para el desarrollo web, todo el mundo PHP quiere llevar esa misma magia al lenguaje más popular en los servidores de Internet. Desde la mismísima Zend para abajo, todos quieren ser el próximo Rails. Pero ¿es ésta una tarea en la que PHP puede triunfar?

Conocí PHP hace casi 6 años (PHP3 por aquel entonces) y éste fué el lenguaje que me devolvió mi amor por la programación. Pero con todo ese entrañable cariño acumulado por incontables satisfacciones (y algunas frustraciones) debo reconocer que PHP no puede ganar la batalla por la próxima generación de frameworks para el desarrollo de aplicaciones para la web.

Intentaré comenzar a explicar porqué pienso así con este primer artículo, pero seguramente muchos más seguirán este año.

Para comenzar, dejemos claro que framework es, según Wikipedia, "Una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Un framework representa una arquitectura de software que modela las relaciones generales de las entidades del dominio. Provee una estructura y manera de trabajo la cual extienden y/o utilizan las aplicaciones del dominio". Un framework, entonces, está concebido para hacer del desarrollo de software algo más organizado, eficiente y "mantenible". Básicamente, 3 cualidades que no abundan, irónicamente, en muchas aplicaciones escritas en PHP. Pero, ¿es esto culpa del programador o del lenguaje?

Mi respuesta a la última pregunta sería "de ambos".

Un buen programador sólo puede mejorar su código hasta donde las limitaciones del lenguaje que usa se lo permitan, y es sólo hasta ahí mismo donde todos los estos nuevos frameworks tipo MVC para PHP podrán llegar, no importa la genialidad de los programadores que tengan detrás.

Y para demostrar mi argumento, sírvanse este ejemplo del framework Biscuit, que entre sus mismos "Gotchas" reconoce sus propias limitaciones heredadas, muy a pesar de sus propias intenciones seguramente, del lenguaje PHP:

Step 5 Gotchas…

En contraste con Ruby, en PHP uno no puede llamar a los métodos de la clase en los modelos ActiveRecord. Entonces, $posts = Posts::find_all() no funcionará. Esto es porque el modelo de objetos de PHP no es el mejor. (Las llamadas a los métodos se ejecutan en el ámbito de la clase en la que está definido el método, y no en la subclase -- si uno quiere la explicación técnica).

Mi conclusión: en la búsqueda del Nirvana, los desarrolladores de esos raros frameworks para PHP modernos se seguirán dando con este mismo tipo de limitaciones, producto del mismo lenguaje que usan. ¿Cuán confiables y elegantes serán sus soluciones para tus propios proyectos?

Y mi sugerencia: La fortaleza de PHP es su omnipresencia y su (relativa) sencillez. De nada sirven inteligentes frameworks escritos en PHP5 que dependen de Pear cuando PHP4 sigue siendo la única opción en la mayoría de los servicios de hosting y cuando Pear no se encuentra instalado, ni actualizado, por defecto en la mayoría de sus planes "shared". Reconozcamos primero el entorno donde el grueso de los usuarios de PHP se encuentran.

Si PHP ha de continuar prevaleciendo no lo hará aspirando a la complejidad de Java, ni haciendo frameworks que sean más inteligentes que sí mismo, sino capitalizando las fortalezas que lo pusieron donde se encuentra ahora.

Pero para hacer eso, primero debemos reconocer que nunca seremos como Ruby on Rails.

©2006 Cristian R. Arroyo

Comparte esta noticia:          

Recientemente relacionado con Ouch!:

Recientemente relacionado con Ruby on Rails:

Publicidad

Nuevos comentarios deshabilitados o noticia archivada.