¿Micro-framework significa pequeño?

Posted by victor on September 5th, 2013
silex-logoMe llama poderosamente la atención un artículo de Igor Wiedler titulado "How heavy is Silex?" en el que habla acerca de la filosofía de Silex y de como el término micro-framework no significa para todos lo mismo. El término es ambiguo porque no está claro que micro se refiera a pocas líneas de código, número bajo de clases cargadas o pocas restricciones en cuanto a la forma de trabajar. Para mí, el término micro-framework significa un poco de todo lo anterior. Las partes básicas de un framework como es el DIrouter, la gestión de errores, la seguridad, el logger y la renderización de templates se deben hacer con el menor número de clases y dependencias posible. Silex es un micro framework escrito sobre 7 dependencias de las cuales 5 son componentes Symfony. Probablemente, escribir todo esto desde cero se traduce en menor número de líneas de código y clases pero estaríamos perdiendo la capacidad de reutilizar componentes e interoperabilidad. A decir verdad, Silex usa un número bajo de componentes si lo comparamos con otros framework: Symfony2 usa alrededor de 40, Laravel 58 y Zend Framework 2 unos 49. El caso de Slim, uno de los micro framework más conocidos, es especial porque se ha concebido desde cero, sin reutilizar componentes de otros framework y con un objetivo claro: ser pequeño en todo. Si nos fijamos en su composer.json no requiere más que un componente. En Silex, durante una ejecución típica intervienen 50 clases que hacen un total de 4018 NCLOC -Non-Comment Line of Code- que es de 2 a 4 veces más que lo empleado por Slim. Lo interesante de Silex y otros framework (Laravel) es que para la gestión de las peticiones usa componentes que tiene un gran apoyo de la comunidad y que reciben actualizaciones a diario. Componentes que se han convertido en un estándar de facto para desarrollar framework como es el caso de Drupal o Magento.

Comments

comments powered by Disqus