Usar react native para crear tu app

Cuando se trata del desarrollo de móviles, hay muchas tecnologías para elegir. Como Kotlin para Android, Swift para iOs, Python, un lenguaje de propósito general y lo que no. Aunque quiero hablar sobre una tecnología que es muy fácil y rápida, y que te consigue una app por el precio de tres.

Sí, estoy hablando de React Native. Es un framework que compila código JavaScript y que se usa para crear aplicaciones native. ¿Por qué creo que deberías usar React Native para desarrollar tu próxima app? Si aún no has leído los pros y los contras de React Native, tengo una lista de razones para ti.

Motivos por los que debes elegir React Native para tu siguiente app

Antes de pasar al tema en cuestión, deja que te ponga al corriente sobre dos términos que verás circulando por React Native.

Al trabajar usando React Native, podrías tener una app Brownfield o una app Greenfield. Brownfield es aquella que tiene un código nativo existente que puedes agregar o combinar con el código de React Native. Una app Greenfield es cuando inicias con React Native; podrías decir que es una pura aplicación JavaScript. Incluso podría no haber código nativo entre medias.

Ambas (Greenfield o Brownfield) tienen diferentes pros y contras en el proceso de desarrollo de tu app. Aquí no existen ni panoramas buenos ni malos, debes ir a por uno dependiendo de tu caso.

(Teniendo esto en cuenta) Vamos a hablar de las razones por las que usar React Native.

Puedes tener tres apps por el precio de una – Web, Android e iOS.

React Native te ayuda a crear apps native para Android, IOS y Web. Por este motivo, en vez de crear tres apps diferentes para tres plataformas, sólo tendrás que hacer una, y podrás ejecutarlas en diferentes plataformas. ¿Cómo suena eso?

Empezar es muy fácil, pero tiene un precio

Algo tan bueno siempre conlleva pagar un precio. Y la integración es ese precio. Si tienes una app Brownfield y necesitas incorporar React Native, se presentarán algunos baches por el camino. A pesar de que conseguir una experiencia native sin problemas es todo un desafío, es posible si usas otras librerías y ayudas de la comunidad de React Native.

Por si todavía no lo sabías, Facebook respalda React Native, por lo que el apoyo y la comunidad están bien. Junto a eso, también lo son los tutoriales y el material de aprendizaje. Por este motivo, empezar es muy fácil, aunque tienes que hacer un esfuerzo extra en la fase de integración, sobre todo en el caso de la app Brownfield.

Buen rendimiento

Pensarías que una aplicación native funcionaría mejor en su plataforma, pero no podrías estar más equivocado. En un artículo escrito por John Calderaio, comparación entre React Native y Swift, React Native resultó ser mejor que Swift. Él creó dos aplicaciones, una en React Native y otra en Swift. Ambas parecían y se sentían ser las mismas en cuanto a la apariencia. Ambas también parecían tener las mismas características.

Al comparar diferentes métricas de rendimiento, React Native superó a Swift, especialmente en el uso de memoria.

Fácil transición desde native a react, y desde react a código native

En cualquier punto, si quieres cambiar de React Native a código native, puedes hacerlo sin tener que pasar por una horrible pesadilla y un desarrollo desastroso. Debido a que RN (React Native) se ajusta con las convenciones de plataformas native (de aquí la experiencia native), puedes pasar de código  React Native hasta completamente native con un poco de cuidado y de sentido común.

Aún se necesitan desarrolladores de Native, pero el tamaño del equipo puede ser pequeño

Permíteme desarmar esta idea falsa. Sí, se pueden crear aplicaciones native usando React Native, pero eso no significa que no se necesiten desarrolladores native. Realmente los necesitas, pero ¿cómo es posible que eso sea una ventaja de usar React Native?

Bueno, eso reduce el tamaño del equipo. En lugar de contratar un gran equipo de desarrolladores Android e iOS, se pueden disminuir los costes contratando uno más pequeño con desarrolladores de React Native, Android e iOS.

Fácil comprobación

Una de las razones fundamentales que influyen en el prestigio de una app es un riguroso ciclo de prueba. Realizar pruebas es muy fácil en React Native, sobre todo al usar Enzyme. Se puede utilizar un renderizado superficial para que tus pruebas se ejecuten más rápido. Cuanto más rápido se realicen las pruebas, más rápido se podrá pasar a la fase lanzamiento.

Fácil de seguir y entender por otros ingenieros

Un factor que muchos de nosotros pasamos por alto cuando estamos decidiendo qué tipo de tecnología vamos a usar es tener una “copia de seguridad”. Muchas veces, la gente se acaba cambiando a mitad del proceso de desarrollo por una mala experiencia o porque les hace falta actualizar o añadir una función en la aplicación existente. Para un ingeniero de software, React Native es un deleite cuando se observa por primera vez el código base. Es muy fácil de seguir y de entender, y cualquier buen programador con un cerebro de codificación en sus plenas facultades puede comprender muy fácilmente lo que está pasando y dónde. Confía en mí, es una gran ventaja.

Dicho todo esto, déjame decirte que cualquier tipo de app irá bien con React Native.

React Native es magnífico junto a apps como:

Con la competitividad que hay hoy en día en el desarrollo de aplicaciones móviles, existe un número limitado de oportunidades para sacar una buena app.

Entonces, ¿qué tipo de apps irían bien en React Native? ¿Se debería hacer una app empresarial? ¿Una app descentralizada? ¿Una app web? Estas preguntas se podrían responder de una mejor forma si se saben las funcionalidades de las apps. Serían apps tales como:

 

  • Prototipos seleccionables
  • Apps con una interfaz de usuario simple
  • Apps multiplataforma con funcionalidad básica
  • Apps que no necesitan depender demasiado de las APIs native (Interfaz de Programación de Aplicaciones).
  • Apps que se parecen y cumplen la misma función en plataformas diferentes

Esto resumiría todos los tipos de apps que funcionarían bien con React Native. Si tienes un requisito parecido, deja un mensaje o ponte en contacto con nosotros para una valoración rápida de una app de React Native.

Como inspiración, permíteme darte algunos ejemplos de apps populares hechas gracias a React Native. La app de mensajería de Facebook, la app de diagnóstico de coches de Tesla, la app de música Soundcloud. Peces gordos que lo tienen todo con una app React Native.

Antes de meternos de lleno en el terreno de React Native, deberíamos mirar la otra cara de la moneda. React Native es impresionante, pero existen algunas desventajas. En función de tu proyecto, podrías sufrir una enorme pérdida o un pequeño contratiempo. Aprende de Airbnb, uno de los mayores contribuidores en la comunidad React Native. Han cambiado su app a React Native. Muy recientemente, han anunciado que han acabado con React Native y que tienen fijado un desarrollo completamente native.

Lea la explicación de Airbnb sobre poner fin a React Native.

En relación a eso, al optar por React Native debes tener cuidado con algunos problemas:

Algunos baches en el camino de React Native

El problema de navegación de React Native

La transición entre pantallas no es lo suficientemente buena. Tienes que depender de librerías para lograr esa nítida e impecable sensación. Sin embargo, hay otras muchas librerías y APIs disponibles en la comunidad de programación GitHub para React Native, aunque es probable encontrarse con algún problema que requiera una solución a medida. Por ejemplo, en React Native no hay barra de navegación. Las ventanas emergentes son serializadas / deserializadas y el estado de navegación es native.

 

Módulos personalizados

Aconsejo echar un buen vistazo antes de dar el salto.

Al igual que el problema de navegación, React Native carece de un número de módulos. Es muy probable no tener ningún problema aquí también, pero si lo hay, tendrás que dar con tu propia solución. Por ejemplo, podrías sufrir problemas al trabajar con el sombreado. Para lograr el resultado deseado, deberías crear un módulo por ti mismo, una cosa que no todo el mundo es capaz de hacer.

Tiempo de entrenamiento

Hay muchos mitos que desmentir sobre React Native. Uno de ellos y que ya he mencionado anteriormente es que no puedes prescindir de los desarrolladores native. Muchas personas piensan que con React Native los desarrolladores ya no hacen ninguna falta. Eso no es cierto. Para trabajar de forma eficaz en React Native, necesitas tener conocimientos de las plataformas Android e iOS.

Necesitas conocer los flujos de trabajo y el funcionamiento de la tecnología subyacente cuando sustituyes los desarrolladores por React Native. Especialmente cuando surge un problema, facilitan la eliminación de errores y el seguimiento del mismo. Por eso, se han invertido una buena cantidad de recursos en el entrenamiento y la enseñanza del desarrollo de React Native.

Seguridad de tipos                  

Bueno, al ser JavaScript, ya sabes lo que eso significa. React Native se queda corto en seguridad, pero no es el final del camino. Puedes añadir seguridad de tipos usando Type script o Flow, pero eso supone un obstáculo más en el ciclo de aprendizaje, lo que supondría demasiado trabajo para algunos de nosotros.

Demasiada rapidez puede ser negativo

Un tweet de Max Howell lo resume elegantemente:

“React native es rápido, sin ninguna duda. Pero eso lleva a que muchos desarrolladores se embriaguen ante la potencia y que no tengan una sólida comprensión de los conceptos fundamentales. Esta visión da paso a muchísimos fallos tecnológicos más adelante. Esto supone un problema porque tanto la eliminación de errores como su seguimiento se vuelven extremadamente duros y se convierten en una pesadilla para el desarrollador.

Conclusión

Tomamos decisiones cada día. Cuántas de ellas son correctas, no lo puedo decir. Puedes superar algunas malas decisiones, como llevar puesta la camisa equivocada a la oficina. De otras no te recuperas, como ponerte la misma camisa fea en tu primera cita. Un buen tomador de decisiones tiene en cuenta tanto lo bueno como lo malo, pero sólo los mejores se ponen en contacto con expertos. Y casualmente CitrusBits se encuentra en la cima de las agencias de desarrollo de móviles, con veteranos experimentados de React Native. Nos encantaría ayudar en este asunto. Hazte en un instante con tu app de React Native en marcha y funcionando sin problemas poniéndote en contacto con nosotros o hablando con nuestros expertos en una consulta gratuita.

App with React NativeCustom Modules in React NativeIs React Native is Fastreact nativeReact Native AppsReact Native RoadReasons for React NativeType Safety with React Native