Análisis profundo de PrestaShop

1 noviembre, 2010

Tecnología

Hace una año que apostamos fuerte por PrestaShop, hicimos muchas pruebas, y nos decantamos por él por la gran capacidad en Marketing, los informes, y la forma en la que estaba programado.

Pero después de estar trabajando con él durante un año y conocer casi todo el código fuente de memoria, puedo concluir que por ahora, no voy a seguir apostando por él, y hoy quiero comentaros la razones.

Modelo de desarrollo & Compatibilidad de Versiones

Llegué a PrestShop huyendo del modelo de parches de osCommerce, a medida que agregas contribuciones, osCommerce se va degenerando, y en muchos casos empieza a fallar de forma inexplicable.

Cuando comencé con PrestaShop me encontré con un modelo de módulos realmente interesante, gracias a unos Hooks (que al final son como eventos), se podía insertar código en múltiples partes de la aplicación sin tener que tocar el núcleo. Este modelo aseguraba la protección de la plataforma, y la compatibilidad con futuras versiones.

Pero el sistema de Hooks tiene muchas carencias, y es inevitable modificar el núcleo del sistema, con lo cual, el modelo de desarrollo se corrompe y se elimina la compatibilidad con futuras versiones.

Pero donde radica principalmente el problema es que no existe una versión estable de PrestaShop, cada vez que liberan una nueva versión supuestamente estable, aparecen al menos 400 bugs nuevos, algo inaceptable.

Con todo esto, para una tienda “de verdad”, apostar por PrestaShop supone quedarse estancada en una versión, y no volver a actualizar nunca más.

PrestaShop 1.4

El futuro PrestaShop incorpora la posibilidad de extender el kernel utilizando el mismo modelo que se utiliza en ZenCart. Este modelo, BIEN utilizado es muy potente, y permite guardar la compatibilidad, pero requiere altos conocimientos en OOP y en PrestaShop.

El código

Me conozco prácticamente todo el código de PrestaShop y hay, cosas muy buena y cosas muy malas, vamos a ello:

FrontOffice

La programación del FrontOffice es muy buena, se hace un uso correcto de la programación orientada a objetos, y para la presentación se utiliza Smarty.

Se nota que hay código antiguo, y código que van mejorando poco a poco, últimamente ya están incorporando cache a todas las clases, patrón Singleton con cache, etc…

BackOffice

Para el BackOffice han intentado desarrollar un FrameWork, pero no les ha salido, mezclan código con HTML en exceso, el rendimiento es muy malo, y integración con los módulos es desastrosa.

El BackOffice utiliza las mismas clases que el FrontOffice, y en determinados casos, esto provoca problemas y bugs, por ejemplo, si una clases utiliza las cookies del usuario, cuando se usa desde el BackOffice, la cookie que coge es la del administrador y se hace un lío bueno.

El nuevo PrestaShop 1.4, cambia parte de BackOffice, pero aún no sabemos hasta donde llegará.

Mail y PDF

Esto es un tema a parte…. están llenos de buenas intenciones, y de una programación penosa, que no tiene nada que ver con el resto del PrestaShop. El resultado es muy bueno, pero deberían reprogramarlo desde cero. Uno de los mayores problemas son los decimales, que muchas veces los importes totales no coinciden.

Modelo de Datos

El modelo de datos es muy parecido a osCommerce, mejora en algunos aspectos, pero en otros… no hay adjetivos para describirlo.

Como he comentado, el modelo es bueno, sencillo y rápido, salvo en:

Totales

No existe el concepto de totales en PrestaShop, lo cual impide crear nuevos conceptos, como nuevos impuestos, descuentos, etc… por ejemplo, para agregar comisión por reembolso, acabas tocando 54 archivos y creando nuevos campos en la base de datos.

Esta rigidez, impide utilizar PrestaShop en España, sobre todo si tienes venta al por mayor, y necesitas aplicar conceptos como Recargo de Equivalencia, Canon, comisiones /descuentos según forma de pago, etc..

El sistema de descuentos que trae está bien, pero si necesitas agregar alguno más, no se puede.

Atributos o Variantes de productos

Se han hecho un lío bueno con este concepto, y sólo es válido para productos con una variedad pequeña, para uno de los clientes, la configuración de atributos generó 2.700.000 registros en la base de datos (para un sólo producto)

Diseño

