Sylius, eCommerce de la mano de Symfony

sylius-post.png
Solucionex
11
Feb 21

A lo largo de los años muchos han sido los productos que se han desarrollado como solución eCommerce en el mundillo PHP. Actualmente existen multitud de soluciones que cubren esta necesidad, algunas basadas en construir una solución desde cero y otras nos permiten añadir funcionalidades de eCommerce a un proyecto ya existente.

En el mercado encontramos distintas soluciones, algunas de ellas a modo de “plugin” para una plataforma CMS ya existente como es el caso de WooCommerce y Drupal Commerce las cuales dependen de su CMS “padre” y otras que son más puramente enfocadas al eCommerce de forma directa como el caso de Prestashop o Magento.

Sylius es una plataforma de comercio electrónico de software libre creada con Symfony. La primera versión estable de Sylius se publicó en 2017 y no ha parado de crecer desde entonces, con más de mil instalaciones cada día y cientos de millones de euros en transacciones cada año. Actualmente se encuentra en su versión 1.8 cargada de mejoras frente a sus anteriores versiones.

Al igual que el resto de soluciones, dispone de su propio marketplace de plugins. También destacar que existe una versión “PLUS” que nos dota de características extra.

 

¿Qué nos ofrece a diferencia de lo que ya existe?

En su web lo denominan “el primer framework adaptado a soluciones eCommerce desarrollado sobre Symfony y siguiendo los mejores estándares de calidad”. Si ya sé que Prestashop intenta migrar en su mayoría todo a Symfony y Twig, pero eso, migrar, todavía tiene mucho código legacy en su core con sus consecuencias.

Teóricamente puede decirse que Sylius compite con Prestashop y Magento. Esto puede ser cierto en parte pero no totalmente. Sylius destaca por su solidez técnica, que supera en mucho a los anteriormente citados. Puedes ver un ejemplo en este artículo en el que un experto en Magento analiza las virtudes de Sylius.

Una de las grandes ventajas ofrece Sylius frente al resto es que es su gran flexibilidad. Podemos utilizar Sylius instalándolo como un eCommerce completo, modo con el que en 5 minutos tendremos un interfaz front y un panel admin totalmente funcional para empezar a trabajar o podemos utilizar su API con OAUTH si queremos realizar operaciones CRUD desde por ejemplo una app en un smartphone. Ojo, a fecha de esta entrada de blog, el equipo de Sylius se encuentra desarrollando una nueva API por lo que en breve la actual será sustituida por esta.

Un factor clave que nos ofrece es su desacoplado. En Sylius cada componente está completamente desacoplado del resto. Por poner un ejemplo, podemos únicamente instalar los componentes necesarios para gestionar productos y proveedores instalando estos paquetes directamente con composer pudiendo prescindir del resto de funcionalidades del proyecto.

 

Enséñame algo más.

Tras instalar Sylius en su versión estándar nos encontramos con una tienda casi casi 100% funcional:

Screenshot de la home recién instalado

 

Dando un primer vistazo destacamos que viene con Semantic UI instalado como framework CSS. Personalmente me gusta Semantic y opino que es una de las mejores herramientas que tenemos en la actualidad para crear interfaces. Este diseño que vemos se obtiene por defecto cuando no tenemos ningún otro tema instalado, por supuesto no viene demasiado mimado si no mas bien limpio para que lo personalicemos a nuestro gusto.

Screenshot de página de producto en Sylius

 

Si vamos a hostdemitienda/admin entraremos en el panel de admin tras escribir nuestros credenciales.

Login en Sylius admin

 

El panel de admin contiene la mayoría de las secciones que podemos ver en otros eCommerce, sin embargo destaca lo enfocado que está al multi-idioma y la multi-tienda. Si venimos de otras plataformas como Prestashop, probablemente nos hemos tirado más de una vez de los pelos si hemos tenido que configurar una multitienda. Esto se debe en gran parte a que Prestashop no viene enfocado (al menos en sus primeras versiones) a tener varias tiendas con distintos dominios, algo que repercute en la baja compatibilidad de algunos plugins. La gente de Sylius ha sabido aprovechar esta “experiencia” para crear un framework que ataja toda esta problemática.

Respecto al idioma, destacar que las traducciones se crean de un modo muy cómodo. Por ejemplo, para introducir los textos de cada producto, en lugar de tener que cambiar el idioma a nivel “admin” y así ver la “versión” de los textos en el idioma seleccionado, con Sylius tenemos desplegables con los textos de cada uno de los idiomas instalados en la misma página de producto.

Screenshot detalle multi-idioma

 

Conclusión

Sylius se presenta como una alternativa del catálogo eCommerce muy prometedora. Si analizamos los pros y contras que tienen las actuales del mercado, Sylius destaca en cuanto a flexibilidad, robustez y goza de una comunidad potente en parte debido al apoyo de la gente de Symfony, lo que da como resultado la existencia de 2 grandes comunidades respaldando proyecto.

La escalabilidad y posibilidad de cutomización son sus puntos fuertes, ya que, sobre esta última, no se limita al front, si no que el admin y comportamientos son totalmente adaptables.

Como contra decir que a diferencia de otras plataformas esta se denomina “developers first and foremost”, por lo que a diferencia de plataformas sencillas como Shopify, con Sylius debemos disponer siempre de un programador. También destacar que si no conoces Symfony la curva de aprendizaje es un tanto dificultosa pues deberías aprender Symfony y Sylius.