Desenvolvendo
aplicativos nativos com
React Native
@luisfmsouz
Learn once,
write anywhere.
Luís
Felipe
Souza
@luisfmsouz
meetupdesigncampinas.com
developer at
O que é React Native?
O que não é React
Native?
Não é Híbrido!
RN vs Híbrido
● RN não usa WebView, a
renderização é nativa
● Performance do React
Native tende a ser melhor
● Os dois são open source e
tem um ecossistema bem
movimentado
Ionic, por exemplo
Não é transpiled!
JavaScript Native Code
RN vs Nativo
● Nativo não tem
portabilidade de código
● Desenvolvimento apenas
com linguagem nativa
● Nativo tem performance
um pouco melhor
Nativo iOS ou Android
Não é PWA!
RN vs PWA
● PWA não está na App ou
Play Store
● Ainda não tem acesso a
todas as APIs em todos as
plataformas
● Sem nenhum tipo de
linguagem nativa, usa API
do browser
PWA for the win!
O que é React Native?
React Native
● Teve início em Hackathon
em meados de 2013
● Em março de 2015 se
tornou open source
● 4º repositório com mais
estrelas no GitHub. +55k
● Facebook e Microsoft
RN for the win!
React Native is a framework developed by
Facebook, which allows you to build a
native mobile app written entirely in
JavaScript.
React Native is a framework developed by
Facebook, which allows you to build a
native mobile app written entirely in
JavaScript.
Sim, é nativo!
React Native is a framework developed by
Facebook, which allows you to build a
native mobile app written entirely in
JavaScript.
"ah, JavaScript?"
JavaScript
Learn once,
write anywhere.
Como isso é possível?
Arquitetura do
React Native
UI Thread
● Shadow Queue
● Layout
Main Thread
● Objective-C
● Swift
● Java
JS Thread
● JS Core
Native Code
JavaScript Runtime
Environment
React
Native
iOS or Android Operating System
Bridge
Native Code
JavaScript Runtime
Environment
React Native
Button
iOS or Android Operating System
Bridge
Native Button
React Native
TextInput
Native
TextInput
Multiplataforma
Android
ReactNative
iOS
~85% de compartilhamento de
código
Como é o código?
http://slides.com/lnfnunes/react-native#/17
sem CSS
http://slides.com/lnfnunes/react-native#/19
sem HTML
http://slides.com/lnfnunes/react-native#/18
React Native é uma maneira de
renderizar componentes nativos
escritos em JavaScript
Experiência de
desenvolvimento
Praticidade
Debugging
Redux
(avançado)
Devo usar React
Native?
Devo usar?
● Tempo limitado
● Precisa desenvolver para
Android e iOS
● O time não tem muita
experiência mobile
● Time com experiência web!
● Tempo ilimitado
● Desenvolver só para
Android
● Desenvolver só para iOS
● Time com experiência
mobile
Devo usar?
Devo usar React
Native?
Sim! Dê uma chance
ao React Native!
React Native, 2
Created by Facebook
There’s nothing to fear
about React Native!
Obrigado!
Dojo de React Native
Dúvidas?
twitter.com/@magnetisbkstage
medium.com/magnetis-backstage
https://medium.com/magnetis-backstage/5-things-that-youll-learn-when-you-start-to-use-react-native-1ed601e6eac
Links interessantes
● https://medium.com/magnetis-backstage/5-things-that-youll-learn-w
hen-you-start-to-use-react-native-1ed601e6eac
● https://www.logicroom.co/react-native-architecture-explained/
● https://julyrapid.com/hybrid-vs-native-mobile-app-decide-5-minutes/

Desenvolvendo aplicativos nativos com React Native