Java para Web

Aula 01 : Introdução à Web

Aula 01 - Introdução à Web

Uma visão geral do modelo cliente-servidor e das tecnologias que compõe a web

Arquitetura da Web

Início da Web
Evolução da Web
A divisão histórica de eras da Web possui como objetivo identificar períodos através da relação entre tecnologias, ambientes e comportamentos que se naturalizaram durante um determinado tempo. Isso não significa que a cada nova era todos os conceitos e tecnologias foram abandonadas em benefício de outras.
Web 1.0
Marcada pela implementação de páginas "somente leitura", entre 1989 e 2005. As páginas construídas durante este período eram majoritariamente desenhadas com pouca ou nenhuma interação com o usuário em páginas estáticas. De modo geral, permitia apenas a busca e leitura de conteúdo. Outra característica desse período é ter pouca ou nenhuma meta informação que possa ser processada por máquinas.
  • Centrada na busca de conteúdo
  • Sem interatividade
  • Paginas estáticas
Website da Apple na Década de 90
Website do McDonalds na Década de 90
Website do Governo Australiano em 90
Pessoa usando computador na década de 90
90s Vintage Meme
Web 2.0
Definido por Dale Dougherty em 2004 como a Web da leitura e escrita. Foram introduzidos recursos que permitiram aos usuários contribuir com conteúdo, colocando-os no centro das interações pela Web. É nesse período que surgem diversas ferramentas de colaboração e redes sociais, capazes de integrar os usuários através da interação dinâmica com as páginas web.
  • Centrada em comunidades e negócios
  • Conteúdo produzido pelos usuários
  • Interatividade
Website Youtube nos anos 2000
Wikipedia Site
Orkut Site
Facebook Site
Web 3.0
Termo sugerido por John Mark em 2006 (dois anos depois da criação do termo Web 2.0) caracteriza uma era de automação e integração entre aplicações web, principalmente através da definição de estruturas de dados e padrões que permitam melhorar o uso e reuso da informação. A Web 3.0 também é conhecida como Web Semântica, termo utilizado pelo criador da Web Tim Berners-Lee ainda em 2001 para se referir a uma web capaz de permitir integração de máquinas e humanos no controle e organização das informações.
  • Padronização de dados e implementações
  • Interoperabilidade entre aplicações
  • Separação da web em camadas
  • Uso massivo da plataforma web por aplicações em geral, fora do espaço tradicional (navegadores)
API ModelInsomnia JSON
Web 4.0
Também conhecida como Web Ubíqua, a Web 4.0 apresenta os conceitos relacionados à Internet das Coisas (IoT - Internet of Things) e a simbiose entre dispositivos e seres humanos. Dispositivos domésticos, softwares e ambientes são interconectados como forma de prover a experiência mais inteligente possível na troca de informações.
  • Computação Ubíqua
  • Interação entre dispositivos
  • Big data e Inteligência Artificial
IoT Draw
Web 5.0 e além
Há pouca definição para o que seria considerado esta nova fase da Web. No entanto, alguns autores sugerem que as interações trazidas pela etapa anterior serão agora facilitadas pela interação emocional entre humanos e computadores. Tecnologias baseadas em neurociência e inteligência artificial serão responsáveis por levar sentimentos às experiências de troca de informação.
She Movie GifShe Movie Gif
Modelo Cliente/Servidor
Estrutura do modelo cliente/servidor
  • A troca de informação é realizada por intermédio de um ponto central
  • A atualização dos dados e administração é facilitada quando comparada com outros paradigmas
  • Permite interoperabilidade dado que servidores podem conectar-se à outros servidores
Protocolo HTTP
Estrutura do protocolo HTTPModelo de requisição do HTTP
  • Modelo requisição/resposta

Programação para a Web

Frontend Vs Backend
Cartoon Front-End Vs Backend

A diferença entre frontend e backend está relacionada com o modelo cliente servidor. Tradicionalmente, todo serviço que fica do lado do servidor é chamado de backend, enquanto tudo aquilo que é enviado e processado no cliente é chamado de frontend.

Estrutura de uma pagina web
Estrutura de uma página web
Triforce da Web
Simbolo do HTML, JavaScript e CSS
HTML
Responsável pela estrutura das páginas
html olaMundo.html
<html>
    <head>
        <meta charset="UTF-8">
        <title>Título da Página</title>
    </head>
    <body>
        Olá Mundo!
    </body>
