Skip to content

carlosrobert0/semana-omnistack-be-the-hero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

                Semana Omnistack

O Back - end é a base da aplicação. É a estrutura de organização, regras de negocios, armazenamento de informacao, da sua aplicação. Funcionando como um servidor que serve ao possível cliente, usuário; uma base completa para o consomo da aplicação. Este cliente, faz interacoes com o servidor e a aplicação acontece.

Este Cliente, é conhecido como Frontend. A parte visual da nossa aplicacao que poderá ser em Interface web, o navegador. E mobile, o aplicativo.

Nesta aplicação utilizamos tecnologias que rodeiam o JavaScript, e a linguagem de programação Javascript. Uma aplicação completa; com o Back-end, Front-end interface web e mobile; Baseadas todas camadas na linguagem de programação Javascript. E 3 tecnologias baseadas na linguagem javascript: Node.JS, ReactJS, React Native.

O Node.JS, é uma engine de javascript, que executa o javascript fora do navegador.

Possibilitando a construção da parte Back-end, a base da nossa aplicação; utilizando o javascipt.

O React.JS é uma biblioteca javascript para cirar interfaces de usuario, permite a criação de aplicações no formato SPA ( Single Page Application) .

O ReactNative é uma biblioteca javascript para criar aplicativos nativos usando o React. Nesta aplicacao vamos usar o expo, um conjunto de ferramentas e serviços criados em torno do reactnative que ajuda a desenvolver, criar, implatar e iterar rapidamente em multiplataforma.

A criação do Back-end da aplicação: NodeJS e Express

utilizando o node, voce tem acesso é biblioteca Express, onde sera instanciado uma constante recebendo, importando o modulo express na nossa aplicacao.

  • Node.js & Express

    • Rotas e Recurso - A Rota é o conjunto completo do endereço ex.: localhost:3333/users, o recurso é o que vem depois da ex.:users.

    • Métodos HTTP -
      GET: busca uma informação no back-end POST: cria uma informação no back-end PUT: altera uma informação no back-end DELETE: deleta uma informação no back-end

    • Tipos de parâmetros

      Query Params: Parametros nomeados enviados na rota após "?" para acessar os parametros vindo do query vamos usar o request.query. Route Params: Parametros utilizados para identificar recursos para acessar os parametros vindo do route vamos usar o request.params Request Body: Corpo da requisicao, utilizado para criar ou alterar recursos para acessar os parametros vindo do body vamos usar o request.body

  • Foi utilizado o banco de dados SQL, usando a estrategia query builder, escrevendo nossas query utilizando o JavaScript. Vamos usar o quey builder KNEX.JS.

  • Modulo de segurança CORS: Este modulo determina quem podera acessar nossa aplicacao.

Construindo a interface Web

utilizando o react, vamos construir nosso frontend interface web da nossa aplicacao.

  • Conceitos do React
    • Componente Uma função que retorna HTML
    • JSX HTML está escrito dentro do JavaScript
    • Propriedades As propriedades no react tem a mesma sintaxe de atributos, porem sao atributos repassados para componentes ao invez de elementos do HTML
    • Estado O estado toda vez que for alterado, o componente vai renderizar novamente exibindo novas informacoes em tela. Usando estado no codigo, importamos o useState. [valor, setValor]
    • Imutabilidade Nao podemos alterar o valor do estado de uma forma direta, nos precisamos sobrepor o valor da variavel do estado. [valor, setValor]
  • Conectando aplicação à API
    • Instalar no nosso projeto um cliente HTTP para conseguir realizar as chamadas à nossa API do backend e obter as respostas. Utilizamos o AXIOS. importamos o axios, criamos uma variavel api que recebe axios.create onde passamos um parametro chamado baseURL que é a parte da url que vai ser mantida entre todas as chamadas. e exportamos api.

Desenvolvendo o app mobile

utilizando o reactnative, vamos construir nosso app mobile da aplicação

  • Expo Instalamos o expo npm install -g expo-cli Criando o projeto com expo expo init mobile
  • Diferenças para o ReactJS
    • Elementos HTML No react native os elementos não tem semantica como na web Estilização sempre preciso chamar a tag style e ela vai receber um objeto com a estilizacao Flexbox todos elementos do reactnative ja tem display flex por padrao As propriedades sao usados no estilo camelCase, e os valores que nao sao numeros precisa de aspas por envolta. No react native não temos herança de estilo A estilização deve ser propria por elemento
    • Conexão com a API npm install axios Instalamos o axios que vai ser o cliente http que vai ser responsavel por fazer chamadas à API e trazer resultados la de dentro
      importamos o axios, criamos uma variavel chamada api que recebe axios.create, a propriedade baseURL precisa ser o ip da sua maquina, para acessar a api.

About

Semana Omnistack Be The Hero

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published