Phalcon, El framework más rápido para PHP

Phalcon es un framework full-stack de código abierto para PHP 5 escrito como extensión en C, optimizada para alto rendimiento. No necesitas aprender o usar C, toda su funcionalidad está expuesta como clases PHP listas para usar. Phalcon está también débilmente acoplado permitiéndote usar sus clases como componentes de acuerdo a como tu aplicación lo requiera.

Casi todos los programadores preferimos usar un framework. Esto debido a que nos proporcionan una gran funcionalidad que esta probada y lista para usar, al mismo tiempo no repitiéndonos y reusando código. Sin embargo, los frameworks requieren incluir muchos archivos e interpretar miles de lineas de código en cada petición. Adicionalmente frameworks orientados a objetos agregan una cantidad considerable de overhead (sobre uso de recursos). Todas estas operaciones hace que las aplicaciones sean más lentas por consiguiente impactando la experiencia de usuario de manera negativa.

 

¿Porqué no podemos tener un framework robusto con todas sus ventajas y pocas desventajas?


Esta es la razón por la que Phalcon ¡nace! Durante los últimos meses, hemos investigado extensivamente el comportamiento de PHP, buscando áreas donde sea posible optimizar cosas (grandes o pequeñas). Al entender el Zend Engine, hemos podido remover validaciones innecesarias, compactando código, realizando optimizaciones y generando soluciones de bajo nivel para conseguir el mayor rendimiento posible.

 

¿Porqué?

  • El uso de frameworks se ha vuelto obligatorio en el desarrollo profesional con PHP
  • Los frameworks nos proporcionan una filosofía y estructura para mantener proyectos escribiendo menos código haciendo así nuestro trabajo más divertido.

 

¿Cómo funciona PHP?


  • PHP tiene una tipificación dinámica/débil. Esto significa que para una simple operación (2 + “2”), PHP chequea ambos operadores para efectuar posibles conversiones.
  • PHP es interpretado y no compilado. La mayor desventaja es la perdida de rendimiento
  • Cada vez que se accede a un script en PHP este debe ser interpretado
  • Si un cache de bytecode (como APC, de las siglas en ingles “Caché Alternativo de PHP”) no es usado, la sintaxis de cada archivo es revisada en cada petición

 

¿Cómo trabajan los frameworks tradicionales para PHP?


  • Muchos archivos con clases y funciones se leen en cada petición. La lectura de disco impacta el rendimiento
  • Muchos frameworks usan autoloaders para incrementar el rendimiento (para cargar y ejecutar solo el código requerido)
  • La carga continua de archivos más su interpretación es costosa en términos de rendimiento
  • El código del framework normalmente no cambia entre peticiones, sin embargo una aplicación debe cargarlo e interpretarlo con cada petición.

 

¿Cómo trabaja una extensión en C para PHP?


  • Las extensiones en C se cargan una vez junto con PHP al iniciar el servicio/demonio de PHP
  • Las clases y funciones proporcionadas por la extensión están listas para ser usadas por cualquier aplicación
  • El código no es interpretado porque ya está compilado para una plataforma y procesador específicos

 

¿Cómo trabaja Phalcon?


  • Los componentes están libremente acoplados. Con Phalcon, nada está impuesto: tienes la libertad de usar todo el framework, o solo las partes que necesites
  • Optimizaciones de bajo nivel ayudan a reducir la sobrecarga requerida para correr aplicaciones MVC
  • Las operaciones con base de datos se efectuarán con la máxima eficiencia al usar un ORM para PHP escrito en C
  • Phalcon accede directamente a las estructuras internas de PHP optimizando además cada ejecución.

 

Conclusión


Phalcon es un esfuerzo para construir el framework más rápido para PHP, al mismo tiempo ofrecer una herramienta sencilla y robusta para crear aplicaciones web sin preocuparse por el rendimiento. ¡Esperamos lo disfrutes!

 


links & referencias:

si deseas mas información o consultar las fuentes bibliográficas, aquí te dejamos…

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *