SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Como aproveitar a stack completa do
“Create React Native App” usando Redux
React Native - Testável e organizado
Dev IoT, Web Fullstack (mais front-end), Mobile
André Antunes Vieira
Mais de 300.000 aulas/dia
Média de 4 aulas/s
Um pouco de história
01
- Técnico em eletrônica / Engenharia elétrica
Um pouco sobre mim
mesalva.com
Como fui parar na WEB
- Web - Fullstack
- IoT - Robôs + P&D
- Tentativa mobile
- Crescimento Me Salva! + Especialização front-end
01 O mundo encantado do JavaScript
mesalva.com
O mundo encantado do JavaScript
01
- Tentativa mobile 2
Um pouco sobre mim
mesalva.com
Como fui parar na WEB
- Redescoberta do React e do React Native
- De volta ao front
01 Um pouco sobre mim
mesalva.com
Como fui parar na WEB
01
- Porque redescoberta?
Um pouco sobre mim
mesalva.com
Como fui parar na WEB
- História do front-end
02
- Sites baseados em SERVER SIDE ONLY
WEB até os anos 2000
mesalva.com
WEB da idade das pedras
- Javascript era o patinho feio
- Quase nada rolava em Client Side
- Era lento
- Incompatível
- Não confiável (Single Thread)
02
- A lentidão já não era mais tão grande
2000 - 2010
mesalva.com
Javascript = comportamento
- Surgiram bibliotecas (muitas)
- Se confiava o suficiente para deixar o JS cuidar do “comportamento”
- jQuery
- Se brincava com AJAX
03
- AJAX > Reload
2005-2013
mesalva.com
WEB Applications
- Agora client gerenciava:
- Maior complexidade
- Router
- Requests (API)
- Comportamento
- Backbone, Ember, Angular JS ( 1 )
04
- Cultura de reusabilidade
2013 - 2015
mesalva.com
WEB Components
- Virtual DOM
- Componentização
- NodeJS, React, Angular, VueJS, CycleJS...
- Javascript em todas as áreas
- Ambiente de desenvolvimento Front-end
- Atomic Design
- Programação reativa
05
- Mais Smartphones, menos PCs
2015 - Hoje
mesalva.com
Mundo virando Mobile First
- Reusabilidade
- Componentização
- Multiplataforma
- Atomic Design
- Programação reativa
- Flexbox
06
- HTML5 (Cordova)
Tecnologias Multi-plataforma
mesalva.com
Lado bom e ruim
- Compilados (Xamarim)
- Ideia boa, execução terrível
- Coda em uma linguagem, gera 2
- Interpretados (React Native)
- Processa JS em tempo real dentro do APP
07
- NodeJS
Ambiente de desenvolvimento
mesalva.com
Todo desenvolvedor deve ter um
- Yarn
- Bibliotecas!
Composer
Bundle
Cocoapods
...
08 Preciso saber tudo isso?
mesalva.com
Sim e não
Criando um APP do Zero
01
- react-native-cli
Por onde eu começo?
mesalva.com
Por algum gerador de stack completo
- expo
- create-react-native-app
02
- Instalar NodeJs
Preparando seu computador
mesalva.com
Acredite, funciona até no Windows
- Instalar create-react-native-app
- npm install -g create-react-native-app
- macOS: brew install node
- linux: sudo apt-get install node
- windows: http://nodejs.org
03
- É só rodar o comando
Criando um projeto
mesalva.com
Não tem como ser mais fácil
- create-react-native-app {nome-do-app}
- Vai instalar:
- Expo (Simulador + servidor local + bibliotecas expo)
- Jest (Testes unitários + coverage)
- Gerador de build
- Simulador iOS e Android interligado as IDEs
- Babel (Traspilador javascript)
Construindo um APP simples
01 Tá criei o projeto, e agora?
mesalva.com
É, naquela tela preta
mesalva.com
02 Ta e nas pastas
mesalva.com
O que vem na pasta?
03 Já dá pra ver algo funcionando?
mesalva.com
Claro que dá!
- npm start
- Roda um servidor expo local
- npm run ios (só no mac)
- Roda um servidor expo local e abre o simulador do Xcode
já no expo
- npm run android (qualquer pc com android studio instalado)
- Roda um servidor expo local e abre o simulador do
Android já no expo
04 npm start
mesalva.com
Só isso?
- npm start
04 npm start
mesalva.com
Só isso?
04 npm start
mesalva.com
Só isso?
05 npm run ios
mesalva.com
Só isso, mesmo?
- npm run ios
- Apenas em macOS
05
mesalva.com
Olá mundo
01 Live coding: Olá mundo
mesalva.com
Pelo menos um olá mundo não deve ser complicado
02 E a estilização
mesalva.com
Tipo um CSS
03 O que são flexbox
mesalva.com
O encantado mundo das flexbox
- Organização entre elementos pais e elementos filhos
- https://medium.freecodecamp.com/an-animated-guide-to-flexbox-d280cf6afc35
- http://flexboxfroggy.com
- https://codepen.io/osublake/full/dMLQJr
04 E os tais componentes?
mesalva.com
Como reutilizar código
- Forma de agrupar muito código num único lugar
- Recebem e exportam propriedades (parâmetros e funções)
- Trabalham com o conceito de “estado”
Organização e testes
01 Separação de código
mesalva.com
Pq tudo junto e misturado é bagunça
02 Qual a melhor forma de separar?
mesalva.com
Cada um tem a sua
- Organização por estrutura
- Organização por responsabilidade
03 E os testes?
mesalva.com
Testo na mão, não dá nada, e confiável...
- npm test
03 E os testes?
mesalva.com
Testo na mão, não dá nada, e confiável...
03 Testando snapshots
mesalva.com
O que, testar view? Sério?
- npm test
03 Testando snapshots
mesalva.com
Testo na mão, não dá nada, e confiável...
- npm test
03 Testando snapshots
mesalva.com
Testo na mão, não dá nada, e confiável...
- npm test
04 Tem cobertura de código?
mesalva.com
Claro que tem
- npm test -- --coverage
04 Tem cobertura de código?
mesalva.com
Claro que tem
- npm test -- --coverage
04 Tem cobertura de código?
mesalva.com
Claro que tem
- npm test -- --coverage
05 Quero publicar, como
faz?
mesalva.com
- npm run eject
- Vai transformar o projeto em um projeto:
- react-native-cli
ou
- expo
05 Quero publicar, como
faz?
mesalva.com
- npm run eject
André Antunes Vieira
github.com/AndreAntunesVieira
andreantunesv@gmail.com

