Prestashop como base para ecommerces complejos

Prestashop, es (en mi opinión) el mejor gestor de ecommerce para desarrollar una tienda de código abierto de la forma mas económica/rápida posible sin renunciar por ello a tener funcionalidades avanzadas.

Seguramente sea buena idea una solución tipo Shopify si lo que queremos es hacer algo muy  rápido y con los mínimos problemas posibles…quizás para tantear el mercado. Pero es una solución privada en que no tenemos acceso al código fuente .. y esto tiene, a mi parecer,  demasiadas limitaciones a medio plazo por lo que nunca recomiendo este tipo de soluciones.

Para algo mínimamente personalizable a nivel de funcionalidad es imprescindible acceso al código fuente y con Prestashop, trabajando un diseño a medida a partir de un tema base, mediante módulos y un poco de programación abarcamos un área bastante grande…

Estos proyectos ecommerce pequeños se pueden realizar con una inversión de horas de entre 50 y 100h. Posteriormente con entre 20 y 30h de mantenimiento anuales funcionarán perfectamente.

 Soluciones totalmente a medida

Pero como es previsible, ni el corte inglés ni pccomponentes ni ningún ecommerce “bestia” usan gestores de ecommerce tipo Prestashop (quien dice Prestashop, dice Magento, Woocomerce u otros). En estos casos es preferible una solución enteramente a medida debido en parte a  la complejidad técnica de sus soluciones.

Estos ecommerce requieren una inversión muy alta en la parte técnica y suelen tener un equipo de desarrolladores profesionales en plantilla dedicados a ello. Tiene que plantearse un desarrollo totalmente a medida que estas empresas pueden (y deben) costearse ya que su negocio depende totalmente del buen funcionamiento de la plataforma de venta.

Ojo! que algo este hecho a medida no quiere decir que este bien hecho. Cuando hablo de una solución a medida se entiende que esta realizado por expertos, esta documentado, se usan buenas prácticas de programación (preferiblemente con un framework con un buen soporte) etc. etc..

Pero desde lo que es un prestashop “básico” hasta lo que es una solución enteramente a medida (posiblemente con un equipo de desarrollo en nómina) hay mucho margen.

Prestashop como plataforma base para un ecommerce

a_medida

Después de mas de 5 años con prestashop, sobretodo con la rama 1.6, he podido trabajar en varios proyectos en que los requisitos funcionales eran complicados y se alejaban de los que tiene un prestashop normal. Prestashop es una plataforma de ecommerce genérica y puede que no se adapte muy bien a algunos escenarios.

Algunos de estos proyectos venían de soluciones a medida y se decidió migrar a prestashop. En parte estas soluciones a media no eran muy escalables (no estaban bien hechas, se mezclaba la presentación con el negocio.. pero eso ya es otro tema) y la evolución de la web se había vuelto complicada.

Para conseguir estos requisitos, a parte de usar módulos, es absolutamente imprescindible tocar el código fuente de prestashop. Desde checkouts a medida, a una gestión del pedido bastante diferentes al habitual, pasando por productos altamente configurables.. todo se puede acabar haciendo.

Pero tiene que quedar claro:

Siempre hay que modificar el código fuente de prestashop (vía overrides)  para conseguir la funcionalidades complejas.

En estos proyectos de tamaño mediano sigue siendo una buena idea usar prestashop por varios motivos:

  • Funcionalidades de serie. Ya tienes muchas funcionalidades que seguramente serán necesarias: Productos, Categorías, Cliente,Carritos, Pedidos.. seguramente no uses todo lo que ofrece pero usarás una buena parte de las funcionalidades.
  • Conocimiento técnico de la plataforma: Prestashop esta bien construido. Aquí puedo hablar de la rama 1.6 que es la que mejor conozco. A efectos prácticos es como tener un framework ligero para construir tu aplicación, se pueden construir listados, detalles, usar componentes y lo mejor es que hay mucho código testado.
  • Información en foros, blogs..etc. Siempre puedes encontrar información técnica de como hacer una cosa. Esta claro que cuando la cosa se complica .. ya no hay mucha información.. pero siempre habrá más que en una solución a medida.
  • Mercado de módulos. Algunos módulos pueden parecer caros cuando estas empezando a montar una tienda.. pero el coste de hacer una filtro a medida, sistema de tickets, descuentos a medida.. es muy grande. Se puede comprar un módulo y modificarlo según tus necesidades. Siempre es mejor  tener algo que sirva de base para el desarrollo que hacerlo enteramente de cero.
  • El coste no es disparatado. El coste es mucho mayor que una tienda digamos sencilla, pero sigue siendo mas económico que una solución a medida.

Como contrapartida, si ya de por sí es delicado actualizar un prestashop “normal”, el tema de actualizaciones se ve fuertemente limitado.. A efectos prácticos tienes que meter las actualizaciones necesarias manualmente y es inviable usar el sistema de actualización en un click.

Tiene que quedar claro que hemos elegido prestashop como base para nuestro ecommerce, pero si queremos adaptarlo a nuestras necesidades será eso, una base para acelerar el desarrollo.

A mas modificaciones en Prestashop mas complicado se vuelve el mantenimiento de la web. Si estas modificaciones vienen vía módulos mejor que mejor, menos problemas. Aún así comercialmente en addons se vende la idea feliz que puedes instalar los módulos que quieras que son todos compatibles entre sí.. Esto no es cierto, muchos módulos no se pueden ni siquiera instalar si hay otros instalados antes. Otros muchos tienen fallos de diverso tipo que puede que a otro no le afecte, pero a ti te afectan.

Es imprescindible que quien haga los desarrollos tenga un conocimiento profundo de programación en Prestashop. Aquí no vale instalar la plantilla, meter un par de módulos y tocar algo de estilos.. si quieres funcionalidades a medida hay que crear controladores, entidades, pantallas nuevas..etc

Otro punto en contra frente lo que es una solución a medida, es que tienes mucho código que no estas utilizando ya que partes de una plataforma genérica. El rendimiento es menor que en una solución a medida (se entiende que hablamos de una solución a medida bien hecha)  y también a la hora de meterle mano necesitas un conocimiento profundo de la plataforma para saber donde esta el código a modifcar (hay bastante mas código que en una solución a medida).