En 2020, Shopify apostó por la tecnología React Native para escribir una sola vez el código de sus aplicaciones móviles, evitando duplicar el trabajo en Swift para iOS y Kotlin para Android. Esta estrategia permitió a la compañía crear y mantener funcionalidades multiplataforma de manera más eficiente durante varios años.
Sin embargo, el pasado jueves, Shopify anunció que daba un giro inesperado y abandonaba la plataforma cruzada para volver al desarrollo completamente nativo. Lo sorprendente es que esta transición, que normalmente llevaría meses o incluso años, se realizó en tan solo 12 semanas para su aplicación de consumo, Shop.
El cambio se ha logrado gracias al uso intensivo de agentes de inteligencia artificial, que se encargan de tareas complejas y repetitivas en el proceso de reconstrucción. Estos agentes pueden, por ejemplo, analizar cómo funciona una función en iOS y recrearla automáticamente para Android o viceversa, facilitando el trabajo a los ingenieros y permitiéndoles trabajar con plataformas que no dominaban completamente.
Del React Native al código nativo potenciado por IA
A pesar del cambio, Shopify no considera que su apuesta inicial por React Native fuera un error. Según Mustafa Ali, director de ingeniería de Shopify, los grandes modelos de lenguaje (LLMs) han roto uno de los principios básicos que incentivó a la empresa a adoptar React Native en primer lugar.
Esta transformación tecnológica ha hecho que los antiguos sacrificios inherentes al desarrollo multiplataforma, como el rendimiento o la integración profunda con cada sistema operativo, sean ahora superados por la eficacia de los agentes de IA en el desarrollo nativo acelerado.
Un proceso acelerado, pero con un sistema riguroso
Shopify ha desarrollado Helix, un sistema interno para gestionar estos agentes de IA durante el proceso de migración. Helix descompone la migración de la aplicación en pantallas y tareas pequeñas, evitando la sobrecarga que supondría intentar rehacer todo de una vez. Cada pantalla se compara con la versión existente mientras otros agentes verifican el código buscando posibles errores antes de que un ingeniero humano lo valide.
Esta metodología permite que los problemas detectados en etapas tempranas influyan en las siguientes fases del desarrollo, garantizando una calidad constante y haciendo que el avance sea mucho más seguro y controlado.
Optimización para la colaboración humano-IA
Uno de los obstáculos encontrados fue que, aunque los agentes de IA pueden modificar el código en cuestión de segundos, las pruebas en simuladores de móviles pueden tardar el doble o más. Para solventarlo, Shopify ha separado la lógica de negocio de la interfaz de usuario y permite que los agentes interactúen con la aplicación mediante una interfaz de línea de comandos en escritorio. Esto ha hecho posible que algunas comprobaciones que antes duraban minutos se ejecuten ahora en milisegundos.
Shopify reconoce que la mayoría de las bases de código existentes no fueron diseñadas pensando en la colaboración con IA, pero la compañía ya comienza a construir sus aplicaciones nativas con esta interacción en mente, intentando aumentar progresivamente la autonomía que los agentes puedan tener en el mantenimiento y desarrollo futuro.
Impacto en la industria y precedentes
El caso de Shopify no es aislado. Empresas como Bun han utilizado múltiples instancias paralelas de agentes basados en IA para llevar a cabo migraciones masivas de código, como el traslado de un entorno de ejecución JavaScript escrito en Zig a Rust en apenas 11 días, un proceso que hace solo un año hubiera requerido meses por un equipo humano.
Sin embargo, esta productividad viene acompañada también de ciertos retos, ya que la agilización en algunas tareas genera nuevas cargas en otras áreas de la organización técnica. La llegada de estos agentes está redefiniendo cómo se gestionan proyectos complejos, particularmente aquellas decisiones que antes eran difíciles y costosas de revertir.
Un futuro personalizado para el desarrollo móvil
En definitiva, Shopify ha demostrado que apostar por nuevas herramientas y enfoques tecnológicos permite no solo optimizar el desarrollo actual, sino también prepararse para futuros desafíos. El mayor reto será cómo integrar estos agentes con la creatividad y supervisión humana para generar aplicaciones seguras, estables y altamente integradas en el ecosistema móvil, tal como ha hecho con éxito en su reciente paso al desarrollo nativo facilitado por IA.