-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Gaia hours | ||
MVP de app para cargar horas de Gaia, usado para dar una intro a React Native | ||
|
||
## Tools | ||
* React native | ||
* React navigation | ||
* React context | ||
* Expo | ||
|
||
## Que necesito saber para desarrollar React native si vengo de ReactJS? | ||
* No estás en un browser, por lo tanto no podes hacer uso de las herramientas que te da uno, no tenes CSS, sino un StyleSheet de React native, que mediante una api "CSS-like" te permite definir los estilos de tu app. | ||
* No hay devtools integradas, tenemos el debugger de React native que nos provee expo en el cual podemos ver algunas cosas, como la consola. También podemos instalar el `React native debugger` que nos va a permitir inspeccionar algunas cosas mas (como network, redux, etc). | ||
* No estás en un browser (devuelta), no hay HTML, no hay divs. Hay componentes que nos provee React native como reemplazo de los que usamos habitualmente, `View` en vez de div, envolvemos los textos sueltos con `Text` y más cosas que vas a aprender mientras te vayas metiendo. | ||
* Estás en un celular. Algunos eventos cambian, onClick es onPress, no necesitamos media queries, todo esta en display flex por defecto y más cosas con las que vas a putear seguramente. | ||
|
||
## Qué es Expo? | ||
Expo es un framework y plataforma para desarrollar aplicaciones React universales. Es un conjunto de herramientas y servicios creados en torno a React Native y plataformas nativas que nos ayudan a desarrollar, construir, implementar e iterar rápidamente en iOS, Android y aplicaciones web con el mismo código JavaScript / TypeScript. | ||
|
||
## Por que Expo? | ||
Simplicidad, mientras que usando la CLI de React native nos permite codear e integrar modulos nativos en Java, Android, Objective-C, Swift. Usar Expo nos permite poder llegar a todas las plataformas (iOS, Android y Web) con solo un source code, probarlo y distribuirlo fácilmente mediante las apps mobile de Expo, herramientas y componentes ya integrados en Expo y más. | ||
|
||
## Branches | ||
`step-0` - MVP | ||
`step-1` - React navigation | ||
`master` - React navigation + Context | ||
|
||
## TODO | ||
Aparentemente en master cuando cargamos horas no se ven reflejadas en nuestro dashboard, posiblemente por que react navigation no desmonta las vistas on leave, por lo tanto no se refetchean las horas luego de cargarlas, una posible solucion seria crear un context para `hours` y actualizarlo despues de registrar horas nuevas | ||
|
||
## Disclaimer | ||
No soy un dev mobile ni React native, no lo usé en muchas oportunidades pero me encontré con los problemas que se encuentra alguien que viene del mundo web a la hora de usarlo, suficiente como para introducir a alguien en las bases del mismo. |