Cómo desarrollar una aplicación multiplataforma y no arrepentirse de ello
Oleksii Skurikhin

Muchos artículos hablan sobre las tecnologías híbridas y cómo pueden ayudarte a crear fácilmente aplicaciones multiplataforma. Nuestro objetivo es compartir algunos aspectos prácticos de su implementación. Queremos ayudarte a desarrollar un producto que se alinee con tus expectativas y alcance tus objetivos de negocio. En este artículo analizaremos las ventajas y desventajas de las tecnologías híbridas, compararemos plataformas populares y exploraremos algunos mitos que las rodean.
Antecedentes
Nuestro equipo ha visto numerosos proyectos en los que las aplicaciones se desarrollaron utilizando React Native, Flutter y tecnologías nativas. Ahora también estamos explorando Kotlin Multiplatform. Cada proyecto fue distinto, utilizando diferentes tecnologías y abarcando dominios como blockchain, fintech, IoT y otras áreas. Algunos de estos proyectos han sido exitosos y otros no, y uno de los mayores problemas no fue la tecnología, sino las expectativas poco realistas sobre su uso, especialmente en lo relacionado con el presupuesto.
La tecnología rara vez conduce al fracaso; más bien, la falta de fondos suele ser la causa de que un proyecto fracase. Elegir la tecnología adecuada y tomar la decisión estratégica correcta puede ayudarte a ahorrar dinero. Veamos el presupuesto para entender cuánto dinero podemos ahorrar al elegir una tecnología híbrida.
Tecnologías híbridas vs. desarrollo nativo
Elegir la plataforma más popular entre tu mercado objetivo, ya sea iOS o Android, puede parecer contradictorio, pero aun así puedes utilizar un enfoque nativo probado en el tiempo y reducir tu presupuesto hasta en un 50 %.
Desafortunadamente, ninguna tecnología híbrida puede lograr una reducción de costos tan significativa. En esta sección analizaremos los pros y contras de utilizar tecnologías híbridas en comparación con el desarrollo nativo para aplicaciones multiplataforma.
Presupuesto
Observa el diagrama de presupuesto de una de las startups y nota que la fase de desarrollo representa solo el 45 %. Incluso si pudiéramos reducir esto en un 50 %, solo lograríamos una reducción del 22 % en el presupuesto total.

La reducción esperada del presupuesto será de alrededor del 10–15 %. Esto se debe a que el equipo de QA debe dedicar la misma cantidad de tiempo a probar dos builds diferentes, los diseñadores deben preparar dos versiones de la UI/UX alineadas con las guías de cada plataforma e incluso los desarrolladores deben crear interfaces distintas para iOS y Android, además de usar o incluso escribir librerías nativas para trabajar con funciones de bajo nivel, entre otras tareas.
Elegir la tecnología híbrida adecuada
Elegir la tecnología correcta desde el principio es fundamental, porque no hay nada más permanente que una decisión temporal. Nos hemos encontrado con muchos casos en los que los clientes nos pidieron arreglar su plataforma con la promesa de reemplazar la tecnología en el futuro, pero ese futuro nunca llegó. En esta sección analizaremos los factores que influyen en la elección de una tecnología híbrida.
Encontrar buenos desarrolladores
Aunque Flutter se ha vuelto recientemente más popular que React Native, sigue siendo más difícil encontrar desarrolladores experimentados en Flutter en comparación con React Native o Kotlin.
A veces las startups eligen convertir a sus desarrolladores frontend en desarrolladores móviles. El ejemplo más común es que desarrolladores que conocen React aprendan React Native. Sin embargo, en algunos casos, crear un MVP con una tecnología nueva como Flutter puede llevar menos tiempo que hacer la transición de React a React Native para el mismo proyecto.
Rendimiento
Flutter y Kotlin Multiplatform generalmente ofrecen un mejor rendimiento que React Native debido a sus lenguajes compilados. React Native depende de un runtime de JavaScript, lo que en algunos casos puede generar problemas de rendimiento.

Velocidad de desarrollo
React Native permite el desarrollo de UI nativa, pero puede requerir trabajo adicional para crear componentes específicos por plataforma. Por otro lado, Flutter ofrece un conjunto amplio de widgets personalizables que pueden usarse para crear una apariencia consistente en todas las plataformas. Kotlin Multiplatform proporciona opciones de UI personalizables, pero no incluye un framework de UI como Flutter.
Como resultado, usando Flutter puedes entregar una aplicación más rápido, pero la UI puede no verse completamente nativa tanto en iOS como en Android.
No sigas a ciegas los enfoques de empresas exitosas
Como en muchas otras cuestiones del mundo startup, la mayor tentación es copiar el enfoque que ha elegido otra empresa exitosa. Sin embargo, esto puede ser un gran error, porque no conocemos sus circunstancias ni sus resultados. En esta sección analizaremos por qué seguir ciegamente el enfoque de una empresa exitosa puede no ser la mejor idea para el desarrollo de tu aplicación multiplataforma.
Circunstancias y requisitos únicos
Por ejemplo, hace cinco años, varios artículos citaban ejemplos famosos como Instagram, Airbnb y otras empresas que eligieron React Native. Sin embargo, la verdad es que puede no ser un camino exitoso a largo plazo. Por ejemplo, solo una pequeña parte de la aplicación de Instagram utiliza React Native. Hace algunos años, ingenieros de Airbnb publicaron que habían decidido volver al desarrollo nativo y abandonar React Native dos años después de adoptarlo para sus aplicaciones móviles.
Perder de vista la meta
Airbnb también contó durante todo ese tiempo con un equipo experimentado de desarrolladores nativos, y su recorrido con React Native fue un gran experimento que quizás tú no puedas permitirte. Algunas empresas utilizan tecnologías híbridas solo para ciertos módulos o subsistemas de sus productos. Es fundamental tomar una decisión basada en los requisitos únicos de tu proyecto en lugar de seguir una tendencia popular.
Conclusión
Aunque estamos trabajando en proyectos con React Native y esta tecnología sigue siendo popular en Estados Unidos, con más del 14,84 % de las 500 principales aplicaciones construidas con este framework, creemos que su momento está pasando. Si estás pensando en iniciar un nuevo proyecto basado en tecnología híbrida, recomendamos considerar Flutter o Kotlin Multiplatform, especialmente para construir un MVP o una prueba de concepto.
Si no tienes mucho tiempo para buscar desarrolladores o experimentar con tecnologías, puedes ahorrar tiempo y dinero contactándonos. Analizaremos tu proyecto, presupuesto y plazos, y te ayudaremos a resolver tus retos de negocio. No necesitas tener dolores de cabeza luchando con decisiones tecnológicas; simplemente contáctanos y mantén el foco en la perspectiva estratégica de tu startup.