Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Integrações com React Native - #1 Introdução

26/07/2021

Hoje iniciaremos o curso de integrações do React Native com outras linguagens e plataformas, demonstrando como integrar os apps com Node, PHP, Python, etc.

React Native com outras linguagens

Antes de iniciarmos as integrações vamos preparar o nosso ambiente. Para isso, precisamos dos seguintes itens:

- Uma IDE (PhpStorm, Visual Studio, Sublime Text...)
- NodeJS
- Android Studio
- WampServer
- Python

Precisaremos também instalar o expo:

cd c:/
npm install -g expo-cli
expo init Project
cd Project
expo start

assets/Css.js

Esse arquivo contém o código de estilização do app:

import {StyleSheet} from "react-native";

const css = StyleSheet.create({
    container: {
        flex: 1,
        alignItems: 'center'
    },
    container__center:{
        justifyContent:'center'
    },
    header:{
        backgroundColor:'#09204A',
        padding: 5,
        width: '100%',
        height: '22%',
        paddingTop: 0,
        marginTop:0
    },
    header__img:{
        marginLeft: 'auto',
        marginRight:'auto'
    },
    footer:{
        width: '100%',
        height: '78%',
        alignItems: 'center',
        justifyContent:'center',
        backgroundColor:'#eee'
    },
    input:{
        borderRadius: 2,
        height: 60,
        padding: 10,
        backgroundColor: '#fff',
        borderWidth:1,
        borderColor:'#ccc',
        width: '80%',
        marginBottom: 20,
        fontSize: 18
    },
    texto:{
        fontSize: 20,
        textAlign:'center'
    },
    textoWidth:{
        width: '80%'
    },
    button:{
        borderRadius: 5,
        backgroundColor: '#111',
        paddingTop: 15,
        paddingRight: 30,
        paddingBottom: 15,
        paddingLeft: 30,
    },
    button__text:{
        color:'#fff',
        fontWeight:'bold',
        fontSize: 17
    }
});
export {css};

views/index.js

Tem a função única de importar as telas do nosso app:

import Home from './Home';
export {Home};

views/Home.js

Tela inicial do nosso app:

import React,{useEffect} from 'react';
import {Image, View, TouchableOpacity,Text} from "react-native";
import {css} from "../assets/css/Css";


export default function Home({navigation}) {

    return (
        <View style={css.container}>

            <View style={css.header}>
                <Image style={css.header__img} source={require('../assets/img/logo.png')} />
            </View>

            <View style={css.footer}>

                <TouchableOpacity
                        style={css.button}
                        onPress={()=>navigation.navigate('Cadastro')}
                >
                    <Text style={css.button__text}>Cadastro</Text>
                </TouchableOpacity>
            </View>
        </View>
    );
}

App.js

O arquivo App.js é o entry point do nosso app e que contará com o sistema de navegação entre telas:

import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import {Home} from './views';

export default function App() {
    const Stack = createStackNavigator();

    return (
      <NavigationContainer>
          <Stack.Navigator>
              <Stack.Screen name="Home" component={Home} options={{headerShown:false}} />
          </Stack.Navigator>
      </NavigationContainer>
    );
}

app.json

Neste arquivo apenas direcionamos as imagens para a pasta assets/img:

{
  "expo": {
    "name": "Project",
    "slug": "Project",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/img/icon.png",
    "splash": {
      "image": "./assets/img/splash.png",
      "resizeMode": "cover",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/img/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      }
    },
    "web": {
      "favicon": "./assets/img/favicon.png"
    }
  }
}

Por hoje é só! Sucesso nos códigos e na vida!

Precisa de um professor? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Mapas e Rotas com React Native - #15 Pagamento Real
No tutorial de hoje faremos o pagamento de uma corrida real, verificando se o nosso app está se comunicando no modo de produção com a API do Mercado Pago.
Saiba mais!
Integrações com React Native - #2 Banco de Dados
Na aula de hoje vamos trabalhar com banco de dados MySql integrado ao app desenvolvido com React Native.
Saiba mais!
React JS
Nessa seção aprenderemos sobre essa importante biblioteca Javascript desenvolvida pelo Facebook para facilitar a construção backend dos nossos websites.
Saiba mais!