456 subscripciones por RSS o por E-mail

Cazando los mitos de CakePHP

Apocalypse

Un buen partidario de CakePHP refuta en su blog los aparentemente más comunes mitos alrededor de este framework en respuesta a una comparación contra Symfony en la que CakePHP sale poco favorecido.

Los mitos refutados son entonces:

  1. Falta de Documentación.
    Es cierto que CakePHP no tiene un libro definitivo como sí lo tiene Symfony, pero a falta de éste, el CakePHP Cookbook publicado por el mismo proyecto debería cubrir ese vacío.
  2. Scaffolding.
    El "scaffolfing", aunque es una gran idea para demostrar las fortalezas de CakePHP, es un juguete y no debería usarse para nada más que para hacer prototipos descartables.
  3. Los Modelos están atados a los Controladores en una relación 1:1.
    Con un simple ejemplo el autor refuta ese argumento mostrando un controlador que interactúa con 4 modelos diferentes, además señala que uno puede tener controladores sin ningún modelo asociado.
  4. El Ajax y el JavaScript de CakePHP no se degradan elegantemente.
    Esto no sería verdad, pero hacerlo realidad como se explica aquí podría ser laborioso.
  5. Los helpers de CakePHP producen HTML malo.
    Aparentemente, esto podría dejar de ser un mito si se leyera concienzudamente su documentación online.
  6. Los Unit Tests son una ocurrencia añadida.
    La utilidad cake bake, además de crear modelos y controladores, también agrega pruebas unitarias (Unit Tests) para esos componentes. El mismo código de CakePHP esta cubiero por estas pruebas en un 85%.
  7. CakePHP no es un framework capaz para las empresas.
    El hecho de que lo usen Mozilla, Sony, Diesel, TV Mallorca refutarían esa afirmación.

CakePHP 1.2.0

Después de un largo período de desarrollo de más de 2 años finalmente se anunció así la liberación de la versión final y estable de CakePHP 1.2. Gracias a la gran dedicación de todos los colaboradores de ese proyecto también está disponible la edición del CakeBook actualizada a esta nueva versión 1.2, incluso traducida al castellano (!).

Teniendo en cuenta que los cambios introducidos son "dramáticos", se recomienda a todos los que actualmente están usando su anterior versión estable 1.1 leer la guía Migrating from CakePHP 1.1 to 1.2.

CakePHP es un framework de desarrollo de aplicaciones web escrito en PHP y compatible con sus versiones 4 y 5, creado sobre los conceptos de Ruby on Rails.


CakePHP 1.2 RC3

El equipo de desarrollo de CakePHP liberó el tercer Release Candidate de CakePHP 1.2, destinado a ser también la última versión preliminar antes de la definitiva. CakePHP 1.2 RC3 incluye importantes mejoras en su performance, como una inicialización 10 veces más rápida que la anterior RC2 y respuestas de contenidos estáticos 5 veces más veloces.

Una guía para migrar de CakePHP 1.2 RC2 a esta más reciente RC3 puede encontrarse aquí.

Por otro lado, antes de la versión 1.2 final se espera por lo menos otra más de la actual 1.1 estable con correcciones de errores solamente.


Comparación de la performance de 3 Frameworks

En el blog del sitio de los Avnet Labs publicó una muy necesitada comparación de la performance de 3 de los frameworks PHP más populares hoy en día: CakePHP, CodeIgniter y Zend Framework. Sólo se midió la cantidad de solicitudes por segundo que cada uno podía atender bajo determinadas circunstancias, y aunque ese no es un criterio absoluto para medir su performance, sí ilumina un poco más la muchas veces subjetiva información disponible al respecto.

Las pruebas se realizaron en una AMD Sempron de 1.8 GHz con 512 Mb de RAM corriendo Ubuntu 7.10 "Gutsy Gibbon", usando la herramienta httperf para medir la performance de un servidor web. También se incluyeron, como referencia, mediciones usando sólo páginas HTML estáticas y con código PHP procedural "spaghetti" (código mezclado con HTML).