Quizás uno de los aspectos más complicados de modificar en PrestaShop es el diseño, y por muchas razones…..

  • La plantilla por defecto es un caos, para crear una plantilla es preferible partir de cero, que utilizar la que trae por defecto, y esto se nota, hay muy pocas plantillas para PrestaShop, comparada con otros sistemas.
  • El sistema de hooks, es horrible para maquetar. Un hook, es un hueco en nuestra página, donde los módulos van soltando bloques. Cuando maquetas, no sabes lo que acabará dentro de ese módulo, con lo cual, puedes hacer un diseño muy bueno, pero cualquier módulo puede estropearlo.
  • La plantilla de la ficha de producto es intocable, está pensada para permitir una gran variedad de opciones y módulos, pero es tan complicado el CSS con una maraña de DIVs encadenados que tocar algo resulta desastroso.
  • La compatibilidad de las plantillas con las versiones y módulos no está asegurada, siempre suelen aparecer algún que otro problema.

Para maquetar bien una tienda en PrestaShop se necesita al menos un mes de trabajo.

Rendimiento

El rendimiento de PrestaShop es bueno, mucho mejor que Magento, aunque no está preparado para grandes tiendas (100.000 visitas al día o más de 10.000 productos). La nueva versión 1.4 incorporará muchas mejoras encaminadas a tener un rendimiento y escalabilidad inmejorables.

Seguridad

La seguridad es uno de los puntos más fuertes de PrestaShop, internamente se puede observar en el código que han tenido en cuenta la mayoría de los posibles ataques, han utilizado numerosas técnicas de protección del modelo de datos, de las cookies del usuario y del área de administración.

Sólo la parte de módulos de administración es insegura, algo que están arreglando en la 1.4

SEO

El SEO es PrestaShop es bueno, siempre y cuando se configure bien, en el caso de que se deje como viene instalado por defecto, Google nos ha penalizado en varias ocasiones.

Como consejo, intentar que Google no lo indexe hasta que la web esté acabada.

Funcionalidad

La funcionalidad de PrestaShop es buena, mucho mejor que la de osCommerce, y hay muchos módulos disponibles, pero las mayores carencias son:

  • Edición de pedidos (no existe)
  • No soporta B2B (varios precios por cliente)
  • No soporta multi tienda
  • Las opciones de personalización de las categorías y home son muy escasas.

El futuro PrestaShop 1.4

PrestaShop 1.4 va a suponer una gran revolución, un rendimiento brutal, escalabilidad, gestión de stock, themes en el área de administración, reprogramación de gran parte del código, mejor seguridad, CRM, y muchísimo más.

Esto va a suponer una ruptura de compatibilidad casi segura entre la 1.3 y la 1.4.

PrestaStore o PrestaShop Addons

La tienda de complementos esta bien, hay gran variedad de módulos, pero hay muchos que tienen una programación horrible. Al principio revisaban todos los módulos, pero ahora hay de todo, hay módulos que tienen un look muy bueno, pero que la programación es tan mala que es capaz de echar abajo el servidor.

En conclusión

Hace un año, pensé cambiar la juguetería online ww.demartina.com a PrestaShop, para huir del modelo de osCommerce, por que a mí, me gusta actualizar un software cuando hay una nueva versión.

Pero con PrestaShop 1.3, me encuentro con el mismo problema que osCommerce, no voy a poder actualizar a la siguiente versión, necesito modificar mucho código, y no pienso hacer el trabajo dos veces.

Así que estoy en un dilema…. lo dejo en osCommerce, me paso a PrestaShop 1.3, y después lo vuelvo a cambiar o me paso a Magento…..

, ,

Subscribe

Subscribe to our e-mail newsletter to receive updates.

