react-native mobile-application

react native - Reacciona Native vs Swift/Objective-C/Java Native



react-native mobile-application (2)

Estoy trabajando en un nuevo proyecto para una empresa de Fintech y se me ha encomendado investigar si deberíamos utilizar React Native o Swift / Objective-C / Java nativos para nuestra estrategia y tecnología de desarrollo de aplicaciones móviles en el futuro.

He investigado mucho sobre esto y he leído muchos de los estudios de caso relacionados con React Native, pero aún siento que no tengo suficiente para tomar una decisión informada en este momento.

La amplia funcionalidad de la aplicación incluirá cosas como:

  • Funciones relacionadas con datos, tales como saldos de cuentas y estados de cuenta (bastante simples)
  • Captura de imágenes de documentos de identidad y selfies de los usuarios.
  • Captura de datos biométricos.
  • Notificaciones push

Parte de esto es bastante estándar y simple, pero parte de ella requerirá que la aplicación utilice funciones de dispositivo de bajo nivel y / o que utilice SDK de Android y iOS de terceros.

Entonces, en términos de trabajar hacia la decisión de una estrategia de desarrollo móvil, puedo pedirle su opinión, basada en su experiencia reciente, sobre razones para considerar React Native sobre el desarrollo nativo de Swift / Objective-C / Java a la luz del la funcionalidad planificada mencionada anteriormente (incluidas las razones por las cuales puede ser mucho mejor atenerse a las plataformas / idiomas nativos).


Por experiencia propia, puedo decir que React Native es una buena opción para la mayoría de las aplicaciones cuando necesita desarrollarse e iterar rápidamente. Por lo general, significa que sería más barato desarrollar para un cliente.

Mirando la lista de características no puedo ver nada que no se pueda hacer en RN. Tarde o temprano tendrá que sumergirse en el código nativo, generalmente para enlazar los módulos nativos con JS. Lo he hecho varias veces, no es tan difícil y la documentación en el sitio web de RN ayuda mucho.

Tenga en cuenta que seguramente se encontrará con errores estúpidos y tendrá que encontrar una solución. Al menos esto me sucedió varias veces cuando estaba creando la aplicación RN hace medio año, quizás ahora sea más estable.

También creo que realmente depende de cuáles son los dispositivos de los usuarios potenciales de aplicaciones. Nunca he desarrollado para Android, pero he escuchado de otros desarrolladores, que en dispositivos Android de nivel medio, la RN se ejecuta mucho más lentamente, esto debería probarse desde el principio.


React Native tiene una idea realmente agradable y tentadora detrás de sonidos como "código base unificado y casi totalmente compartible para diferentes plataformas, incluida la Web". Pero desde mi experiencia (no tan extensa, pero aún así), la realidad es un poco diferente: en algún momento enfrentará algunos problemas con el código nativo, y sería realmente bueno si ha experimentado Swift / Objective-C / Java. Desarrolladores en tu equipo para lidiar con eso. No confíe en las promesas "todo lo que necesita es solo un desarrollador de front-end React". La plataforma React Native en sí me parecía más una caja negra mágica que ejecuté con un solo comando sin tener ni idea de lo que hay dentro y cómo funciona realmente. Tienes que saber al menos algo sobre Xcode y Android Emulator, incluso si Facebook está tratando de ocultarte este aspecto tanto como sea posible.

TL; DR En mi opinión, si realmente quieres probar React Native para algo más complejo que TodoMVC, necesitas tener al menos 3 desarrolladores: Web (JavaScript / React), iOS (Swift / Objective-C) y Android (Java) . O solo un superhéroe.