Mais conteúdo relacionado

Mais procurados

JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
 
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsersGustavo Bellini Bigardi
 
O que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensO que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensRodrigo Matheus
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasDan Vitoriano
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015Kaio Valente
 
Ampliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitAmpliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitBeto Muniz
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
BrazilJS - Node.JS Realtime Web Applications
BrazilJS - Node.JS Realtime Web ApplicationsBrazilJS - Node.JS Realtime Web Applications
BrazilJS - Node.JS Realtime Web ApplicationsEmerson Macedo
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 

Mais procurados (19)

JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
.NET Conf 2018 - Campinas - Blazor: Utilizando C# em browsers
 
O que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensO que é nodejs, cases e vantagens
O que é nodejs, cases e vantagens
 
Node js
Node jsNode js
Node js
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps Modernas
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015
 
Ampliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitAmpliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-Webkit
 
Lab
LabLab
Lab
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Html5
Html5Html5
Html5
 
BrazilJS - Node.JS Realtime Web Applications
BrazilJS - Node.JS Realtime Web ApplicationsBrazilJS - Node.JS Realtime Web Applications
BrazilJS - Node.JS Realtime Web Applications
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 

Semelhante a Como usar a stack completa do Create React Native App com Redux

ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkVitor Silva
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de TerrorPaulo Pires
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!Vinicius Mussak
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Digital Day BH - 19/09/205 - CI&T
Digital Day BH - 19/09/205 - CI&TDigital Day BH - 19/09/205 - CI&T
Digital Day BH - 19/09/205 - CI&TAndré Paulovich
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida realCriciúma Dev
 
TDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhereTDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywheretdc-globalcode
 
435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdfJulia469065
 

Semelhante a Como usar a stack completa do Create React Native App com Redux (20)

React nos Trilhos
React nos TrilhosReact nos Trilhos
React nos Trilhos
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A Framework
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Digital Day BH - 19/09/205 - CI&T
Digital Day BH - 19/09/205 - CI&TDigital Day BH - 19/09/205 - CI&T
Digital Day BH - 19/09/205 - CI&T
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
 
TDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhereTDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhere
 
435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf
 

