Meetup «Ventajas y desventajas de Sylius como solución e-commerce PHP»

A english version of «Advantages and disadvantages of using Sylius as PHP e-commerce solution» is available at the end of the post.

Introducción

La semana pasada organizamos nuestro primer evento dentro del grupo de Meetup de Sylius. Antes de nada, agradecer la presencia de todas las personas que nos brindaron de su tiempo, vinieron a nuestras oficinas y aportaron sus puntos de vista enriqueciendo el evento, esperamos que pasaran un buen rato y se fueran con nuevos conocimientos y ganas de volver.

A modo de introducción, Sylius es, y cito la definición que aparece en su página web, «el primer framework adaptado a soluciones e-commerce». Desarrollado sobre Symfony y siguiendo los mejores estándares de calidad, contiene una serie de bundles que trabajan conjuntamente para facilitar el desarrollo de aplicaciones de comercio electrónico para programadores que estemos familiarizados con Symfony.

Sylius lanzó recientemente su primera versión (aunque ya lleva un tiempo entre nosotros en forma de beta), y nosotros decidimos realizar el primer proyecto con él para ver cómo es la experiencia, y aunque puede ser tema de otro post, adelantaré que ha sido un desarrollo muy interesante donde hemos aprendido y mejorado, y aunque aún es un MVP, os invitamos a que visitéis nuestro proyecto de cursos y formación: gravita.academy.

El evento

Volviendo al evento del grupo de Meetup, una vez más adoptamos el formato de mecánica Lean Coffee, que se adaptó bien en nuestro anterior evento, así que tras la ronda de presentaciones, dispusimos unos minutos para saber qué temas trataríamos durante la hora/hora y media que duró el debate, siguiendo un timebox marcado de 5 minutos con votación silenciosa de si seguíamos con el tema o pasábamos al siguiente.

 

Resultado del Lean Coffe
Temas que todos quisimos tratar

Temas

Temas priorizados
Temas tras la votación priorizados

Tras realizar la votación y priorización, hablamos sobre los siguientes temas:

¿Cómo va la generación de temas?

Una de las grandes ventajas que tienen otras soluciones de e-commerce son sus tiendas de temas, la facilidad de implantación y las ventajas que aportan con el consecuente ahorro de tiempo por la funcionalidad que tiene. Sylius tiene su propia página de temas y es interesante saber cómo desarrollar nuestro propio tema. Explicamos entonces nuestra experiencia desarrollando nuestro primer tema para nuestra tienda.

¿Disponemos de API para aplicaciones?

Con la división que estamos viviendo entre la parte frontoffice y backoffice de nuestras aplicaciones, surgió la duda de si el framework estaba preparado para que existiera una forma fácil de entablar comunicación si desarrollamos aplicaciones cliente con frameworks javascript como React, Angular, etc. La respuesta es que Sylius nos provee de las operaciones CRUD de nuestras entidades a través de una API si seguimos su forma de trabajar, además de permitirnos el uso de OAUTH ante operaciones que queremos blindar.

¿Qué ventajas tenemos con respecto otros frameworks?

Entramos en la comparación directa con soluciones que ya están más que consolidadas en el desarrollo de plataformas e-commerce. Aquí hablamos sobre nuestra experiencia, qué echamos de menos (YOAST SEO…), y las ventajas comparadas con los demás (disponemos de una base de código de muy buena calidad).

¿Cómo se integra con otros bundles (FOSUserBundle, SonataAdminBundle, …)?

Una de las grandes dudas es si el conjunto de la aplicación que desarrollemos dejará de funcionar en caso de sustituir o integrar otro Bundle externo. Una de las grandes ventajas de Sylius es la modularidad de la que dispone. Nos permiten trabajar con cualquiera de los bundles de los que se forma de manera individual para soluciones que no tienen por qué ser una tienda, además de poder sustituir uno de sus bundles por otro que deseemos, pero como siempre, con posterior trabajo de adaptación y seguramente pérdida de automatización por el camino.

¿Cómo configuramos despliegues automáticos?

La automatización del pase a los distintos entornos de nuestras aplicaciones siempre es un tema que suele ser interesante. Aquí describimos un poco nuestra experiencia al integrar, configurar dentro del proyecto el EasyDeployBundle, que es la alternativa que estamos usando tras pasar por Capifony y Deployer. Surgió también la necesidad de disponer de un modo de puesta en mantenimiento de Sylius.

¿Es fácil editar el proceso de compra?

Es algo muy común que desde el cliente nos soliciten que todo el proceso de compra se realice en un paso, o tener que adaptar nuestras aplicaciones a las distintas formas de pago y/o configuración de distintos TPV de bancos. El proceso de configuración básica para la puesta en marcha de una tienda es fácil gracias a que Sylius integra el PayumBundle.

 

