Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Minicurso de React-Native
Search
Felipe Pontes
January 27, 2018
Programming
66
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Minicurso de React-Native
GDG Natal Meeting #12
Felipe Pontes
January 27, 2018
More Decks by Felipe Pontes
See All by Felipe Pontes
Minicurso de React-Native
felipemfp
0
140
Explorando dados com Pandas
felipemfp
1
140
Introdução ao React-Native
felipemfp
1
63
GeoGuide: Our stack, libraries and structure
felipemfp
0
57
Iniciando com Git e GitHub
felipemfp
0
76
Other Decks in Programming
See All in Programming
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
170
typoなんかねぇよ
raspython3
0
610
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
MySQLとPostgreSQLって何が違うの?
akagami
0
150
ソフトウェアラスタライザ
fadis
1
720
バグを直したら useEffect が消えた
colorful12
3
760
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
160
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
2
240
不幸な GC
chencmd
0
810
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Making the Leap to Tech Lead
cromwellryan
135
10k
The Curious Case for Waylosing
cassininazir
1
480
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Building an army of robots
kneath
306
46k
Documentation Writing (for coders)
carmenintech
77
5.5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
220
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Producing Creativity
orderedlist
PRO
348
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How to Talk to Developers About Accessibility
jct
2
530
Transcript
Minicurso de React-Native com @felipemfp e @chicobentojr
Agenda • Introdução ao React • Introdução ao React-Native •
Componentes Inclusos • Componentes Open-Source • Expo • Prática
Introdução ao React
Apenas uma biblioteca
Tudo são componentes
Componentes interativos, testáveis e reutilizáveis
Ciclo de vida simplificado
Ciclo de vida
Como escrevemos componentes em React? • Componentes são objetos •
render() e JSX
JSX
Como escrevemos componentes em React? • Possuem props e state
• Possuem métodos: ◦ setState() ◦ getInitialState() ◦ getDefaultProps() ◦ [...]
props
state
Componentes stateless
Como escrevemos componentes em React? • Dados fluem numa única
direção • Renderização conforme necessário (Virtual DOM)
Virtual DOM
Introdução ao React-Native
React-Native é React
Introdução ao React-Native • Componentes são renderizados como componentes nativos
• Os mesmos conceitos são utilizados para construir aplicações • Suporte oficial para iOS e Android • Suporte ainda para Universal Windows
Introdução ao React-Native • Ciclo de vida (props, state...) do
componentes são o mesmo • Continuamos usando JSX
CSS é um pouco diferente
Adicionando estilo aos componentes nativos • “CSS” como prop •
StyleSheet é quase CSS
StyleSheet
Construindo layout com React-Native • O mesmo Flexbox da web
• Com diferentes defaults: ◦ flexDirection: column ◦ alignItems: stretch
Componentes inclusos
Componentes inclusos • ActivityIndicator • Button • CheckBox • DatePickerIOS
• DrawerLayoutAndroid • FlatList • Image • KeyboardAvoidingView • ListView • MaskedViewIOS • Modal • NavigatorIOS • Picker • Picker.Item • PickerIOS • ProgressBarAndroid • ProgressViewIOS • RefreshControl • ScrollView • SectionList • SegmentedControlIOS • Slider • SnapshotViewIOS • StatusBar
Componentes inclusos • Switch • TabBarIOS • TabBarIOS.Item • Text
• TextInput • ToolbarAndroid • TouchableHighlight • TouchableNativeFeedback • TouchableOpacity • TouchableWithoutFeedback • View • ViewPagerAndroid • VirtualizedList • WebView
API inclusas • AccessibilityInfo • ActionSheetIOS • Alert • AlertIOS
• Animated • AnimatedValue • AnimatedValueXY • AppRegistry • AppState • AsyncStorage • BackAndroid • BackHandler • CameraRoll • Clipboard • DatePickerAndroid • Dimensions • Easing • Geolocation • ImageEditor • ImagePickerIOS • ImageStore • InteractionManager • Keyboard • LayoutAnimation
API inclusas • Linking • NetInfo • PanResponder • PermissionsAndroid
• PixelRatio • PushNotificationIOS • Settings • Share • StatusBarIOS • StyleSheet • Systrace • TimePickerAndroid • ToastAndroid • Vibration • VibrationIOS • Layout Props • Picker Style Props • Shadow Props
Componentes Open-Source http://www.awesome-react-native.com/
None
None
None
None
Expo
Expo é React-Native • Apenas JavaScript • Fácil prototipagem •
Rápido desenvolvimento
Expo para desenvolvedores e clientes
Prática github.com/cades-ifrn/minicurso-react-native-gdg-natal
Passo 0 - Iniciar o projeto • create-react-native-app pitaco-de-musica •
cd pitaco-de-musica Com npm: • npm install --save react-navigation axios • npm run start Com yarn: • yarn add react-navigation axios • yarn start
Passo 1 - Adicionar React-Navigation • Criar componente HomeScreen •
Utilizar componente StackNavigator
Passo 2 - Criar tela de início • Utilizar componente
Image • Utilizar componente ScrollView • Utilizar componente Button • Estilizar componentes
Passo 3 - Navegar entre telas • Criar componente SearchScreen
• Adicionar SearchScreen no navegador raiz • Adicionar evento para realizar navegação
Passo 4 - Pesquisar e Apresentar Resultados • Utilizar componente
FlatList • Criar componente Header • Criar componente Item • Carregar resultados
Passo 5 - Melhorar UI e utilizar APIs • Utilizar
Alert API • Criar componente ResultItem
Passo 6 - Adicionar exploração • Adicionar evento ao clicar
num resultado
Próximos passos
The Complete React Native and Redux Course https://goo.gl/2NYB6H
How to Become a React Native Developer in 2018 https://goo.gl/ggdZJE
Obrigado! Felipe Pontes Francisco Bento @felipemfp @chicobentojr