Frameworks PHP

En PHP las cosas se suelen hacer “a manubrio”, cada maestrillo tiene su librillo y se lo monta como puede: includes por aquí, procesar_peticion() por allá…

Sin embargo, hay opciones que, para proyectos medianos o ya algo grandes, pueden ahorrar mucho tiempo y quebraderos de cabeza. Seguramente en proyectos muy pequeños sean más un incordio que una ayuda… pero cuando las cosas son algo serias, conviene mirarlos. Estos son algunos de los que yo he conocido:

- Cake: Es una reacción a Ruby on Rails… intenta plasmar su modo de funcionamiento en PHP, aunque con algunas diferencias e innovaciones. Lo que no me gusta es que no aprovecha las capacidades que le podría dar PHP 5, ya que pretende ser compatible con PHP4. Es su punto débil en mi opinión.

- Symfony: Es similar a Cake, pero para PHP5. Es muy potente, me gusta bastante, aunque no he hecho ningún proyecto gordo sobre él, así que no sé hasta dónde se quedará corto. Su capa de acceso a datos es muy cómoda de usar.

- Zend Framework: Es el oficial de Zend, la gente que “hace” PHP actualmente. Es muy grande, y extremadamente flexible. Lo que ocurre es que no dicta una manera concreta de hacer las cosas… a mi me encanta, estoy haciendo Webs con ella y me parece muy interesante, pero no creo que sea lo más adecuado para principiantes, o para sitios donde no hay nadie haciendo un seguimiento de las metodologías y arquitecturas utilizadas. En realidad, son librerías que sirven para montarte un framework , pero en sí yo no lo consideraría un framework como otros.

- Dreamweaver: No es un error. Creo que Dreamweaver, con su modelo de servidor PHP_MySQL, sus asistentes y su modelo de programación, es un “Framework”. Usaría el modelo de servidor PHP_MySQL Dreamweaver para mantenimientos SENCILLOS en páginas de usar-y-tirar: backoffices de webs sencillas programadas a mano sin framework… mantenimientos que no van a sufrir grandes evolutivos… La calidad del código no es buena, pero genera código muy probado y es bastante seguro (al menos en las últimas versiones): quotea entradas antes de pasarlas a base de datos… el manejo de sesión es sensato…

- Prado: Es ASP.NET sobre PHP5. Es un modelo de programación radicalmente distinto, basado en controles y eventos. Se trata de programar Web casi ignorando que se trata de Web. Es útil para intranets, aplicaciones Web (no sitios Web) y cuando hay un background de programación RAD orientada a controles y eventos (especialmente si se viene de ASP.NET). Lo hemos utilizado con éxito en proyectos en el pasado, y el resultado fue muy satisfactorio. Ha evolucionado a Yii, un framework similar que abraza un poco más el modelo “Web”, pero yo prefiero PRADO.

Esos son los que más conozco. De momento, mi elección es Zend Framework para sitios Web, PRADO para intranets y Dreamweaver para mantenimientos usar-y-tirar.

Retrospectiva laboral

Van a hacer casi 6 meses que estoy en mi nuevo trabajo. El saldo es, hasta el momento, no-bueno. No quiero decir que malo, porque hay cosas buenas (pocas); por ello, diré simplemente que es no-bueno.

De entre las cosas buenas:

  • Compañeros
  • … creo que nada más

De entre las cosas malas:

  • Proyectos
  • … nada más

Tan simple como eso. Estoy rodeado de gente mayoritariamente “maja” y buenos profesionales (entre ellos, alguno realmente SOBRESALIENTE en su profesión),  pero los proyectos/clientes en los que participo son horribles y sacan lo peor de mí.

No creo que una cosa pueda suplir a la otra… así que ya veremos.  Lo último que quiero es “echarme a perder” en lo profesional. En este sector, si estás desconectado de lo último un tiempo y las cosas dejan de apasionarte, te quedas descolgado.

Además, si estás haciendo 8 horas al día algo que no te gusta, joer… un día tiene 24 horas… si pasas 1/3 * 5/7 de las horas tu semana (40 horas, vamos) haciendo algo que no te gusta  ¿no es demasiado tiempo perdido?

EEEEEEEEEEEN fin :(

Arqueología de scripts PHP

Volviendo a mis orígenes! Dejo temporalmente la arqueología de software Java para dedicarme a la arqueología de scripts PHP que ni el peor de los diseñadores metido a programador podría soñar en hacer tan mal :) )))

El ocaso de mi vocación: de la ingeniería a la arqueología del software

Desde el año 2000 (bastante antes, en realidad) llevo en el mundo profesional en las tecnologías de la información, en todas sus variantes: cacharrería micfroinformática, sistemas, programación, análisis, arquitectura, gestión de proyectos, dirección de un departamento de sistemas…

En todo este tiempo puedo decir que he tenido suerte: me ha apasionado mi trabajo. No me importaba que fuera domingo (o me importaba poco), porque no me importaba ir al día siguiente a trabajar. De hecho, en ciertos momentos, me encantaba.

Y llegó el ocaso. Hace poco comencé una nueva aventura profesional. Me decidí por ella porque me creí el proyecto, y me gustaron las perspectivas. Además, podía servirme de “puente” hacia pastos más verdes todavía. El tema pintaba muy bien, pero…

… Nada más lejos de la realidad: me dedico, en vez de a participar como actor privilegiado en el modelado de una arquitectura SOA para una empresa de referencia en su sector (los planes iniciales), me dedico a rebuscar y escarbar en software hecho (y muy mal hecho, la verdad) hace muchos años, probándolo sobre plataformas nuevas y añadiendole funcionalidades.

Supongo que todo esto tiene mucho valor de negocio para el cliente de mi empresa, pero para mi no tiene ninguno: me aburre, me hastía, me echa a perder y me hace ir a disgusto a trabajar.

Tras pensar mucho al respecto, he llegado al convencimiento de que la única forma de que me sienta bien con mi trabajo es trabajar en algo que tenga tanto valor para mí como para el cliente. Esta reflexión, mirando hacia atrás, tiene sentido: las épocas más productivas de mi carrera (y más divertidas) eran aquellas en las que, primero, me gustaba lo que hacía, y, además, tenía impacto directo sobre el negocio del usuario (fuera quien fuera éste)

Por ello, mis objetivos a partir de ahora van a ir en esa dirección. Tengo que encontrar un proyecto (ya sea en mi actual empresa ó fuera de esta) que me interese en ese sentido tanto como pueda interesar al “cliente” (interno, externo, yo mismo… who knows). Donde la tecnología tenga impacto en el negocio, donde el efecto “Wow/guau” pueda tener lugar, y donde pueda estar en la primera línea (no en la trastienda) sin dejar de hacer lo que me gusta.

Se aceptan propuestas!