¿Qué versión de Magento elegir: 2.0. o 2.1?

En realidad, la pregunta original, a comienzos de año, era: ¿Magento 1 o Magento2?.

Luego, la pregunta mutó a: ¿Magento 1.9.2.4, Magento 2.0.7 o Magento 2.1?. Esto porque al momento de la convivencia de esas tres versiones, existía la promesa de un parche que permitiría a Magento 1.9.2.4 funcionar con soporte oficial para Php 5.6.

Dado que ese parche no apareció, la pregunta pasó luego a la del título: ¿Magento 2.0 o Magento 2.1?. ¿Qué me conviene?.

También nos preguntamos cuál era la política de versiones ya que si miramos la cronología, primero fue la 2.0.7, luego 2.1.0, 2.0.8, 2.0.9 y luego 2.1.1 (algo confuso quizás).

A pesar de esto, hasta hoy ya estábamos bastante autoconvencidos que la decisión debía ser entre la 2.0 y la 2.1. (Es bueno quedarse con esta idea, porque al final del post retomaré el tema de la dicotomía de las versiones).

Lo que siga a continuación (en el post) no tiene un orden en particular, ni tampoco es un análisis exhaustivo. Simplemente será compartir algunos puntos producto de pruebas propias, de lecturas, de charlas, discusiones, bugs, issues, chats y demás.

La intención es colaborar un poco poniendo tantos temas sobre la mesa como sea posible para que quien deba, tome la decisión que se anime a respaldar.

Magento 2.0 necesita de Php 5.5.0 o superior, mientras que Magento 2.1 condiciona un poco más al requerir Php 5.6, 7.0.2, 7.0.6 o superior. Magento 1.x tiene confirmado oficialmente que funciona correctamente hasta Php 5.5, KO (literalmente) para Magento 1.

Revisando el código vamos a encontrar que hay correcciones en varios lugares, y algunos agregados, pero como aquí la idea es pararse a mitad de camino entre un Developer y un Solution Specialist, voy a dejar de lado las cuestiones puras de código (salvo que hubiera un caso que pudiera, para esta lista, inclinar la balanza).

Ya en la instalación se puede ver una diferencia de tres módulos core entre la versión 2.0.9 y la 2.1.1.

Cantidad de módulos que instala Magento 2.1.1

El primer módulo es Magento_Security

Magento/Secutiry en Magento 2.1.1

El módulo, entre otras cosas, le da a los administradores la capacidad de desconectar usuarios logueados; agrega configuración para la complejidad de las contraseñas; confirmación para todos los cambios críticos; bloqueo de cuenta luego de una cierta cantidad de logins incorrectos; etc, etc.

El segundo módulo en la lista es Magento_SwatchesLayeredNavigation.

Magento/SwatchesLayeredNavigation en Magento 2.1.1

Permite el cambio de valores de los atributos en el Layered Navigation.

El tercer módulo nuevo es Magento_Vault.

Magento/Vault en Magento 2.1.1

Luego la instalación continúa (y finaliza) igual.

Hasta aquí, parecería, no hay argumento contundente para elegir una versión que no sea la última estable.

Ya una vez dentro del backend, aparecen algunos cambios. Dentro del menú de Contenido tenemos ahora una nueva opción que es la de configuración del Diseño.

Menu Content en Magento 2.1.1

En el menú de Reportes encontramos el de Braintree.

Menu Reports en Magento 2.1.1

Dentro de las configuraciones ha habido algunos cambios estéticos (ya se verán en unas de las capturas siguientes) y hay algunos elementos que se han movido de lugar. Por ejemplo, en Magento 2.0.9 las configuraciones de diseño se ven así:

Configuración de Diseño en Magento 2.0.9

Mientras que en 2.1.1, y con la opción de Configuración en el menú (todavía no me acostumbro a la idea), se ve de esta otra forma:

Configuración de Diseño en Magento 2.1.1

(No, no me acostumbro)

Hay más opciones de integración para la conversión de monedas.

Configuración de conversión de moneda

Como mencionaba al comiendo con el instalador, tenemos las opciones de seguridad para configurar.

Opciones de configuración de Seguridad en Magento 2.1.1

Luego, revisando un poco puede verse que se ha cambiado la interfase de las Categorías.

Gestión de Categorías en Magento 2.1.1

Como también en los Productos.

Gestión de Productos en Magento 2.1.1

Este cambio de interfase también puede verse en la gestión de regalas de Catálogo y Carrito.

Si tuviera que poner en la balanza ambas versiones, sigo sin ver por qué no elegiría la última versión estable.

Quizás la molestia puede ser más grande si se estaba trabajando ya con alguna de las versiones de la 2.0.* y se tuvieran problemas para crear productos configurables. Mucho más podría molestar, creo, si ese problema siguiera estando presente en la versión 2.1.1 (ver, por ejemplo, el issue #6424).

Al repasar la versión 2.1.1 se ven cambios de código pero que parecieran que no se han aplicado en toda la plataforma.

Lo mismo con las interfases de gestión (por ejemplo, la de Categorías y Productos) nuevas conviviendo con las viejas (Clientes).

Hasta aquí, creería, mi opción sería mantenerme en la última estable de la 2.0 si ya venía trabajando y alcanzando cierto nivel de maduración.

Caso contrario, para un proyecto nuevo, preferiría 2.1.1, pero más que nada para estar más cerca del siguiente salto de versión.

«One more thing…»

Casi al comienzo hablaba sobre la dicotomía que implica la decisión sobre qué versión usar. Esa dicotomía ayer fue alterada, ya que se ha filtrado que hacia el final de ésta semana o la próxima, se estaría publicando un parche que desde julio ansiamos, el cual provocaría que:

  • Magento CE 1.9.2.4 se convierta en Magento 1.9.3 y Magento EE 1.14.2 en 1.14.3.
  • Magento 1 tenga soporte oficial para Php 5.6.
  • Magento 2 alcanzaría las versiones 2.0.10 y 2.1.2 (en CE y EE).
  • Magento 2 pasaría a tener soporte para Php 7.0.4 y Mysql 5.7.

Dicho esto, ¿qué versión vas a elegir para tu próximo proyecto?.