¿Qué tal la comunidad? ¿Tendrá versiones LTS garantizadas?

Lamentablemente, no dio tiempo a tratar este tema, pero consideramos que es algo muy interesante que estaría bien discutir. Invitamos en cualquier caso a quien quiera que comente en este post.

 

Próximos pasos: Talleres

A modo de conclusión del evento, solicitamos a los presentes que decidieran el formato del siguiente evento (charla, debate, taller…), y el tema del que le gustarían que tratase, así que cada uno escribió en un post-it su apuesta para no influir en la opinión de los demás, y más tarde, entre todos, realizamos una votación para acordar el tema:

Claramente, existía una alineación en el formato, y tras la votación, acordamos que el siguiente evento será un taller sobre cómo desarrollar nuestro primer tema en Sylius.

Si quieres estar al tanto de próximos eventos y quieres formar parte del grupo, aquí tenéis el enlace del Meetup para poder registraros.

 


Meetup «Advantages and disadvantages of using Sylius as PHP e-commerce solution»

Introduction

Last week we had our first Sylius’s Meetup event. In order to introduce Sylius, is, and I only copy and paste the definition from his web, «The first framework for tailored e-commerce solutions». Developed over Symfony and following the best quality coding standards, Sylius contains bundles that works together to make easy the development of e-commerce applications for developers that are familiar with Symfony.

Sylius’s guys just launched his 1.0.0 version (although Sylius have been a long time between us as beta), so we decided to develop our first project using it, and, even though it is material for another post, the first impressions are very good. The development process was very interesting and we’ve learned and improved our skills, and, though is an MVP yet, we invite you to visit our learning and courses platform project: gravita.academy.

 

The event

Returning to the Meetup’s event, another time we use the Lean Coffee format that fits very well in our last event, so, after the presenting round, we let a bit of minutes to know what topics people want to talk about the hour / hour and half that remains of the event, so following a 5 minutes timebox with simple vote about if we discuss about the next topic or continuing with the current topic.

Lean Coffee topics
Lean Coffee topics that people wanted to discuss

 

Topics

Temas priorizados
Prioritized topics after the vote

After voting and prioritization, we talked about the next topics:

How about theme management?

One of the advantages of other e-commerce solutions are his themes shops, the ease of implantation and the shortion of cost for functional development. Sylius has his own theme page and is interesting to know how to develop a custom theme. We talked about our experience developing our first theme for our shop.

Is there an API for client applications?

Some of we are used to develop client side applications with JS Frameworks like React, Angular, etc., and they wonder about if Sylius manages this communication. The answer is that Sylius allows to use CRUD operations of our entities if we work following the Sylius’s way. In addition, we have OAUTH for secure API functions.

What advantages has Sylius against other frameworks?

We put Sylius in front of other e-commerce solutions. Talked about our experience, what we would like to have in Sylius (YOAST SEO…), and the advantages compared with the others (we will have a great quality base code using Sylius).

 

How works other bundles integration (FOSUserBundle, SonataAdminBundle, …)?

One of greatest doubts is about the functionally lost in case we change or integrate third party Bundles in Sylius. One of the greatest advantages of Sylius is the modularity. We can use individually each Sylius bundle in our projects even if it’s not a shop. Also, we can change one of them with other of our preference, but like always, we need to adapt it a bit, losing part of its automatization.

How we automatize the deploy?

The deploy’s process automatization to each environment always is an interesting topic. Here we described a bit our experience installing and configuring the EasyDeployBundle inside our Sylius’s project, the tool we’re using after try Capifony and Deployer. We talked about the needs of a «maintenance mode» in Sylius too.

 

Is easy to edit the checkout?

Is ordinary that our clients needs to change the default checkout process, for example, using one step checkout, or to make our applications capable of using a variety of payment methods and / or setup any bank payment gateway. The basic configuration process for a standard shop is easy thanks to Sylius’s PayumBundle integration.

 

How about the community? Will exists an LTS version?

Although this is a great topic to discuss, we finished the meetup time without talk about it. But we invite to comment on the post to anyone.

 

Next steps: Workshop

At the end of the event, we asked everyone to decide the next event format (talk, discuss, workshop…), and the topic they would like to learn, so everyone wrote in a post-it his bet to not change the thoughts of the others, and later, between all, voted his preferences:

We can see everyone was interested in a workshop, and the votes made the topic will be about how to develop our first theme in Sylius.

If you are interested in next events and want to be part of the group, here is the link to Meetup.