Articles

Crea tu Primera aplicación Android de React Native

React Native es un marco de aplicaciones móviles de código abierto creado por Facebook. Puede usarlo para desarrollar aplicaciones para dispositivos Android e iOS con una sola base de código. Facebook instaura algunas de las aplicaciones más populares del mundo, como Instagram y Facebook, y en este post te mostraré cómo crear tu primera aplicación React Native para Android.

Ejemplo de código nativo de React

El código nativo de React para una pantalla de aplicación móvil típica se ve así:

import * as React from 'react';import {Text, View, Stylesheet} from 'react-native';const ExampleScreen = (props) { return ( <View style = {styles.containerStyling}> <Text style = {styles.textStyling}> Hello world!</Text> </View> );}const styles = Stylesheet.create({ containerStyling:{ background: '#0000FF' }, textStyling :{ marginBottom :20, color:'#FFF' }});export default ExampleScreen

Si miras de cerca, verás que React Native usa una combinación de JavaScript, marcado similar a HTML y CSS. Este fragmento de código define una pantalla con una visualización de texto y estilo.

Entornos de desarrollo de React Native: Expo vs. CLI de React Native

Hay dos formas de crear una aplicación de React Native:

  1. CLI de Expo
  2. CLI de React Native

A continuación hablaré sobre los pros y los contras de cada uno.

Expo CLI

Expo es un marco de código abierto y una plataforma para aplicaciones React universales que proporciona un flujo de trabajo de desarrollo de aplicaciones gestionado. Es un conjunto de herramientas y servicios creados en torno a plataformas nativas y React que ayudan a desarrollar, crear, implementar e iterar rápidamente en aplicaciones wEB, iOS y Android desde la misma base de código JavaScript o TypeScript.

Expo elimina todas las complejidades asociadas con la creación de aplicaciones nativas de React. Algunas de las características de la Expo CLI incluyen:

  • API universales que proporcionan acceso a funciones como cámara, mapas, notificaciones, sensores, hápticos y mucho más.
  • Un servicio de compilación basado en la nube que le proporciona binarios listos para la tienda de aplicaciones y gestiona certificados.
  • Actualizaciones por aire que le permiten actualizar su aplicación en cualquier momento sin la molestia y los retrasos de enviar a la tienda.

CLI de React Native

La CLI de React Native es un entorno de desarrollo más básico y básico. Lo bueno es que permite crear binarios de aplicaciones en su propia máquina, sin depender de un servicio en la nube. Por otro lado, la configuración es mucho más complicada: para crear aplicaciones para Android, deberá instalar Android Studio y configurar muchas funciones antes de comenzar. Este proceso puede ser un poco complejo, pero el entorno de CLI nativo de React es más adecuado para desarrolladores de aplicaciones profesionales.

Para este tutorial, usaremos Expo, ya que es la forma más fácil de comenzar a crear aplicaciones nativas de React.

Cómo funciona Expo

Expo

Para usar Expo, primero debe instalar la aplicación Cliente Expo, que está disponible en Play Store (también hay una versión disponible en iOS App Store). La aplicación Cliente Expo le permitirá ejecutar la aplicación con fines de prueba en tiempo real.

Puede codificar su aplicación React Native en su propio ordenador con su editor de texto de programación favorito y, a continuación, usar la interfaz de línea de comandos de Expo para probar o publicar su aplicación. Entre bastidores, Expo empaquetará tu código nativo de React y lo pondrá a disposición de la aplicación Cliente Expo en tu dispositivo. También puede usar la interfaz de línea de comandos de Expo para publicar su aplicación y ponerla a disposición de cualquier persona con el Cliente de Expo, o para crear una versión independiente de su aplicación que se pueda cargar en la tienda de aplicaciones y ejecutarse sin instalar el Cliente de Expo.

Crear una aplicación Con Expo

En este tutorial, usaremos la interfaz de línea de comandos de Expo para crear nuestra aplicación.

Requisitos previos

Para crear una aplicación React Native con Expo, debe cumplir con lo siguiente: Nodo

  • .js versión 12 LTS o superior y Git en su ordenador
  • un dispositivo Android con piruleta (Android 5) o superior
  • la aplicación cliente Expo instalada en su dispositivo Android (descargue el cliente Expo para Android desde Play Store)
  • una comprensión básica de ReactJS o JavaScript

Además, tenga en cuenta que su ordenador de desarrollo y su teléfono deben estar conectados a la misma red inalámbrica.

Nodo de descarga.js

