SlideShare uma empresa Scribd logo
React.js
Construindo aplicações reativas em JavaScript
Quem sou eu?
Henrique Soares
Programador desde 2009 (antes era PHP e não conta
:D)
Instituto Atlântico desde 2012
Entusiasta de JavaScript
BrazilJS 2011
JSConfBR 2013 e 2014
Comunidade CEJS (eventos, hackatons, etc)
Como começou o JavaScript
JavaScript was created in 10 days in May 1995 by
Brendan Eich (Netscape)
https://en.wikipedia.org/wiki/JavaScript#History
var person = prompt("Please enter your name");
if (person != null) {
    document.write("Hello " + person + "!");
}
Coisas Da vida
1995 Netscape cria o JavaScript
1996 ECMA padroniza
1997 ES1
1998 ES2
1999 ES3 ­ regex, try/catch
2005
Jesse James Garrett cunhou o termo Ajax (Prototype,
jQuery, Dojo and Mootools)
2008 ES4 (abandonado)
2009 ES5 ­ strict, JSON, Reflect
2015 ES6 ­ class, arrows
2016 ES7 / ES2016 ­ exponentiation operator (**)
2017 ES2017 ­ async/await
Templates
EJS, Jade, Mustache.js, Microtemplating etc
<ul>
<% for(var i=0; i<supplies.length; i++) {%>
    <li><%= supplies[i] %></li>
<% } %>
</ul>
{{#stooges}}
<b>{{name}}</b>
{{/stooges}}
Sobre o uso de templates
Vantagens Problemas
Mudanças dinâmicas no
HTML
Acoplamento
Interage com objetos e
varáveis JS de view
Pode ficar difícil manter
Renderização no client­
side
Delay de renderização (compilação
em runtime)
Reuso
Renderiza mas a página ainda é
"burra" – não tem binds
Reuso (sim, reuso) – pré­
carregamento = mais uma requisição
jQuery e DOM
Seletores, Eventos, Binds e Callbacks
$("input[name=age]").on("change", function() {
    if ($(this).val() > 15) {
        console.log("Velhote");
    }
});
$("form").submit(function() {
    $.post("/users", $("form").serialize());
    return false;
});
Sobre o uso de jQuery e binds
Vantagens Problemas
Separação
JS/HTML
Lidar com seletores e callbacks pode deixar
seu código bagunçado
Plugins
Se o designer alterar o HTML / DOM, o
código quebra
Compatibilidade
multibrowser
Só olhando o código HTML não se sabe os
binds e ações dos elementos
Extensível Baixo reuso e alta acoplação
Precisamos de modelos para as views
Frameworks
Backbone.js (um dos primeiros, poucos usam hoje)
Knockout.js (Microsoft adotou)
Angular.js (Google)
React.js (Facebook)
E o React.js, onde entra?
React components implement a render() method that takes
input data and returns what to display. This example uses an
XML­like syntax called JSX. Input data that is passed into the
component can be accessed by render() via this.props.
Na prática...
class Timer extends React.Component {
  constructor(props) {
    super(props);
    this.state = { seconds: 0 };
  }
  tick() {
    this.setState(prevState => ({
      seconds: prevState.seconds + 1
    }));
  }
  componentDidMount() {
    this.interval = setInterval(() => this.tick(), 1000);
  }
  componentWillUnmount() {
    clearInterval(this.interval);
  }
  render() {
    return (
      <div>
        Seconds: {this.state.seconds}
      </div>
    );
  }
}
ReactDOM.render(<Timer />, document.getElementById('container'));
Virtual DOM
No React, para cada objeto DOM, existe um "objeto DOM virtual"
correspondente. Um objeto DOM virtual é a representação de um
objeto DOM, como uma cópia em memória.
Um objeto DOM virtual tem as mesmas propriedades do DOM real
mas diferenças quando algo é alterado e sua representação na
tela.
Manipular DOM é lento. Manipular o DOM virtual é muito mais
rápido por que não mexe com nada desenhado na tela. Imagine
que manipular um DOM virtual é como editar uma planta baixa ao
invés de mover as salas de uma casa construída.
Ciclo de vida dos componentes
Muito parecido com qualquer
tecnologia que use componentes
Componentes usam componentes
import React, { Component } from 'react';
import {Drawer, List, ListItem, ListItemIcon, ListItemText} from 'material­ui';
import {Inbox as InboxIcon, Drafts as DraftsIcon} from 'material­ui­icons';
export default class SidebarMenu extends Component {
  constructor(props) {
    super(props);
    this.state = {open: false};
  }
  
  closeMenu = () => {
    this.setState({open: false});
  }
  
  render() {
    return (
      <Drawer open={this.state.open} onRequestClose={this.closeMenu} classes={{paper: classes.menu}}>
        <List>
          <Link to='/home' onClick={this.closeMenu}>
            <ListItem button>
              <ListItemIcon>
                <InboxIcon />
              </ListItemIcon>
              <ListItemText primary='Home' />
            </ListItem>
          </Link>
          <Link to='/about' onClick={this.closeMenu}>
            <ListItem button>
              <ListItemIcon>
                <DraftsIcon />
              </ListItemIcon>
              <ListItemText primary='About' />
            </ListItem>
          </Link>
        </List>
      </Drawer>
    );
  }
}
Comunicação entre componentes
Props
Props são a maneira mais simples de transferir informações entre
os componentes. Com props você pode enviar dados do pai para o
filho.
Props são uma feature central do React.
<MeuComponente propriedadeQueDefini="Valor dado" />
class MeuComponente extends Component {
  render() {
    return (
      <div>{this.props.propriedadeQueDefini}</div>
    );
  }
}
Métodos de instância
Métodos de instância no componente filho podem ser chamados
pelo pai usando refs.
class TheChild extends React.Component {
  myFunc() {
    return 'hello';
  }
}
class TheParent extends React.Component {
  render() {
    return (
      <TheChild ref={(foo) => { this.foo = foo; }} />
    );
  }
 
  componentDidMount() {
    var x = this.foo.myFunc();
    // x is now 'hello' 
  }
}
Outras maneiras
https://www.andrewhfarmer.com/component­communication/
Dependendo da complexidade / tamanho da aplicação, é
necessário alguma estratégia de gerir essa comunicação entre os
componentes, e fazer com que um ou mais componente reaja a
uma ação de outro.
Nesse cenário o mais recomendado ­ e comum na comunidade ­ é
utilizar o Flux (pattern criado pelo Facebook), mais propriamente a
sua implementação Redux.
...mas não iremos abordar isso hoje.
Criando uma aplicação do zero
a.k.a deixa de blá blá blá e me mostre o código
(Colazinha básica)
npm install ­g create­react­app
create­react­app my­app
https://github.com/henriquegogo/react­start
Ecossistema React.js
Redux (Implementação do pattern Flux)
react­router
material­ui
Webpack
Perguntas?

Mais conteúdo relacionado

Mais procurados

Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
Emerson Macedo
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a Objetos
Eduardo Mendes
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
Carlos Eduardo Kadu
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
ledsifes
 
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
Type Script   Conceitos de ts para projetos front-end React - por ruben marcusType Script   Conceitos de ts para projetos front-end React - por ruben marcus
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
Ruben Marcus Luz Paschoarelli
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
Daniel Brandão
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
Bruno Catão
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
Vinicius Dacal Lopes
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
Rodrigo Bueno Santa Maria, BS, MBA
 
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função saveAulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Jorge Pires
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
Victor Adriel Oliveira
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
Dan Vitoriano
 
TypeScript Presentation
TypeScript PresentationTypeScript Presentation
TypeScript Presentation
Patrick John Pacaña
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Rodrigo Bueno Santa Maria, BS, MBA
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
Rodrigo Kono
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
Cinthia Pineroli Galvão
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
Thiago Poiani
 

Mais procurados (20)

Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a Objetos
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
Type Script   Conceitos de ts para projetos front-end React - por ruben marcusType Script   Conceitos de ts para projetos front-end React - por ruben marcus
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função saveAulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
TypeScript Presentation
TypeScript PresentationTypeScript Presentation
TypeScript Presentation
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 

Semelhante a Introdução React.js

Intodução ao React
Intodução ao ReactIntodução ao React
Intodução ao React
Dev PP
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
Reinaldo Junior
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
Rafael Dohms
 
TypeScript em Aplicações Modernas
TypeScript em Aplicações ModernasTypeScript em Aplicações Modernas
TypeScript em Aplicações Modernas
Nicolas Takashi
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
Sidney Roberto
 
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptEvolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
Jean Carlo Emer
 
Java script
Java scriptJava script
Java script
Mozart Diniz
 
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"
flaviohalmeida
 
Encet 2008-ajax java
Encet 2008-ajax javaEncet 2008-ajax java
Encet 2008-ajax java
Fábio José Moraes
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
Wanderson Oliveira
 
Extração de informação no StackOverflow Careers
Extração de informação no StackOverflow CareersExtração de informação no StackOverflow Careers
Extração de informação no StackOverflow Careers
roberta arcoverde
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
Handerson Frota
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
Rafael Ponte
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma Java
João Lourenço
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no Frontend
Henrique Gogó
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direito
Cezinha Anjos
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptRogério Moraes de Carvalho
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAX
Rafael Dohms
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
Frederico Maia Arantes
 

Semelhante a Introdução React.js (20)

Intodução ao React
Intodução ao ReactIntodução ao React
Intodução ao React
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 
TypeScript em Aplicações Modernas
TypeScript em Aplicações ModernasTypeScript em Aplicações Modernas
TypeScript em Aplicações Modernas
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptEvolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
 
Java script
Java scriptJava script
Java script
 
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"
 
Encet 2008-ajax java
Encet 2008-ajax javaEncet 2008-ajax java
Encet 2008-ajax java
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Extração de informação no StackOverflow Careers
Extração de informação no StackOverflow CareersExtração de informação no StackOverflow Careers
Extração de informação no StackOverflow Careers
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma Java
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no Frontend
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direito
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAX
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 

Mais de Henrique Gogó

Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
Henrique Gogó
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
Henrique Gogó
 
Backbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações webBackbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações web
Henrique Gogó
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
Henrique Gogó
 
NoSQL + Node.js
NoSQL + Node.jsNoSQL + Node.js
NoSQL + Node.js
Henrique Gogó
 
Conhecendo o CouchDB - TDC2011
Conhecendo o CouchDB - TDC2011Conhecendo o CouchDB - TDC2011
Conhecendo o CouchDB - TDC2011Henrique Gogó
 
Criando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.jsCriando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.js
Henrique Gogó
 
Conhecendo o CouchDB
Conhecendo o CouchDBConhecendo o CouchDB
Conhecendo o CouchDB
Henrique Gogó
 
Urls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JSUrls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JS
Henrique Gogó
 

Mais de Henrique Gogó (9)

Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Backbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações webBackbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações web
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
 
NoSQL + Node.js
NoSQL + Node.jsNoSQL + Node.js
NoSQL + Node.js
 
Conhecendo o CouchDB - TDC2011
Conhecendo o CouchDB - TDC2011Conhecendo o CouchDB - TDC2011
Conhecendo o CouchDB - TDC2011
 
Criando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.jsCriando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.js
 
Conhecendo o CouchDB
Conhecendo o CouchDBConhecendo o CouchDB
Conhecendo o CouchDB
 
Urls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JSUrls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JS
 

Último

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (6)

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Introdução React.js