19 Responses to “Análisis profundo de PrestaShop”

  1. fernando Says:

    Hola

    ¿Tienen en algún roadmap fechas para la versión 1.4 de PrestaShop?

    Yo de lo poco que he tocado de Magento me parece un mostrenco que requiere (supongo que únicamente al “principio”) más tiempo de estudio que de acción, y para proyectos ágiles y empezando es realmente un reto meterse con él, sobre todo si necesitas personalizar funcionalidades. Tenía fe en PrestaShop, pero leyendo esto me ha entrado miedito 😉

    Saludos!

  2. Vasos de Plastico Says:

    Magento tiene muy buena pinta, sólo que la curva de aprendizaje me da una miedo… Estaba pensando pasar a Prestashop ya que virtuemart empieza a dar errores inexplicables, pero según comentas, mejor nos quedamos como estamos.

  3. eljose Says:

    Excelente análisis, muchas gracias. Estaría bien que los mandamases de ps. leyeran este post y replanteasen alguna de las cosas que citas.

  4. Claudio Says:

    Segun lei muchas veces tocar algo en Magento es muy complicado y lleva mucho tiempo.
    Lo vine siguiente durante bastante tiempo y lo que comentas acerca de dificultades para pasar de versiones, tambien lo tiene Mg.
    Y como Vasos, la curva de aprendizage es elevada y tambien tener el cuenta q la version Pro y Enterprise avanzan pero la community queda siempre rezagada y con pocas actualizaciones.

    Saludos

  5. más que HTML Says:

    En mi opinión, hay que tener en cuenta si se está hablando de software gratuito o de pago (independientemente de que sea código abierto).

    En el caso de Magento, que es el que más conozco, está desarrollado por Varien, que como cualquier otra empresa, está buscando la rentabilidad de su producto. Por eso últimamente se han centrado en mejorar las versiones de pago de su software, dejando un poco de lado la versión gratuita.

    El error es pensar que un software de código abierto, y a coste 0, nos va a solucionar el 100% de las peculiaridades de nuestra tienda. Lo lógico es que cada tienda adapte esa base “gratuita” a sus necesidades específicas, con la ayuda de un profesional.

    Es muy saludable criticar un software libre (y más todavía si se envían esas quejas y sugerencias al equipo de desarrollo), pero obviamente no es justo exigirle como a una solución de pago.

    Lo realmente importante del software libre no es su gratuidad, sino que cualquiera tiene libertad para aprovechar y modificar ese código (como habéis hecho con Cartium). Se trata de mejorar lo existente, no esperar que alguien, por amor al arte, te dé el trabajo hecho. Sobretodo si se le va a sacar provecho económico, como es el caso de una tienda virtual.

    Un saludo.

  6. cestas de navidad Says:

    Quedate en oscommerce un tiempo más y vuelve a prestashop más adelante, cuando hayan trabajado lo suficiente para dar la talla para tu tienda, sigue la evolución de cerca y cuando lo creas conveniente da el salto, ni te deprimas, ni te emociones, espera el momento al que lo tengas claro.
    Saludos

  7. Jordi Rivero Says:

    Ya te lo han comentado en un post anterior. Para mi con diferencia es Spree. A simple vista y para empezar, soluciona todos esos problemas y modificaciones que comentas. La unica “pega” es que es ruby en vez de php, pero a la vez ese inconveniente es una pequeña virtud.

    Otra opción en php esta en drupal

  8. Enrique Moragues Says:

    Bueno, consuela saber que no soy el único con dilemas a la hora de seleccionar una plataforma u otra.

    En las tiendas “de verdad” que estoy preparando ando metido con CS-Cart, que es de pago, pero compensa por la cantidad de trabajo que te evitas. Tienes que retocar un montón de cosas por todos los lados, pero realmente vale la pena. Tiene una pseudo Api que te permite modificar comportamientos, un sistema de “addons” y tambien “hooks” para personalizarlo… Lo bueno es que te aseguras compatibilidades futuras.

  9. theUniC Says:

    En primer lugar, felicidades por la entrada. Me parece un excelente análisis. Llevo casi ya dos años desarrollando tiendas en Prestashop y estoy de acuerdo prácticamente en su mayoría (excepto en el coding del front de la tienda, puesto que hecho en falta una OOP más solida con patrones de diseño mucho mucho mejor implementados — me he llegado a encontrar casos de adquirir módulos de pago, revisar el código y encontrarme consultas SQL directamente en la capa de vista-controlador).

    Personalmente, veo en Prestashop una excelente plataforma a nivel funcional ya que todos los módulos con los que viene de serie aportan un enorme valor añadido a los proyectos de tiendas. En contrapartida, la base de código es pobre y está mal implementada. Tiene ideas, inspiraciones e intenciones buenas, por supuesto. Pero son simplemente eso, buenas ideas.

    En general pienso que no hay un buen proyecto open source de comercio electrónico, a diferencia de otras aplicaciones, cómo podria ser un ejemplo clarísimo Drupal. Seguramente hay quién dirá que de un proyecto open source no se puede esperar segun qué cosas, en lo que no estoy del todo de acuerdo, puesto que sí existen proyectos open source realmente profesionales y con una buena base de código y lideres en los campos qué tocan (Linux por ejemplo :).

  10. Daniel Says:

    Excelente análisis, te felicito: La mayoría de los módulos
    de la version 1.3 no son compatibles con la 1.4 , una
    lástima

  11. gruncho Says:

    Aplaudo este análisis. Estoy ahora con un template y me es imposible adaptarlo al completo, si lo interesante del prestashop radica en los módulos y cada vez que un cliente añade uno te tiene que llamar para adaptarlo y rediseñarlo a mano, no hay avance ninguno..

    un saludete!

  12. super ofertas leotec Says:

    la versión 1.4 es bastante buena, pero lo mejor de todo el la cantidad de gente que la utiliza, de esta forma cualquier problema que tengas se soluciona rápidamente

  13. Paco Says:

    Hola, como veo que esta es una entrada de hace más de un año, y la he encontrado buscando referencias en Google, quería preguntar si tu opinión sigue siendo la misma, después de haber discurrido todo este tiempo con los cambios y o mejoras que han ido haciendo a la plataforma PresataShop.
    Gracias

  14. JorgeGL Says:

    Soy usuario de Prestashop, trabajo para un comercio que me encargó una tienda online. Gracias a mi formación pude hacer frente al proyecto y lo dirijo de forma general (diseño, stock, SEO…). He de decir que aunque el principal aspecto negativo de Prestashop (la incompatibilidad con las futuras versiones) hace que la aplicación flaquee y se alargue un poco el desarrollo, el código abierto permite que los desarrolladores nos metamos de lleno en la formación y el enriquecimiento de la comunidad.
    Sólo añadir: Después de un largo tiempo con la versión 1.3 y habiendo actualizado a la 1.4, los aspectos negativos que planteas pueden haberse solventado en parte, y otros parece que no se arreglarán jamás (como los atributos de productos).
    Buen blog y buen artículo, un saludo.

  15. nameless Says:

    Pues es un anásilis discutible… aquí se afirma que la seguridad es buena, y tal vez para aprendices sea así, pero acaba de salir la versión 1.5 y personalmente vendo hack para prestashop 1.5, que permiten obtener el user y password del root de prestashop, por el módico precio de 800 euros XD. Yo no montaría jamás nada basado en un código fuente que otros puedan obtener. joomla, prestashop, magento etc…. en fin, no nos engañemos esas cosas cosas son de principiantes, y oye no pasa nada por ello ehh, que por algo hay que comenzar al princio, pero hablar de buena seguridad, cuando menos me parece una opinión muy alegre

    • JuanMacias Says:

      Me refiero a la seguridad comparada con el resto de aplicaciones OpenSource, que por el hecho de ser OpenSource reciben más ataques y si actualizas (algo importante) lo tendrás muy seguro.

  16. nameless Says:

    aham, bueno, ya que te tomas la molestia de responder.. te replico XD.

    1º Aunque asumo que no está definido en ningún lugar que es la seguridad, así como tampoco lo está que es la vergüenza, ni el amor etc… y al final es simplemente la opinión o sentimientos personales de algo, o sea el tema de la relatividad lo conozco, pero aún así tengo un concepto propio de la seguridad en informática, y esta se divide en dos partes, según yo claro… la 1º es si es seguro, nadie te podrá comprometer, y la 2ª si la 1ª no se cumple, no es seguro, bien llámalo más o menos seguro, pero no alcanza el nivel de seguro.

    2º las actualizaciones de software clónico están muy bien, pero sólo ‘te protege’ de lo que se conoce sobre el públicamente, a ver si me explico mejor con un ejemplo… tenemos el plesk parallels, el cual dicen las malas lenguas que es un prodigio y ni tan siquiera es libre, simplemente otros pueden ver el código, y en una d esas uno de los que lo miró, vió algo dónde los demás no lo vemos, y si buscas verás que hay un estadounidense creo que vende un xploit para plesk por 8000$, 8000$ está bien escrito. El caso es que los de plesk no dan con como lo hace, pero hay estadísticas de ataques a traves del puerto que usa plesk que demuestran que es cierto que ese exploit existe, así que han hecho una nueva versión de plesk para intentar paliarlo pero ojo, y esto es lo bueno jaja, incluso en el nuevo no saben que ocurrirá, es decir han cambiado parte del código con la esparanza que entre ese código estuviera el fallo. Y claro hay muchos más ejemplos como ese.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies