"babysteps"
Tiempo de lectura: 20 minutos.
Público objetivo: Desarrolladores.
Nivel: Básico.
Meta: Realizar una pequeña aplicación y entender de manera básica el comportamiento de react native en conjunto con Expo .
Fecha publicación: 20 de Noviembre de 2017
React Native es un Framework Opensource enfocado al desarrollo móvil anunciado por Facebook en el año 2015, desde entonces la comunidad no ha parado de crecer, teniendo una fuerte actividad en github ( 56.000 stars, 531 Pull Request, 13.017 Forks hasta la fecha) mucho más que otras tecnologías para el desarrollo de aplicaciones móviles no nativas.
React Native abre la posibilidad de trabajar y compilar código de manera nativa, brindando la capacidad de tener un mejor performance outbox frente a otras soluciones tradicionales (Híbridas) como Ionic, phonegap, Xamarin, entre otras; las cuales trabajan bajo un modelo de Hybrid-Webapp.
En lo personal y bajo la experiencia de desarrollar pequeñas aplicaciones móviles tanto en código nativo e híbridas, he experimentado el suplicio de afrontar proyectos para plataformas como android o ios (el último con más odio...). A continuación nombraré dolores de cabeza genéricos:
Lo anterior NO DEBE ser algo que gaste nuestro tiempo y esfuerzo. Por suerte, React Native nos permite trabajar bajo ambientes mucho más factibles. He aquí algunas ventajas para no dar espera a usarlo:
Explicado de manera breve, expo, es un sdk escrito en react native, el cual posee caracteristicas predefinidas que permiten ahorrar tiempo en el proceso de codificación.
¿ Por qué no ?. Sí aún te preguntas, acá va un buen motivo:
* Expo permite testear aplicaciones de manera rápida (web, local), incluso editar tus aplicaciones desde la web.
* Expo posee funcionalidades ya construidas de las que podemos disponer en cualquier momento (te da tiempo para embriagarte los viernes en la noche).
* Generación de APK e IPA en la nube (así es, ya no necesitas tener mac para generar archivos IPA, disponer de una pc con buenas especificaciones técnicas o configurar ambientes de desarrollo para esto).
* Piensa sólo en javascript (un lenguaje, múltiples plataformas).
Ahora sí,
Nota: los siguientes comandos son ejecutados en ubuntu.
$ exp init hello-word
$ cd hello-word
$ exp start
Y ya está!, sí, muy impresionante, ¿ no ?. Ahora explicaremos, la estructura de proyecto creada:
Explicando app.js:
import React from 'react'
import { StyleSheet, Text, View } from 'react-native'
Imports: Importamos los componentes nativos necesarios para que nuestra app funcione.
<View style={styles.container}>
Podemos usar inline styles si lo desamos:
<View style={{flex:1, backgroundColor: 'red'}}>
<Text>Hi!! Que way :O!! </Text>
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Para ver información más concisa o revisar el código fuente de este artículo revisa mi repositorio!:
https://github.com/NoRoboto/react-native/tree/master/expo-hello-app/hello-word
Muchas gracias, pronto más updates!, hasta la próxima Geeks!.
Autor: Daniel Diaz Giraldo - Full stack developer, React Native Developer.
Cantante y empático colombiano. Ingeniero en Elemental Lab