La nueva aplicación demo de Symfony

El proyecto Symfony acaba de presentar su aplicación oficial de pruebas llamada Symfony Demo. Se trata de una aplicación totalmente funcional desarrollada para aprender a programar con Symfony. Esta aplicación no solo hace que el bundle AcmeDemoBundle se haya declarado obsoleto, sino que se puede considerar como la implementación de referencia de las buenas prácticas Symfony.

Técnicamente, la aplicación es un gestor de blogs que tiene una parte pública y otra privada:

Symfony Demo Homepage

La sección privada es un CRUD sencillo hecho a mano para mostrar cómo se haría (en las aplicaciones reales no lo hagas a mano y usa directamente Sonata o EasyAdmin):

Symfony Demo Backend

Como el objetivo de la aplicación es que aprendas Symfony, cada página incluye un botón llamado Show source code que muestra el código fuente del controlador Symfony y de la plantilla Twig usados para crear la página que estás viendo en ese momento:

Symfony Demo Source Code

Además, el código fuente de la aplicación incluye un montón de comentarios en los que te explicamos cómo y por qué funciona cada parte de la aplicación

Cómo instalar la aplicación Symfony Demo

Abre una consola de comandos y ejecuta lo siguiente en cualquier directorio:

$ symfony demo

Este comando utiliza el instalador de Symfony para descargar e instalar la aplicación. Si no te funciona el comando demo, el motivo es que estás usando una versión muy antigua del instalador. Actualízalo ejecutando el comando symfony self-update.

Una vez descargada, arranca la aplicación directamente con:

$ cd symfony_demo/
$ php app/console server:run

¡Y ya está! La aplicación demo está preparada para funcionar sin tener que configurar nada ni ejecutar ningún otro comando. Si no quieres usar el instalador, puedes acceder al código de la aplicación en el repositorio symfony/symfony-demo.

¿Para qué sirve esta aplicación demo?

Para aprender Symfony

Esta es la razón más obvia para utilizar esta aplicación y de hecho, es el motivo por el que la hemos creado.

Para enseñar Symfony

Esta aplicación puede ser un recurso muy útil para enseñar Symfony a los nuevos empleados de tu empresa. También puedes usarla en talleres prácticos que organices dentro de tu grupo de usuarios de Symfony.

Para probar las nuevas funcionalidades de Symfony

¿Quieres probar las nuevas funcionalidades de una versión Symfony que todavía no se ha publicado y no quieres hacerlo en tus propias aplicaciones? Simplemente instala la aplicación demo, actualiza Symfony y ¡ya está!

Por ejemplo, para probar las nuevas funcionalidades de Symfony 2.7, haz lo siguiente:

$ symfony demo
$ cd symfony_demo/
$ composer require symfony/symfony:2.7.x@beta

Para benchmarks de rendimiento

Como esta aplicación demo se ha desarrollado para aprender Symfony, no esta optimizada para obtener el mayor rendimiento y por tanto, no se puede usar en los benchmarks. No obstante, sí que puede ser útil para hacer "benchmarks relativos".

La idea sería instalar una nueva aplicación demo y perfilarla con Blackfire. Después haces todos los cambios que quieras y vuelves a perfilar la aplicación. Ahora ya puedes comparar visualmente el antes y el después para ver si has ganado o perdido rendimiento.

Aunque la aplicación es sencilla, usa casi todas las funcionalidades de Symfony, por lo que puede ser un buen banco de pruebas para comprobar si los cambios introducidos van a afectar el rendimiento de alguna parte de Symfony.

Fuente: Introducing the Symfony Demo application

Comentarios

  1. Me encanta el enfoque.

    Si esto hubiera existido hace unos años...

    jajajaja

    Hector Borras Aleixandre el 21 de abril de 2015, 12:03:57

  2. Excelente Un millón de gracias

    Ludwring Liccien el 21 de abril de 2015, 15:20:56

  3. Una genialidad.

    ¿Tengo una duda? Si yo actualizo el codigo de la aplicación, al puslar el boton de "show me the code", ¿te lo mostraría actualizado?

    Carlos Gude el 21 de abril de 2015, 19:03:23

  4. @Carlos, el código del botón Show me the code se obtiene en tiempo real, así que sí que se mostrará cualquier cambio que hagas. Si te interesa cómo está hecho, echa un vistazo a la extensión SourceCode de Twig en src/AppBundle/Twig/SourceCodeExtension.php

    Javier Eguiluz el 21 de abril de 2015, 22:51:00

  5. El framework se va haciendo mejor a cada día. Os felicito por el esfuerzo.

    Daniel Bolaños Asenjo el 22 de abril de 2015, 16:07:33

  6. Realmente una G E N I A L I D A D ... si Señor !

    Roberto German Puentes Diaz el 24 de abril de 2015, 5:14:11

  7. Me recuerda los tiempos de Jobeet! ;)

    Sandy Moreno el 27 de abril de 2015, 6:36:31

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

21 de abril de 2015

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.