Escolar Documentos
Profissional Documentos
Cultura Documentos
Aplicações Orientado a
Componentes
Frameworks e Bibliotecas
Frameworks e Bibliotecas
Uma biblioteca é uma coleção de funções / objetos que serve a um propósito
específico, você pode usar uma biblioteca em uma variedade de projetos.
• Uma biblioteca contém várias funções, e estas funções realizam alguma tarefa útil para o seu
projeto.
Um framework é uma abstração que une códigos comuns entre vários
projetos de software provendo uma funcionalidade genérica.
• Um framework pode atingir uma funcionalidade específica, por configuração, durante a
programação de uma aplicação.
Arquitetura de componentes
● Arquitetura de Software
● definição dos componentes de software, suas propriedades externas, e seus
relacionamentos com outros softwares.
● Arquitetura de Componentes
● abordagem da engenharia de software para estrutura e desenvolvimento de sistemas.
● foco na decomposição da estrutura da funcionalidade individual ou componente lógico
● interface de comunicação contendo seus métodos, eventos e propriedades.
Benefícios
Alto nível de abstração, estrutura principal da orientação a objetos, não focando em
questões de protocolos de comunicação e compartilhamento de estado.
● Substituição:
○ precisam ser facilmente substituídos por outros componentes similares
○ informações específicas como estado do dado, devem ser enviadas para o componente ao
invés de serem incluídos ou acessados pelo componente.
Benefícios
● Extensibilidade:
○ componente pode ser estendido a partir de um componente para fornecer um novo
comportamento
● Encapsulamento:
○ expõe uma interface dele para os invocadores utilizar suas funcionalidades
○ não revela detalhes do seu processo interno ou alguma variável interna e estado
● Independência:
○ estruturados para ter o mínimo de dependência com outros componentes
○ pode ser disponibilizados dentro de um ambiente apropriado sem afetar outros componentes
ou sistemas
MVC
● Trata-se de um padrão de desenvolvimento
● Não é novo, mas ainda muito usado
● Significa Model-View-Controller, assim:
○ Modelo: armazena os dados e notifica suas visões (banco de dados)
A sensação que fica é de mudanças que nunca param, impossível acompanhar tudo.
Mas porquê?
○ Adaptação ao projeto
○ Desempenho
○ Funções específicas de um projeto
○ Ter a sua tecnologia é mais fácil de controlá-la
O que cada um carrega
● Cada um desses frameworks e bibliotecas carrega um estilo de desenvolvimento
e característica peculiares
● Existe um ecossistema por trás de cada um
○ Comunidades e empresas
● Foco de cada um pode ser diferente
○ Ambiente, características, funcionalidades
● Estrutura, organização e forma de trabalho
E eu?
• Muito se fala em adaptação ao mercado
• Para isso, não podemos nos ater a uma única opção
• Tecnologias mudam
• Tecnologias são transitórias
• Profissionais devem conhecer o básico
• Profissionais devem aprender novas tecnologias
React
● Biblioteca JavaScript
● É mantido pelo Facebook, Instagram, outras empresas e uma comunidade de
desenvolvedores individuais
● É utilizado em sites como:
● Netflix
● Airbnb
● Walmart
● e outros
● 9 em cada 10 programadores JavaScript buscam saber React
React
● Código aberto
● Comunidade de apoio
● Características: declarativa, eficiente e flexível para criar interfaces com o usuário
● Composição de interfaces gráficas complexas a partir de pequenos e isolados
códigos chamados “componentes”
● Ideia de reaproveitamento e não “reinventar a roda”
DOM
● Modelo de Objeto de Documento (DOM)
○ interface de programação para documentos HTML, XML e SVG
○ define métodos que permitem acesso à árvore, para que eles possam alterar a estrutura, estilo e
conteúdo do documento
○ representação do documento como um grupo estruturado de nós e objetos, possuindo várias
propriedades e métodos
○ nós podem ter manipuladores de eventos que lhe são inerentes
https://pt-br.reactjs.org/docs/add-react-to-a-website.html
https://pt-br.reactjs.org/docs/create-a-new-react-app.html
● Existem pré-requisitos:
○ node (https://nodejs.org/en/download/)
○ npm ( https://www.npmjs.com/get-npm - já vem com o node.js)
Conceitos
React -> entrada principal
● React.Component
○ https://pt-br.reactjs.org/docs/react-component.html
ReactDOM ->
Babel -> Babel é um compilador JavaScript que inclui a capacidade de compilar JSX em
JavaScript regular.
● https://babeljs.io/docs/en/
Vamos a documentação, tutorial, blog e
comunidade
Onde começar?
https://pt-br.reactjs.org
Algumas referência bacanas
● https://blog.codecasts.com.br/enquanto-voce-le-um-novo-framework-js-nasce-
sqn-6da38ed0a0e9
● https://becode.com.br/frameworks-e-bibliotecas-javascript-que-voce-deveria-
conhecer/
● https://www.hostgator.com.br/blog/framework-javascript/