Los resultados fueron, en orden de mérito:

  • Sin caché de código PHP y con su propio ORM:
    1. CodeIgniter
    2. Zend Framework
    3. CakePHP
  • Con caché de código PHP eAccelerator:
    1. CodeIgniter
    2. Zend Framework
    3. CakePHP
  • Con caché de código PHP APC:
    1. CodeIgniter
    2. Zend Framework
    3. CakePHP
  • Con caché de código PHP APC y sin ORM:
    1. CodeIgniter
    2. Zend Framework
  • Con caché de código PHP APC y sin accesos a la BBDD:
    1. CodeIgniter
    2. Zend Framework

CakeFest 2008 en Buenos Aires

Como ya adelantamos en una noticia anterior, los próximos días 2 al 5 de Diciembre se llevará a cabo en Buenos Aires la segunda edición del CakeFest, el evento internacional que ofrecerá charlas y workshops dictados por los más reconocidos desarrolladores en la comunidad de CakePHP, y cubriendo diversos aspectos relacionados a este popular framework PHP y tecnologías relacionadas. Centralizando en charlas en español e inglés, este nuevo evento busca atraer un gran número de entusiastas y profesionales IT.

La registración al evento ya está abierta, pero su agenda recién se publicará una vez que todas las ponencias propuestas sean recibidas y los disertantes seleccionados.


CakePHP 1.2 RC1

Finalmente después de una apreciable demora se liberó el primer Release Candidate de CakePHP 1.2, la anticipada actualización de uno de los frameworks para PHP4/5 más populares de este momento, con este anuncio. CakePHP 1.2 RC1 incluye más de 100 correcciones de errores, más de 800 contribuciones, "toneladas" de adiciones de seguridad y mucho más. El lanzamiento de su versión definitiva se espera para este mismo año, algún momento antes del próximo CakeFest, la conferencia organizada por la Cake Software Foundation en Buenos Aires.


Mambo 5.0 será reescrito con CakePHP

El proyecto Mambo, cuyo desarrollo de su CMS fué dividido creando el ahora más exitoso Joomla en el 2005, anunció que saltará de su actual versión 4.7 directamente a la 5.0 reescribiéndose totalmente usando el framework CakePHP (!). El trabajo inicial ya comenzó portando un nuevo instalador, pensado inicialmente para Mambo 4.8, a CakePHP 1.1; pero es muy probable que Mambo 5.0 esté basado en la versión final de CakePHP 1.2 (actualmente en una versión preliminar)

El desarrollo de Mambo se encuentra actualmente aletargado, liberando sólo actualizaciones importantes en los últimos 3 años; esperemos que la decisión de reescribirse con CakePHP revitalice a este proyecto... sin duda hará eso mismo con el framework de la torta.


Mingle2.com en 66.5 horas con CakePHP

El creador del sitio de contactos personales Mingle2 cuenta con lujo de detalles en su blog cómo construyó ese sitio "Web 2.0" en sólo 66 horas y media, un trabajo que hubiera tomado típicamente una semana y media, usando el framework CakePHP. El artículo no es un artículo de promoción fanática de ese framework, sino afortunadamente una lista de 16 consejos para el desarrollo web rápido que pueden muy bien aplicarse a cualquier proyecto y lenguaje.

Algunos de mis preferidos:

  • Genera ideas de tu competencia.
  • Si te trabas con algo, ponlo en el freezer.
  • Todos los frameworks tienen una curva de aprendizaje.
  • Fíjate objetivos pequeños y mira cuánto has conseguido hacer.
  • Concéntrate en un sólo objetivo, no trates de hacer un sitio que lo haga todo.
  • Alterna tareas frecuentemente (diseño, programación, etc.), esto hará que disfrutes más del trabajo.

¿No es genial aprender de la experiencia ajena?