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
62
GeoGuide: Our stack, libraries and structure
felipemfp
0
52
Iniciando com Git e GitHub
felipemfp
0
75
Other Decks in Programming
See All in Programming
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
210
FDEが実現するAI駆動経営の現在地
gonta
2
270
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
150
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
250
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
590
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
Go 1.27 における memory allocation の高速化
andpad
0
120
Featured
See All Featured
A better future with KSS
kneath
240
18k
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
エンジニアに許された特別な時間の終わり
watany
108
250k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Are puppies a ranking factor?
jonoalderson
1
3.8k
RailsConf 2023
tenderlove
30
1.5k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
How to train your dragon (web standard)
notwaldorf
97
6.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
900
4 Signs Your Business is Dying
shpigford
187
22k
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