Aplicaciones de Shopify, código personalizado o algo intermedio
Una de las preguntas más comunes que escuchamos de los comerciantes es alguna versión de esta: "¿Debo instalar una aplicación para esto, o debo hacer que alguien lo construya a medida?" La pregunta implícita que le sigue suele ser "¿y cuál es mejor?".
La respuesta que damos suele ser alguna versión de "ambos, y a veces algo intermedio".
Las aplicaciones y el código personalizado resuelven problemas diferentes. También hay una tercera opción que la mayoría de los comerciantes no saben que existe. Las mejores tiendas Shopify utilizan las tres, en diferentes lugares, para diferentes cosas. La pregunta realmente útil no es cuál elegir, sino cómo saber cuál se adapta a cada trabajo.
Hemos estado creando aplicaciones y funciones personalizadas para tiendas Shopify desde 2014. Publicamos más de 15 aplicaciones en la App Store, y también creamos aplicaciones y funciones personalizadas para comerciantes que necesitan algo específico. Así que hemos visto esta compensación desde ambos lados, y el patrón es bastante consistente.
Cuando una aplicación es la opción correcta
Las aplicaciones tienen sentido cuando la funcionalidad necesita mantenimiento continuo. Cualquier cosa integrada con servicios externos, cualquier cosa que dependa de APIs de Shopify que cambian regularmente, cualquier cosa que necesite actualizaciones a medida que la plataforma evoluciona. Esto cubre más terreno de lo que la gente suele pensar.
La categoría obvia es cualquier cosa que toque el proceso de pago o el flujo de compra. Shopify actualiza el proceso de pago con frecuencia, y el código personalizado conectado a esas áreas tiende a romperse con las actualizaciones de la plataforma. Lo mismo ocurre con las integraciones con servicios externos: marketing por correo electrónico, reseñas, transportistas, procesadores de pagos, plataformas de análisis. Todo esto requiere un trabajo continuo a medida que el servicio externo evoluciona, y una aplicación se encarga de ese trabajo por parte del editor de la aplicación en lugar de la suya.
Las aplicaciones también tienen sentido cuando la función necesita un panel de configuración, permisos de usuario o almacenamiento de datos. Si eso es lo que está construyendo, de todos modos está construyendo una aplicación. Bien podría usar una que ya existe.
Y las aplicaciones ganan en cuanto a la funcionalidad que es realmente difícil de construir. Suscripciones, paquetes, precios en varias monedas, gestión de inventario en diferentes ubicaciones. Construir esto desde cero es un esfuerzo de ingeniería significativo, y una aplicación existente generalmente ya ha resuelto los casos extremos que aún no ha encontrado. Un buen editor de aplicaciones también lanza constantemente actualizaciones, añade funciones y corrige errores. El código personalizado simplemente se queda ahí. Funciona el día 500 exactamente tan bien como el día uno, lo que suena bien hasta que te das cuenta de que la plataforma ha avanzado sin él.
Cuando el código personalizado es la opción correcta
El código personalizado gana en cosas que son visuales, específicas o de corta duración. Un pequeño ajuste de diseño, una función de campaña única, un ajuste de flujo de trabajo único para tu tienda. Situaciones en las que instalar una aplicación completa sería excesivo.
Los cambios visuales y de diseño son el caso más claro. El CSS personalizado o una sección de Liquid personalizado casi siempre es más ligero que instalar una aplicación para un ajuste de diseño. Cambiar cómo se muestran los precios de los productos, mover un botón, añadir una sección personalizada a la página de inicio, estos son trabajos de código personalizado. Lo mismo ocurre con la lógica sencilla y única. Si necesitas un temporizador de cuenta regresiva solo para el Black Friday, o una única barra de anuncios para una campaña específica, unas pocas líneas de Liquid son mejores que una aplicación completa.
Luego están los flujos de trabajo únicos para su negocio. Cada tienda tiene algún proceso que no se ajusta limpiamente a la configuración de una aplicación estándar. Tal vez sea cómo etiqueta los pedidos, tal vez sea un paso específico de cumplimiento, tal vez sea cómo maneja una categoría de cliente de manera diferente. Cuando el requisito es específico de su tienda, el código personalizado suele ser más limpio que intentar forzar una aplicación a hacer algo para lo que no fue diseñada.
Otro caso que vale la pena mencionar: el código personalizado a veces es la forma correcta de eliminar la carga de una aplicación existente. Si tiene una aplicación que hace una pequeña cosa en cada página cuando solo necesita funcionar en una, unas pocas líneas de Liquid personalizado que manejen esa única cosa pueden permitirle desinstalar la aplicación por completo. Ese es un trabajo que le ahorra dinero y acelera la tienda al mismo tiempo.
El costo real del código personalizado es el mantenimiento. No se actualiza solo. Las futuras actualizaciones de temas deben aplicarse manualmente o sus ediciones se sobrescribirán, y cambiar de tema en el futuro significa transferir sus cambios. Ese es un costo que aparece gradualmente, no el primer día.
Cómo decidimos realmente
Cuando un comerciante nos pide que construyamos algo, lo primero que comprobamos es si ya existe una aplicación que lo haga bien. Si es así, esa es casi siempre la respuesta. Recomendaremos una aplicación existente incluso si no es una de las nuestras, porque la respuesta correcta es más importante que la empresa que se instale. Si existe una aplicación pero no encaja del todo, vale la pena preguntar si se puede extender en lugar de reemplazar. Muchas aplicaciones tienen opciones de personalización, APIs o ganchos que permiten construir sobre ellas. Eso suele ser más barato que una construcción personalizada completa.
Si nada encaja, entonces lo personalizado empieza a tener sentido. Pero antes de cotizar un trabajo personalizado, verificamos una cosa más: si Shopify ya lo maneja de forma nativa. Esto surge constantemente. Los comerciantes piden desarrollo personalizado para resolver algo que Shopify hace de forma predeterminada, pero que aún no han configurado. Señalaremos eso primero, porque lo gratuito y nativo siempre supera a lo personalizado.
El único lugar donde no deliberamos mucho son los cambios visuales y de diseño. Eso siempre es Liquid o CSS personalizado. Instalar una aplicación para un ajuste de diseño añade scripts y complejidad para algo que debería ser veinte líneas de código de tema.
Una opción intermedia que la mayoría de la gente desconoce
Existe una tercera opción que rara vez se menciona porque casi nadie la ofrece: una aplicación personalizada, creada específicamente para tu tienda, pero mantenida como una aplicación pública.
La situación surge constantemente. Un comerciante encuentra una aplicación que cubre la mayor parte de lo que necesita, pero hay un comportamiento específico que solo tiene sentido para su tienda. Tal vez sea cómo interactúan los descuentos con los clientes mayoristas. Tal vez sea una regla de cumplimiento que depende de datos que la aplicación estándar no lee. La aplicación existente le resuelve el 80% del problema. El consejo habitual en ese punto es conformarse con el 80% o que un desarrollador inserte algo de código personalizado en su tema.
Nosotros tomamos un camino diferente. Creamos una aplicación dedicada para la tienda, alojada en nuestra infraestructura. Cambios en la API de Shopify, actualizaciones de seguridad, compatibilidad con nuevos temas, trabajo de rendimiento, nosotros nos encargamos de todo eso de la misma manera que lo hacemos para nuestras aplicaciones públicas. La diferencia es que esta fue construida para adaptarse al flujo de trabajo específico de una tienda.
Ese es nuestro servicio de aplicaciones personalizadas. El comerciante obtiene exactamente la funcionalidad que necesita, y no hereda el problema de mantenimiento que viene con el código de tema personalizado.
La mayoría de las empresas de desarrollo no trabajan de esta manera. Construyen código personalizado y lo entregan, lo que significa que la próxima vez que Shopify cambie algo fundamental, usted los llamará para averiguar qué se rompió. Si nosotros lo construimos, nosotros lo mantenemos.
El error más común
No es instalar demasiadas aplicaciones o escribir demasiado código personalizado. Es perder el rastro de lo que ya hay en la tienda.
Los comerciantes instalan una aplicación para probarla, deciden que no la quieren y la desinstalan o se olvidan de que está ahí. Incluso después de la desinstalación, algunas aplicaciones dejan fragmentos en el código del tema que siguen cargándose en cada página. Con el tiempo, esto se acumula en una sobrecarga de rendimiento real, y los comerciantes se preguntan por qué su tienda se siente lenta cuando "ni siquiera tienen tantas aplicaciones instaladas".
Antes de decidir entre aplicaciones y código personalizado para algo nuevo, audite lo que tiene actualmente. Abra su tema, mire sus etiquetas de script, identifique qué se está cargando y si realmente es necesario. El material olvidado es donde vive la hinchazón. Eliminarlo suele hacer más por el rendimiento de su tienda que cualquier nueva optimización que estuviera considerando.
Si no está seguro por dónde empezar, realizamos auditorías de tiendas que incluyen una revisión de aplicaciones y código. Le diremos qué se está cargando, qué es necesario y qué se puede eliminar. Y si necesita que se construya algo, ya sea un pequeño ajuste personalizado o una aplicación personalizada con mantenimiento completo para su tienda, también lo hacemos. El mismo equipo, la misma perspectiva, ya sea que la respuesta correcta sea una recomendación de aplicación, un poco de código personalizado o una aplicación dedicada construida y mantenida para usted.
Cómo se ven realmente las tiendas más exitosas
Una tienda Shopify bien gestionada suele tener entre 5 y 15 aplicaciones, además de una pequeña capa de ajustes personalizados en el tema para las cosas que hacen que la tienda se sienta específicamente tuya. Ese es el patrón que vemos en miles de tiendas con las que hemos trabajado.
Las tiendas con más de 30 aplicaciones suelen tener bloat y páginas lentas. Las tiendas con cero aplicaciones y todo codificado a medida suelen tener una deuda de mantenimiento que las alcanza cuando Shopify cambia algo fundamental. Ambos extremos cuestan más de lo que ahorran.
El término medio, donde viven la mayoría de las tiendas exitosas, no es una fórmula. Es el resultado de que alguien preste atención con el tiempo y revise la pila de vez en cuando en lugar de simplemente añadir más cosas.