Visita el nodo.sitio web de js y descargue la última versión de Node. Node está disponible para sistemas operativos Windows, macOS y Linux. Simplemente elija su sistema operativo e instálelo de acuerdo con las instrucciones disponibles en el sitio.

Para comprobar si el Nodo.js está instalado, abra una ventana de terminal y escriba:

node -v

Este comando mostrará la versión del nodo instalada.

Instalar Cliente Expo

Después de instalar el nodo, también deberá instalar el cliente CLI de Expo. Simplemente ejecute el siguiente comando:

 npm install expo-cli --global

Para usuarios de macOS y Linux, asegúrese de usar sudo.

sudo npm install expo-cli --global

Ignore las advertencias o errores que se produzcan durante el proceso de instalación de la interfaz de línea de comandos de Expo. Después de una instalación exitosa, debería ver el mensaje a continuación.

instalar expo

Crear una Aplicación de Lista de tareas con React Native

Crearemos una aplicación de lista de tareas simples que le permite ingresar una lista de tareas que necesita realizar y las muestra en la pantalla.

Crear un nuevo proyecto Con Expo

Para comenzar, ejecute el siguiente comando de la interfaz de línea de comandos de Expo para crear un nuevo proyecto:

expo init tasklist
tasklist es el nombre del proyecto. Se le pedirá que elija una plantilla para su proyecto. Por ahora, elija la plantilla en blanco, que le proporciona dependencias mínimas.

El comandoexpo init crea una carpeta de proyecto e instala todas las dependencias requeridas por la aplicación React Native.

expo init tasklist-app? Choose a template: expo-template-blank📦 Using npm to install packages. You can pass --yarn to use Yarn instead.✔ Downloaded and extracted project files.✔ Installed JavaScript dependencies.✅ Your project is ready!To run your project, navigate to the directory and run one of the following npm commands.- cd tasklist-app- npm start # you can open iOS, Android, or web from here, or run them directly with the commands below.- npm run android- npm run ios # requires an iOS device or macOS for access to an iOS simulator- npm run web

Vaya a la carpeta del proyecto y ejecute el siguiente comando:

cd tasklist-appnpm start
Expo dev tools inicio
npm start iniciará la Expo dev tools y abrir una nueva pestaña en el navegador, que se parece a esto:

Metro Bundler

Esta ventana le permite ejecutar la aplicación en un simulador o un dispositivo conectado.

Conecte un dispositivo

Ahora, abra la aplicación cliente Expo en su dispositivo Android físico y seleccione la opción Escanear código QR, como se muestra a continuación.

expo app

A continuación, vuelva a la ventana de desarrollo de Expo, escanee el código de barras y espere a que se complete el proceso de compilación del paquete JavaScript. Esto suele tardar un par de minutos. Cuando se complete el proceso, ¡la aplicación debería estar ejecutándose en su teléfono!

Estructura del proyecto

Ahora que su entorno de desarrollo está listo, puede editar el código del proyecto utilizando su editor de código preferido. La carpeta del proyecto se ve algo como esto:

carpeta de proyecto
  • activos: contiene las imágenes de la aplicación
  • node_modules: contiene todas las dependencias para el proyecto
  • Aplicación.js: contiene el código que representa la interfaz de usuario y es una aplicación de archivo esencial

.js está abierto en la imagen anterior. Echemos un vistazo más de cerca. Primero, importamos React de react. Nosotros, a continuación, importar el Text y View componentes de react-native. También importamos Stylesheet , lo que ayuda con el estilo.

Reaccionar Nativo que viene con construido-en componentes tales como <Text> y <View> como se opuso a la norma componentes HTML, como <div> y <p>. El componente <View> es el componente más fundamental de React Native y se utiliza para agrupar otros componentes secundarios, como <div> en HTML. El componente <Text> se utiliza para mostrar contenido de texto en la pantalla, como <p> en HTML.

En la versión repetitiva de la aplicación.js que crea Expo, hay una vista simple con un componente de texto y una barra de estado. Esta vista se devuelve desde la función App(). La constante styles contiene algunos CSS básicos para dar estilo a la vista.

A continuación, ¡agreguemos algunos componentes y estilos nuevos a la aplicación!

Crear la interfaz de usuario de la aplicación

Abrir la aplicación.archivo js e introduzca el siguiente código.

import { StatusBar } from 'expo-status-bar';import React , {useState} from 'react';import { StyleSheet, Text, View, TextInput, Button } from 'react-native';export default function App() { return ( <View style= {styles.container}> <View style = {styles.inputContainer}> <TextInput placeholder = "Task List" style = {styles.input} /> <Button title = "+"/> </View> </View> );}const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', alignItems: 'center', justifyContent: 'center', }, input :{ borderColor:"black", borderWidth:1 , padding :20, }, inputContainer :{ flexDirection :'row', justifyContent :'space-between', alignContent:'center', bottom:20 },});

