El 7 de noviembre de 2016 se publicó la nueva versión 1.7 de Prestashop. Esta versión trae un remake del 100% del core, reescrito con Symfony. Cuando leí sobre esto, empezó a intrigarme más y más. Quería ver cómo iba este proyecto. Pasó por mis manos un proyecto que funciona en Prestashop 1.6, ¡qué lástima!, no íbamos a actualizarlo. Pero ahora sí, tenemos entre manos un nuevo proyecto, y tenemos que estimar a ver si lo montamos sobre Prestashop 1.7. Así que manos a la obra..
Prestashop es un proyecto que se reorganiza con Symfony igual que han hecho Drupal, phpBB, Joomla.. hasta el gran Magento comienza a usar de los componentes de Symfony. Symfony, Composer, PHP7 y toda la comunidad alrededor están revolucionando el mundo del desarrollo en PHP.
Empezando
De entre los muchos elementos que podemos destacar de la nueva versión de Prestashop, eligiendo 3 elijo: Symfony, Composer y que es compatible con PHP7.
Symfony es un framework de desarrollo de PHP. Es decir, son un conjunto de herramientas desarrolladas sobre PHP, que hacen que el desarrollo sea mucho más rápido, robusto, y de calidad. Si no usamos un framework de desarrollo entonces estaríamos desarrollando desde cero. Así es como estaba hecho Prestashop, desde cero.
Composer es una herramienta para gestionar la inyección de dependencias. Es decir, por resumirlo, es una especie de gestor de librerías PHP. Packagist es la biblioteca de estas librerías que usa Composer. Con esto puedes escribir un sencillo fichero en el que expones las librerías que necesitas. Por ejemplo, imaginemos que queremos un componente para enviar emails, una librería para usar ficheros de Excel, y otra para usa ficheros Yaml. Estupendo, se lo decimos a Composer y él se encargará de instalarlo todo. También puedes actualizar dichos componentes, eligiendo qué versión quieres de cada cosa.
PHP7 es la última versión de PHP, que es mucho más rápida que PHP5 y consume mucha menos memoria. Ubuntu 16 ya te viene con PHP7. Debemos de ir pensando en no usar ya PHP5.5, y PHP5.6 tiene los días contados.. Prestashop 1.7 es compatible con PHP7 🙂 ¡otro punto positivo!
Comenzamos instalando
La instalación es completamente igual a la versión 1.6, o por lo menos así la recuerdo yo..
Finaliza pidíendote que borres el directorio de instalación como de costumbre..
En fin, sin novedades con respecto a la instalación..
Lo que se ve en el front-end
A vista de pájaro, parece que todo está en su sitio. Aunque se haya reescrito el 100% del núcleo, todo sigue en su sitio a nivel de la interfaz. Esto facilitará la transición de los usuarios. No ha cambiado prácticamente nada, sorprenderá a los usuarios normales que se esperarán muchos cambios. Pero más bien los cambios no se ven, aunque van a suponer un antes y un después en el proyecto.
La plantilla por defecto y el proceso de compra es más elegante. Con líneas más suaves, más responsive si cabe..
Con respecto al proceso de compra, tenemos un checkout clásico. Ahora es cuando algunos dicen: «¿porqué no tenemos el checkout en una página?». Pues tengo que decir: que tener el checkout en una página sea mejor no es más que una teoría. Ya he leído a varios en Internet, que han hecho pruebas con y sin checkout a una página, y el porcentaje de conversión es el mismo.
La famosa regla de más clicks menos ventas en el checkout no aplica si el resultado es engorroso, difícil de comprender.. Antes estaba muy de moda, todo el mundo aseverando esto. Pero al final es mucho más importante la claridad, la información, que esté todo bien explicado, que transmita confianza al usuario que está comprando. Si sacrificamos esto por un checkout a una página, incluso será peor la conversión.
Lo que se ve en el back-end
Ahora bien, en el back-end se aprecian algunos cambios más. Aunque como vengo diciendo, todo sigue en su sitio.
Como vemos arriba en la imagen, se han reorganizado los elementos del menú. Pero sin cambios fuertes. A fin de cuentas es un CMS eCommerce, es decir, debe de tener las funcionalidades clásicas de una tienda online. Quedaba por ver si han añadido nuevas funcionalidades así que haciendo algunas visitas por las secciones..
Con respecto al rendimiento se ve cómo se está incorporando la maquetación con Twig, aunque todavía sigue Smarty, con menos opciones..
Twig es una de las mejores cosas que le ha pasado a PHP. La maquetación, su optimización, división en bloques, herencia, etc.. todas estas cosas que en programación ayudan a construir mejor las tendremos con Twig. Todavía seguimos teniendo Smarty, pero se abandonará su uso en favor de Twig. Los maquetadores agradecerán con creces esto, aunque tendrán que ponerse al día con esta nueva tecnología si no lo han hecho ya.
Sobre el diseño, también tenemos en el back-end una serie de opciones muy interesantes..
Qué es lo que no se ve
Lo más importante, desde mi punto de vista, es el esfuerzo que se ha hecho para mejorar el corazón de Prestashop. Se han insertado muy buenas herramientas. Se ha estructurado el proyecto, sentando las bases para ahora darle más fuerza sabiendo que por debajo hay una fuerte estructura que soporta el sistema. A partir de aquí habría que entrar al detalle, pero las primeras impresiones han sido buenísimas. Tenemos dentro Symfony, todo organizado con Composer..
Según veo, están las cosas más o menos donde esperaba encontrarlas.. La versión 1.7.0.4 que tengo como estable en producción usa Symfony 2.8.4, por lo menos PHP 5.4, el maravilloso Doctrine para trabajar con las bases de datos, Swiftmailer para enviar emails, entre otras muchas cosas..
¿Qué pasará con el soporte? Otra de las grandes preguntas es si ya tenemos módulos para ir ampliando funcionalidades. Y cómo va el tema de la documentación para extender nuestros Prestashops.
Por un lado veo que ya tenemos unos cuantos módulos disponible en el marketplace de Prestashop. Y con respecto a la documentación también veo que está bien estructurada. Espero que el soporte para desarrollo, y la comunidad, vayan mejorando ahora que está todo mucho más «estandarizado».
Recapitulando, han habido muchos cambios realmente. En apariencia no hay casi cambios, pero las apariencias engañan ¿verdad? Este es un caso flagrante de esos en los que, parece que no se ha hecho nada, pero nada más lejos de la realidad. Según leo por Internet mucha gente ya anda llenando vídeos y blogs desestimando el gran esfuerzo titánico que han hecho por reorganizar el proyecto. Este es otro proyecto más que se sube al barco de Composer y Packagist, además del tan querido Symfony como capitán. Ahora podrán centrarse en desarrollar sobre esto más funcionalidades, disfrutando de los componentes que la comunidad PHP mantiene. Sin tener que gastar tiempo en desarrollar componentes que la comunidad PHP ya provee, y además, son de muy buena calidad.