O documento fornece uma introdução ao React Native, discutindo o que é e não é React Native, como funciona, como criar aplicativos usando-o e como depurá-los.
Device API
HTML 5e JavaScript
<!doctype html>
<html>
<body>
Content
</body>
</html>
WebView
• RN não usa WebView, a renderização é
nativa
• Perfomance do React Native tende a ser
melhor
• Os dois são OpenSource e tem um
ecossistema bem movimentado
Device API
HTML 5e JavaScript
<!doctype html>
<html>
<body>
Content
</body>
</html>
Web Browser Container
• PWA não está na App ou Play Store
• Ainda não tem acesso a todas as
APIs e em todas as plataformas
• Sem nenhum tipo de linguagem
nativa, usa API do browser
O que éReact Native?
“Learn once, write anywhere”
Framework que permite criar aplicativos móveis
nativos utilizando JavaScript e React (Native)
14.
Uma breve históriado
React Native
Summer 2013
Facebook internal
hackathon
January 2015
Public Preview
March 2015
Released to
open source
( iOS Support )
September 2015
Android Support
Por que ReactNative?
- experiência nativa
- uma única linguagem, JavaScript
- amigável para desenvolvedor web
- experiência de desenvolvimento rápida ( Hot Reloading, ~80% código
compartilhado, fácil debug )
- possibilita acesso a código nativo caso precise
- open source e comunidade extremamente ativa ( +57K Stars )
25.
Por que nãoReact Native?
- React Native é ainda relativamente novo comparado com iOS e Android
nativo
- algumas das API ainda não são suportadas por padrão ( mas é possível
acessar a API nativa através da Bridge )
- Navegação é… complexa!
- atualizações de versões constantes
- adiciona uma camada a mais
Executando código específicopara uma
Plataforma
const message = Platform.select({
ios: 'Hello iOS',
android: 'Hello Android',
});
39.
Executando código específicopara uma
Plataforma
const Component = Platform.select({
ios: () => require('ComponentIOS'),
android: () => require('ComponentAndroid'),
})();
<Component />;
40.
Executando código específicopara uma
Plataforma
BigButton.ios.js
BigButton.android.js
const BigButton = require('./BigButton');
41.
Executando código específicopara uma
Plataforma
spellCheck={true}
clearTextOnFocus={false}
underlineColorAndroid="transparent"
numberOfLines={2}
keyboardType="numeric"