El código anterior agrega una entrada de texto simple y un botón para agregar nuevas tareas. Utilizamos estilos CSS flexbox para posicionar los componentes uno junto al otro.

Agregar Manejo de Eventos

Para obtener la entrada del usuario, lo primero que importar el useState() función de react y utilizarla para actualizar el estado de la etiqueta newTask() y setnewTask() funciones. Dado que el usuario aún no ha escrito nada, el estado inicial estará vacío. Agregue el código siguiente a la parte superior de la etiqueta App() función, justo arriba de return:

const = useState('');

a continuación definimos el taskInputHandler, que escuche el cambio en la entrada y actualiza el contenido de la etiqueta setNewTask() función. Agregue estas líneas a la función App() a continuación:

 const taskInputHandler = (enteredText) => { setNewTask(enteredText); };

Ahora registramos este controlador de entrada con el componente TextInput. Actualice su componente TextInput para que se vea como se muestra a continuación.

 <TextInput placeholder = "Task List" style = {styles.input} onChangeText = {taskInputHandler} value = {newTask} />

Ahora tenemos que manejar las pulsaciones de botones. Cuando el usuario presiona el botón+, queremos agregar la nueva tarea a una lista.

Primero, definiremos nuestro estado para la lista de tareas:

 const = useState();

A continuación, definimos una función addTaskHandler para agregar la nueva tarea (que se encuentra en el estado newTask) a la lista.

 const addTaskHandler = () =>{ appTask(currentTask => ); console.log(newTask); };

Y registre ese controlador de eventos con el componente <Button> :

 <Button title = "+" onPress = {addTaskHandler} />

Finalmente, agregaremos una nueva vista para mostrar todas las tareas de la lista que hemos creado. Esto va justo después de la vista de contenedor de entrada, pero aún dentro de la vista de contenedor principal.

 <View> {appTasks.map((task) => <Text>{task}</Text>)} </View>

Código fuente completo para la aplicación.js

El código completo de la aplicación.js se muestra a continuación. Compáralo con lo que tienes.

 import { StatusBar } from 'expo-status-bar';import React , {useState} from 'react';import { StyleSheet, Text, View, TextInput, Button } from 'react-native';export default function App() { const = useState(''); const = useState(); const taskInputHandler = (enteredText) => { setnewTask(enteredText); }; const addTaskHandler = () =>{ appTask(currentTask => ); console.log(newTask); }; return ( <View style= {styles.container}> <View style = {styles.inputContainer}> <TextInput placeholder = "Task List" style = {styles.input} onChangeText = {taskInputHandler} value = {newTask} /> <Button title = "+" onPress = {addTaskHandler} /> </View> <View> {appTasks.map((task) => <Text>{task}</Text>)} </View> </View> );}const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', alignItems: 'center', justifyContent: 'center', }, input :{ borderColor:"black", borderWidth:1 , padding :20, }, inputContainer :{ flexDirection :'row', justifyContent :'space-between', alignContent:'center, bottom:20 },});

Conclusión

En este tutorial, aprendiste a crear una aplicación nativa de React con Expo.

React Native es un excelente marco y una plataforma popular tanto para desarrolladores como para empresas. Las aplicaciones creadas con React Native están garantizadas para funcionar sin problemas en cualquier plataforma o sistema. React Native también ahorra trabajo de desarrollo al permitirle codificar su aplicación una vez y ejecutarla en cualquier plataforma móvil.

Plantillas de aplicaciones móviles Premium De CodeCanyon

CodeCanyon es un mercado en línea que tiene cientos de plantillas de aplicaciones móviles para Android, iOS, React Native e Ionic. Puede ahorrar días, incluso meses, de esfuerzo al usar uno de ellos.

Ya sea que estés empezando con React Native o que seas un desarrollador experimentado, una plantilla de aplicación React Native es una excelente manera de ahorrar tiempo y esfuerzo en tu próximo proyecto de aplicación.

Plantilla de aplicación móvil CodeCanyon bestsellers

Si tiene problemas para decidir qué plantilla de CodeCanyon es la adecuada para usted, estos artículos deberían ayudarle:

  • Mobile App
    21+ Best React Native App Templates of 2021 (Including 5 Free)
    Franc Lucas
  • Ionic
    15 Stunning Ionic App Templates and Ionic Themes
    Franc Lucas
  • React
    9 React Native App Templates for You to Study and Use
    Franc Lucas