OpenWebinars

Frameworks

React Native: 6 Cosas que aprenderás nada más empezar

¿Tienes algunas dudas sobre si usar React Native en tu proyecto es lo más adecuado? Vamos a aclarar 6 de las dudas más habituales que se presentan antes de utilizar este framework.

Álvaro Jiménez Martín

Álvaro Jiménez Martín

Experto Full Stack

Lectura 3 minutos

Publicado el 21 de junio de 2019

Compartir

    Tabla de contenidos

¿Tienes algunas dudas sobre si usar React Native en tu proyecto es lo más adecuado? Vamos a aclarar 6 de las dudas más habituales que se presentan antes de utilizar este framework.

Aplicación nativa

Con React Native lo que se crea es una aplicación nativa, con todo lo bueno que eso conlleva y también lo malo.

Entre los aspectos positivos destacar que la aplicación va a tener una experiencia más nativa en cuanto a rendimiento, navegación de usuario y demás.

Algunos de los aspectos negativos que eso implica son:

  • Necesitaremos aprender cosas nuevas.
  • No tendremos la facilidad de trabajo que tenemos una web.
  • Deberemos configurar toda la aplicación nativa.
  • Tendremos que tener nuestro entorno de trabajo preparado para utilizar estas aplicaciones nativas con simuladores, con dispositivos reales y demás.
Aprende a desarrollar apps para iOS y Android
Comienza 15 días gratis en OpenWebinars y accede cursos, talleres y laboratorios prácticos de Swift y Kotlin para crear tus propias aplicaciones.
Comenzar gratis ahora

Utiliza JSX pero no HTML

Con React Native estamos utilizando JSX, que también usamos en React para generar componentes HTML, lo que nos puede llevar a dudar que sean componentes nativos.

Realmente no se generan componentes HTML, sino que se utiliza JSX en cuanto la sintaxis, pero no los mismos objetos o componentes. No vamos a obtener componentes HTML, sino que obtendremos diferentes componentes que tienen particularidades para funcionar con la parte nativa de cada sistema operativo.

Esto nos permite que este JSX se traduzca en elementos nativos para Android o para iOS o para la plataforma para la que se compile en React Native, proporcionando esta experiencia nativa, ya que no es un componente HTML sino un componente propio del sistema operativo.

JavaScript se ejecuta directamente sin transpilar a Java/ObjectiveC

De la misma forma que el HTML se convierte en elementos nativos, en React Native el código JavaScript se ejecuta de manera nativa en una máquina virtual dentro de cada uno de los sistemas operativos.

No se tiene un navegador corriendo JavaScript por debajo y que nos da la información, ni estamos convirtiendo ese código en otra parte, sino que vamos a utilizar JavaScript directamente.

Esto nos va a permitir el acceso a una multitud de librerías y herramientas enfocadas directamente en JavaScript, no tanto en la web sino en lo que es la lógica y el funcionamiento.

Tampoco utiliza CSS

CSS no se va a utilizar en React Native, no vamos a definir hojas de estilo como tal en CSS, sino que vamos a definir estilos mediante JavaScript. Se va a utilizar una nomenclatura muy similar en la cual, en lugar de separar los elementos con guiones se utiliza CamelCase.

No van a estar todas las propiedades disponibles, pero si una gran parte de ellas, con lo cual facilita la familiaridad o experiencia previa que podamos tener como desarrollador frontend o desarrollador de web.

Nos va a permitir definir bordes, colores, espacios, márgenes y paddings de la misma manera, y para posicionamiento vamos a utilizar Flexbox, que va a ser el único método disponible.

Todo esto va a hacer que resulte sencillo de utilizar, pero cualquier otra librería de preparada para CSS no va a ser compatible con el framework, a no ser que tenga un módulo o un port para hacerlo compatible y entienda las particularidades o la manera de funcionar que hay en React Native comparado con la web.

No es compatible con componentes de ReactJS, pero sí con librerías de JS

Al no tener HTML ni CSS, los componentes que ya tengamos creados para la web no van a ser compatibles para nuestra aplicación en React Native.

Todo lo que tengamos para la interfaz va a necesitar ser cambiado y escrito de otra forma para poder utilizar estos nuevos componentes y esta nueva forma de definir las cosas y utilizarlas. Si estos componentes solamente son parte de JavaScript, esas librerías sí que las podemos utilizar.

En resumen, podemos decir que cualquier cosa que interactúe con el DOM de nuestro navegador o con el CSS del mismo o lo defina, no va a ser compatible.

Sin embargo, cualquier librería puramente de JavaScript para el navegador que esté actuando, ya sea de lógica, de llamadas HTTP, etcétera, si se puede utilizar en nuestro código de React Native sin ningún camión y dificultad añadida.

Se pueden ejecutar librerías y código nativo desde React Native

Al generarse aplicaciones nativas, nos proporciona la opción de utilizar código nativo siempre que lo necesitemos.

Si hay algo que no está disponible, que no se puede hacer todo lo bien que querríamos o que ya tenemos programado con anterioridad en Java o en ObjectiveC, podemos incluir esa clase y utilizar esa parte de código nativo. Simplemente desde nuestra aplicación en React Native con JavaScript habrá un puente que los unirá y podremos llamar a esa funcionalidad específica de código nativo.

Incluso podemos tener una aplicación nativa ya existente en alguna de estas dos plataformas y crear un nuevo módulo que utilice ya React Native. Tal vez no sea la forma más recomendable o la más común de hacerlo, pero es una posibilidad que existe en el caso de que la queramos utilizar.

Aprende a realizar aplicaciones móviles con React Native desde 0 conociendo los componentes básicos de este framework.

Acelera tus desarrollos de software
Formaciones prácticas, avanzadas y actualizadas para que tu equipo domine las herramientas más relevantes para crear aplicaciones móviles en iOS y Android con Swift, Java y Kotlin.
Solicitar más información

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

React Native para principiantes

Principiante
5 h. y 13 min.

Aprender a realizar aplicaciones móviles con React Native desde 0 conociendo los componentes básicos de este framework.

Álvaro Jiménez Martín
4.2