</html>

CSS
Adiciona estilo ao documento HTML
css style.css
body{
    background-color: #000000;
    margin: auto;
}
.dialogo{
    font-size: 0.9rem;
}

Javascript
Linguagem utilizada para criar estruturas de programação
js script.js
document.getElementById('dialogo').innerHTML = "Olá Mundo!"
if(dialog.hasMessage()){
    dialog.goToNext()
}

Desenvolvimento Web em 2021

Ferramentas para o Desenvolvedor

Ferramentas de Desenvolvimento Web
Code editor icon
Editor de texto
Mozilla Firefox é um navegador livre e multi-plataforma desenvolvido pela Mozilla Foundation com ajuda de centenas de colaboradores. Sua primeira versão foi lançada em 2004.
Image editor icon
Editor de Imagem e Vetor
Desenvolvido pela Google e introduzido em 2008. É compilado a partir de um projeto de código fonte aberto chamado Chromium. É atualmente o navegador web mais utilizado do mundo.
HTTP Logo
Servidor Web
Apesar de a maioria dos navegadores serem capazes de reconhecer e ler documentos diretamente do sistema de arquivos, em alguns casos é necessário utilizar um servidor web para que algumas funcionalidades sejam corretamente testadas em ambiente de desenvolvimento. Dessa forma, existem diversas alternativas que vão desde o uso de servidores dedicados, vps ou servidor doméstico, até a instalação de serviços no próprio computador do desenvolvedor. Para isso podemos utilizar softwares como o lighthttp, easy-php, xampp, ou facilmente iniciar um novo serviço usando o framework node.js ou python.
Web browser icon
Navegador
Navegador desenvolvido pela Opera Software e bastante usado pelos notáveis recursos, que também foram implementados em outros navegadores, como sessões de navegação, bloqueador de propagandas e acelerador de carregamento. O Opera também possui uma VPN própria integrada.
Principais Navegadores Web
Mozilla Firefox Logo
Mozilla Firefox
Mozilla Firefox é um navegador livre e multi-plataforma desenvolvido pela Mozilla Foundation com ajuda de centenas de colaboradores. Sua primeira versão foi lançada em 2004.
Google Chrome Logo
Google Chrome
Desenvolvido pela Google e introduzido em 2008. É compilado a partir de um projeto de código fonte aberto chamadoChromium. É atualmente o navegador web mais utilizado do mundo.
Apple Safari Logo
Apple Safari
É o navegador oficial dos produtos da Apple. Tornou-se um dos navegadores mais utilizados graças ao sucesso dos produtos da empresa. Utiliza o motor WebKit para renderização, também muito utilizado em outros navegadores.
Opera Logo
Opera
Navegador desenvolvido pela Opera Software e bastante usado pelos notáveis recursos, que também foram implementados em outros navegadores, como sessões de navegação, bloqueador de propagandas e acelerador de carregamento. O Opera também possui uma VPN própria integrada.
Microsoft Edge Logo
Microsoft Edge
Navegador sucessor do famoso Microsoft Internet Explorer. Foi lançado pela primeira vez em 2015 e possui porte apenas para sistemas Windows e macOS. Possui pouco suporte para padrões abertos.
Inspector Web
Ferramenta Inspector do Firefox

O inspector é uma das principais ferramentas aliadas do programador quando desenvolve interfaces para o navegador. É através dele que temos acesso a tudo que o navegador é capaz de interpretar sobre a página, seus erros e suas requisições. Além disso, o Inspector permite executar código javascript e alterar a estrutura e estilização da página em tempo de execução (enquanto a página está aberta), tornando-se uma ferramenta perfeita para o aprendizado.

Atalhos em cada navegador

Para abrir o inspector através de atalhos:

  • No Firefox, Chromium, Google Chrome e Opera, use F12

Links Úteis Web
  • Mozilla Developer Docs: um dos melhores repositórios de documentação para web, também disponível em português. O MDZ é um dos esforços da Mozilla para a padronização das tecnologias utilizadas na Web.
  • W3Schools.com: Uma ótimo local para consulta e aprendizado guiado das tecnologias web. Disponível apenas em inglês.