Para tener un buen comienzo con el desarrollo de nuestra aplicación móvil, es necesario instalar un IDE.
Un IDE, es un software llamado Entorno de Desarrollo Integrado que tiene incorporadas ciertas características que facilitan la tarea del programador, en nuestro caso la característica que nos interesa por el momento es la detección del lenguaje con el que vamos a programar.
Dentro de las múltiples ventajas que se tienen al utilizar un IDE, es el aprovechamiento del autocompletado, rellenado inteligente de código o generación de código automático, así como la corrección de la sintaxis, lo que nos va a permitir enfocar nuestros esfuerzos en la construcción de nuestra aplicación móvil.
El IDE que vamos a utilizar es SublimeText, sin embargo, puedes utilizar el que tu prefieras, lo importante es verificar que te permita trabajar con código JSX, que es lo que nos interesa para el uso de Javascript (JS) y los Componentes de React Native.
Para hacer que Sublime Text reconozca la sintaxis de React Native y aprovechemos el autocompletado de código y la corrección de la sintaxis, es necesario instalar a través del IDE el paquete react-native-snippets
.
Si te llega a surgir la pregunta del por qué no utilizamos un IDE más específico para desarrollar aplicaciones móviles, como Xcode o Android Studio. La razón es porque no vamos a desarrollar de manera nativa y por supuesto no aprovecharíamos al máximo las características que nos ofrecen, además de los recursos que estos IDEs pueden consumir en nuestra PC.
CONSIDERACIONES A TENER EN CUENTA PARA CREAR PROYECTOS REACT NATIVE CON EXPO
Existen dos formas de crear proyectos React Native con Expo.
FLUJO DE TRABAJO ADMINISTRADO (MANAGED WORKFLOW)
En este tipo de proyectos se considera escribir únicamente código Javascript y/o TypeScript, según lo que quieras utilizar para desarrollar. Todas las demás configuraciones a nivel nativo para Android e IOS específicamente, Expo las administra y las lleva a cabo.
Si bien podemos hacer mucho con Manage Workflow, también es cierto que dependiendo de su complejidad no podamos hacer todo con él, entonces, ¿Cuáles pueden ser nuestras limitaciones?
Una de las principales limitaciones se basan en tener que llevar a cabo algunas adecuaciones de manera nativa y esto quiere decir que nuestro proyecto se está volviendo complejo en cuestión de las funcionalidades que estamos desarrollando. Para esto, tendremos que convertir nuestro proyecto que está en modo Manage Workflow a un proyecto Bare Workflow y continuar desarrollando en él.
Con respecto a los tipos de proyectos que existen para Managed Workflow, la opción que vamos a utilizar es blank
, ya que es el que nos va a permitir trabajar con Javascript y además no tiene ejemplos incorporados, es decir, está listo para poder iniciar con nuestro proyecto.
La opción blank
(TypeScript), es igual que la opción blank
, solo que contiene una configuración adicional para que además de que podamos escribir con Javascript, también lo hagamos con TypeScript en caso de así requerirse.
La última opción, tabs
(TypeScript), es igual que la opción blank
(TypeScript), solo que contiene ejemplos escritos en Javascript y TypeScript que usan la librería react-navigation
y muestran el uso de la navegación entre pantallas de una aplicación móvil, que si no conocemos por lo menos un poco del tema, tal vez no lo entendamos.
FLUJO DE TRABAJO BÁSICO (BARE WORKFLOW)
Por el contrario, en este otro tipo de proyectos creados además de que nosotros tenemos el control total, nos tendremos que hacer cargo de las configuraciones y adecuaciones nativas para Android e IOS en caso de ser necesario. Sin embargo, no hay de qué preocuparse ya que esta modalidad de trabajo se suele utilizar cuando nuestros proyectos son de mayor complejidad y por supuesto cuando ya tenemos un conocimiento mucho más avanzado de estas herramientas.
En esta forma de trabajo, además de poder programar con Javascript y TypeScript será necesario que cuentes con conocimientos sólidos en Kotlin o Java para que puedas desarrollar de forma nativa para Android y Objective C o Swift para desarrollar de forma nativa para IOS, además de que también necesitarás otro tipo de IDE como Xcode y Android Studio.
Con respecto a los tipos de proyectos que existen para Bare Workflow, la única opción es minimal
, que no tiene ejemplos incorporados y está listo para comenzar a desarrollar nuestro proyecto con Javascript, sin embargo, con una configuración adicional podrás escribir con TypeScript.
En conclusión, se aconseja empezar a desarrollar un proyecto en modo Managed Workflow y convertirlo a modo Bare Workflow desde el momento en que nos encontremos con limitaciones. Sin embargo, si ya contamos con una planeación del proyecto, como debería de ser, y sabemos de antemano que la complejidad de nuestro desarrollo es alta, y que vamos a tener limitaciones con las herramientas de Expo y React Native, podemos iniciar con Bare Workflow.