Desarrollo de aplicaciones móviles multiplataforma
Desarrollamos apps para iOS y Android a partir de un único código en React Native: un equipo, un backend y publicaciones simultáneas en ambas tiendas. Si a su producto le conviene más lo nativo, se lo decimos antes de la estimación.
Cuándo un único código es la respuesta correcta
El desarrollo multiplataforma funciona cuando la app gira en torno al contenido y a las peticiones a un servidor. Funciona mal cuando el producto vive de gráficos exigentes, procesamiento constante en segundo plano o funciones de plataforma recién lanzadas.
- Necesita un MVP en iOS y Android y quiere probar el mercado antes de pagar dos apps nativas
- La app se basa en feeds, catálogos, formularios, reservas, perfiles y mensajería
- Las nuevas funciones deben llegar el mismo día a los usuarios de iPhone y de Android
- El presupuesto alcanza para un equipo de desarrollo, no para dos
- Su plataforma web necesita una app complementaria con las mismas cuentas y datos
- Tiene una app en React Native de otro equipo que hay que terminar o actualizar
Qué incluye
Evaluación de plataforma
Antes de la estimación revisamos las funciones y le decimos si React Native encaja. Si una parte crítica necesita código nativo, le indicamos dónde está y qué parte de la app afecta.
Diseño para ambas plataformas
Un mismo diseño adaptado a las convenciones de iOS y Android: navegación, gestos, diálogos del sistema, comportamiento del botón atrás. No un diseño de iPhone estirado sobre Android.
Desarrollo en React Native
Código compartido para las pantallas, la lógica de negocio y las peticiones al servidor. Trabajamos por sprints, y cada uno termina con una versión para ambas plataformas que puede instalar y probar.
Módulos nativos
Cuando el código compartido no llega lo bastante lejos, como con un SDK de un proveedor, una función de hardware o el trabajo en segundo plano, escribimos módulos nativos en Swift y Kotlin y los conectamos a la app.
Un backend para ambas apps
API, base de datos, panel de administración y notificaciones push desarrollados una sola vez y usados por ambas apps, y por una versión web si la necesita. Python o PHP (Laravel), según la tarea.
QA, publicación y actualizaciones
Pruebas en iPhone y teléfonos Android reales, publicación en App Store y Google Play y actualizaciones tras el lanzamiento, incluidas las de React Native y sus bibliotecas.
Dónde funciona lo multiplataforma y dónde no
Un único código para iOS y Android suele costar bastante menos que dos apps nativas y requiere menos tiempo de calendario, porque la mayor parte del código, el diseño y las pruebas se comparten. El intercambio compensa cuando la app muestra contenido, listas y formularios y se comunica con un servidor. Funciona mal cuando el producto depende de interfaces con mucha animación, funciones basadas en la cámara, procesos largos en segundo plano o API de la plataforma que llegan primero a los SDK nativos. Le decimos cuál de los dos casos es su producto antes de la estimación, no después de la primera versión.
- Encaja bien: apps de contenido, catálogos, marketplaces, apps de reservas y de servicios
- Encaja bien: MVP que deben estar en ambas tiendas desde el primer día
- Mejor nativo: gráficos y animaciones exigentes, funciones basadas en la cámara
- Mejor nativo: trabajo constante en segundo plano y las API más recientes de la plataforma
Un equipo, un backend, un calendario de publicaciones
Con dos apps nativas gestiona dos códigos, dos conjuntos de errores y, a menudo, dos fechas de publicación. Con React Native, una función se escribe una vez y se publica en ambas tiendas a la vez, y las mismas personas responden por las dos plataformas. La parte de servidor también se comparte: una API y un panel de administración sirven a ambas apps y, si hace falta, a un cliente web. Metacognit.me, una app de corrección metacognitiva y diagnóstico de psicotipos, está construida exactamente así: un cliente en React Native para iOS y Android y un backend en Python.
- Un repositorio y un mismo conjunto de funciones para iOS y Android
- Publicaciones simultáneas en ambas tiendas
- Una API y un panel de administración para ambas apps y la web
- Menos personas que coordinar y menos traspasos
Preparado para pasar a nativo, si alguna vez llega el momento
Empezar en multiplataforma no le ata. El backend y la API sobreviven al paso a nativo; el código del cliente, no. Por eso diseñamos la API para que un futuro cliente nativo o web pueda usarla sin cambios, y mantenemos aisladas en módulos nativos las partes específicas de cada plataforma. Hemos hecho migraciones en ambas direcciones. Para Quaker, una app de cocina de una empresa de reparto de comida en Dubái, sustituimos una app híbrida con tecnología obsoleta por dos clientes nativos cuando las diferencias entre plataformas empezaron a importar para el producto.
- Una API diseñada para servir a cualquier cliente futuro, nativo o web
- Código específico de cada plataforma aislado en módulos nativos
- Un aviso honesto cuando la app se queda pequeña para el código compartido
- Cuentas y datos que acompañan al producto, sea cual sea el lenguaje del cliente
Cómo se desarrolla un proyecto multiplataforma
Evaluación y estimación
Revisamos las funciones y las integraciones y comprobamos qué necesita código nativo. Recibe por escrito el alcance, una recomendación entre React Native y nativo y una estimación.
Diseño
Prototipo e interfaz final adaptados a ambas plataformas. Usted aprueba las pantallas para iOS y Android antes del desarrollo.
Desarrollo
Primero el código compartido, módulos nativos donde hagan falta y el backend en paralelo. Tras cada sprint instala versiones nuevas en ambas plataformas.
Pruebas en dispositivos
QA en iPhone y teléfonos Android reales con distintas pantallas y versiones del sistema. Recibe una única versión probada para ambas tiendas.
Publicación y soporte
Publicación en App Store y Google Play con sus cuentas y, después, actualizaciones, correcciones y mejoras del framework durante el tiempo que las necesite.
Tecnologías
Multiplataforma
- React Native
- JavaScript
Módulos nativos
- Swift (iOS)
- Kotlin (Android)
Backend y API
- Python
- PHP (Laravel)
- MySQL
Cómo podemos colaborar
Alcance cerrado
Una lista de funciones, una estimación y unos plazos acordados para ambas plataformas. Una opción habitual para un MVP que debe lanzarse en las dos tiendas.
Equipo dedicado
Un equipo multiplataforma que trabaja de forma continua en su app. Adecuado para productos que publican a menudo y planifican su hoja de ruta sprint a sprint.
Por horas
Pago por las horas realmente dedicadas. Adecuado para auditorías de una app existente en React Native, actualizaciones del framework y funciones más pequeñas.
Proyectos relacionados
Opiniones
El equipo de Revol sigue reforzando la capacidad de desarrollo del cliente gracias a un trabajo de alta calidad y un soporte fiable. Se comunican con eficacia y demuestran una comprensión sólida de las necesidades y del negocio del cliente.
Tomas
El trabajo de Revol ha cumplido plenamente las expectativas y ha dejado satisfecho al cliente. Su enfoque fresco y su disponibilidad para dar soporte han sido muy valiosos. Quien busque un equipo comunicativo y orientado al cliente para alcanzar sus objetivos puede contar con ellos.
Andrey
Preguntas frecuentes
¿Notarán los usuarios que la app no es nativa?
En los escenarios para los que sirve lo multiplataforma, no. Donde sí lo notarían, como en interfaces con mucha animación, funciones basadas en la cámara o trabajo prolongado en segundo plano, le recomendamos el desarrollo nativo en lugar de prometer que el código compartido podrá con ello.
¿Cuánto más barato es lo multiplataforma que dos apps nativas?
Suele ser bastante más barato y rápido, porque la mayor parte del código, el diseño y las pruebas se comparten. La diferencia exacta depende de cuántas funciones específicas de cada plataforma necesite la app. Le damos cifras concretas en la estimación de su app, no un porcentaje general.
¿Podemos empezar en multiplataforma y pasar a nativo más adelante?
Sí, y hemos hecho la migración en ambas direcciones. Conviene planificarlo pronto, porque el backend y la API sobreviven al cambio, mientras que el código del cliente no.
¿Publican ustedes las apps en las tiendas?
Sí. Preparamos las versiones, las fichas y los metadatos, pasamos la revisión de App Store y Google Play y hacemos las correcciones que pida la revisión. Las apps se publican en sus propias cuentas de desarrollador.
¿Cómo se calcula el precio?
Dividimos la app en funciones, estimamos cada una en horas y sumamos el diseño, el backend, QA y la publicación. Después puede elegir alcance cerrado, un equipo dedicado o trabajo por horas. No publicamos precios porque el esfuerzo varía demasiado de una app a otra.
¿Pueden hacerse cargo de una app existente en React Native?
Normalmente sí. Empezamos revisando el código: versiones de React Native y de las bibliotecas, módulos nativos y proceso de compilación. Obtiene una imagen clara del estado de la app y de lo que implicarán los primeros meses, incluido si hace falta una actualización o una reescritura parcial.
Cuéntenos su proyecto
Describa la tarea en unas líneas. En un día laborable le responderemos con preguntas o con una primera valoración del alcance y el coste.
¿Prefiere el correo electrónico o una llamada?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallin (Estonia). Nuestro equipo está distribuido por todo el mundo.
Únase a nuestro equipo
Envíe su CV a career@revolsource.com