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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
VibeCodingからAgenticWorkflowへ
starfish719
0
310
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4k
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
720
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
5分で問診!Composer セキュリティ健康診断
codmoninc
0
900
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
470
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Why Our Code Smells
bkeepers
PRO
340
58k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Designing for humans not robots
tammielis
254
26k
ラッコキーワード サービス紹介資料
rakko
1
4.3M
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Building Applications with DynamoDB
mza
96
7.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
RailsConf 2023
tenderlove
30
1.5k
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