Como usar a stack completa do Create React Native App com Redux

  • 1. Como aproveitar a stack completa do “Create React Native App” usando Redux React Native - Testável e organizado
  • 2. Dev IoT, Web Fullstack (mais front-end), Mobile André Antunes Vieira
  • 3. Mais de 300.000 aulas/dia Média de 4 aulas/s
  • 4. Um pouco de história
  • 5. 01 - Técnico em eletrônica / Engenharia elétrica Um pouco sobre mim mesalva.com Como fui parar na WEB - Web - Fullstack - IoT - Robôs + P&D - Tentativa mobile - Crescimento Me Salva! + Especialização front-end
  • 6. 01 O mundo encantado do JavaScript mesalva.com O mundo encantado do JavaScript
  • 7. 01 - Tentativa mobile 2 Um pouco sobre mim mesalva.com Como fui parar na WEB - Redescoberta do React e do React Native - De volta ao front
  • 8. 01 Um pouco sobre mim mesalva.com Como fui parar na WEB
  • 9. 01 - Porque redescoberta? Um pouco sobre mim mesalva.com Como fui parar na WEB - História do front-end
  • 10. 02 - Sites baseados em SERVER SIDE ONLY WEB até os anos 2000 mesalva.com WEB da idade das pedras - Javascript era o patinho feio - Quase nada rolava em Client Side - Era lento - Incompatível - Não confiável (Single Thread)
  • 11. 02 - A lentidão já não era mais tão grande 2000 - 2010 mesalva.com Javascript = comportamento - Surgiram bibliotecas (muitas) - Se confiava o suficiente para deixar o JS cuidar do “comportamento” - jQuery - Se brincava com AJAX
  • 12. 03 - AJAX > Reload 2005-2013 mesalva.com WEB Applications - Agora client gerenciava: - Maior complexidade - Router - Requests (API) - Comportamento - Backbone, Ember, Angular JS ( 1 )
  • 13. 04 - Cultura de reusabilidade 2013 - 2015 mesalva.com WEB Components - Virtual DOM - Componentização - NodeJS, React, Angular, VueJS, CycleJS... - Javascript em todas as áreas - Ambiente de desenvolvimento Front-end - Atomic Design - Programação reativa
  • 14. 05 - Mais Smartphones, menos PCs 2015 - Hoje mesalva.com Mundo virando Mobile First - Reusabilidade - Componentização - Multiplataforma - Atomic Design - Programação reativa - Flexbox
  • 15. 06 - HTML5 (Cordova) Tecnologias Multi-plataforma mesalva.com Lado bom e ruim - Compilados (Xamarim) - Ideia boa, execução terrível - Coda em uma linguagem, gera 2 - Interpretados (React Native) - Processa JS em tempo real dentro do APP
  • 16. 07 - NodeJS Ambiente de desenvolvimento mesalva.com Todo desenvolvedor deve ter um - Yarn - Bibliotecas! Composer Bundle Cocoapods ...
  • 17. 08 Preciso saber tudo isso? mesalva.com Sim e não
  • 18. Criando um APP do Zero
  • 19. 01 - react-native-cli Por onde eu começo? mesalva.com Por algum gerador de stack completo - expo - create-react-native-app
  • 20. 02 - Instalar NodeJs Preparando seu computador mesalva.com Acredite, funciona até no Windows - Instalar create-react-native-app - npm install -g create-react-native-app - macOS: brew install node - linux: sudo apt-get install node - windows: http://nodejs.org
  • 21. 03 - É só rodar o comando Criando um projeto mesalva.com Não tem como ser mais fácil - create-react-native-app {nome-do-app} - Vai instalar: - Expo (Simulador + servidor local + bibliotecas expo) - Jest (Testes unitários + coverage) - Gerador de build - Simulador iOS e Android interligado as IDEs - Babel (Traspilador javascript)
  • 23. 01 Tá criei o projeto, e agora? mesalva.com É, naquela tela preta
  • 25. 02 Ta e nas pastas mesalva.com O que vem na pasta?
  • 26. 03 Já dá pra ver algo funcionando? mesalva.com Claro que dá! - npm start - Roda um servidor expo local - npm run ios (só no mac) - Roda um servidor expo local e abre o simulador do Xcode já no expo - npm run android (qualquer pc com android studio instalado) - Roda um servidor expo local e abre o simulador do Android já no expo
  • 27. 04 npm start mesalva.com Só isso? - npm start
  • 30. 05 npm run ios mesalva.com Só isso, mesmo? - npm run ios - Apenas em macOS
  • 33. 01 Live coding: Olá mundo mesalva.com Pelo menos um olá mundo não deve ser complicado
  • 34. 02 E a estilização mesalva.com Tipo um CSS
  • 35. 03 O que são flexbox mesalva.com O encantado mundo das flexbox - Organização entre elementos pais e elementos filhos - https://medium.freecodecamp.com/an-animated-guide-to-flexbox-d280cf6afc35 - http://flexboxfroggy.com - https://codepen.io/osublake/full/dMLQJr
  • 36. 04 E os tais componentes? mesalva.com Como reutilizar código - Forma de agrupar muito código num único lugar - Recebem e exportam propriedades (parâmetros e funções) - Trabalham com o conceito de “estado”
  • 38. 01 Separação de código mesalva.com Pq tudo junto e misturado é bagunça
  • 39. 02 Qual a melhor forma de separar? mesalva.com Cada um tem a sua - Organização por estrutura - Organização por responsabilidade
  • 40. 03 E os testes? mesalva.com Testo na mão, não dá nada, e confiável... - npm test
  • 41. 03 E os testes? mesalva.com Testo na mão, não dá nada, e confiável...
  • 42. 03 Testando snapshots mesalva.com O que, testar view? Sério? - npm test
  • 43. 03 Testando snapshots mesalva.com Testo na mão, não dá nada, e confiável... - npm test
  • 44. 03 Testando snapshots mesalva.com Testo na mão, não dá nada, e confiável... - npm test
  • 45. 04 Tem cobertura de código? mesalva.com Claro que tem - npm test -- --coverage
  • 46. 04 Tem cobertura de código? mesalva.com Claro que tem - npm test -- --coverage
  • 47. 04 Tem cobertura de código? mesalva.com Claro que tem - npm test -- --coverage
  • 48. 05 Quero publicar, como faz? mesalva.com - npm run eject - Vai transformar o projeto em um projeto: - react-native-cli ou - expo
  • 49. 05 Quero publicar, como faz? mesalva.com - npm run eject