Pular para o conteúdo

Introdução à Web

A Web representa o maior sistema distribuído já concebido pela humanidade. Desde sua concepção inicial como um meio para compartilhar documentos científicos, ela evoluiu para sustentar redes sociais, comércio eletrônico, sistemas industriais e experiências imersivas. Este capítulo explora sua arquitetura, os marcos históricos e as competências essenciais para aqueles que almejam atuar como desenvolvedores backend.

Entre 1989 e 1991, no CERN (Organização Europeia para a Pesquisa Nuclear), localizado na Suíça, Tim Berners-Lee idealizou um método simples para conectar e compartilhar documentos entre computadores e pesquisadores. Inspirado por conceitos como o MEMEX, de Vannevar Bush, sua proposta enfatizava a simplicidade na publicação, a universalidade no acesso e a navegação por meio de hipertexto.

A equipe do CERN estabeleceu cinco tecnologias fundamentais que ainda hoje sustentam a Web:

  • Servidor de Hipertexto: Software responsável por entregar documentos através da rede.
  • Cliente/Navegador: Programa utilizado para acessar, renderizar e navegar entre documentos.
  • HTML (HyperText Markup Language): Linguagem para estruturar o conteúdo das páginas.
  • URI (Uniform Resource Identifier): Esquema para identificar e localizar recursos.
  • HTTP (HyperText Transfer Protocol): Protocolo para transferência de documentos.

Esses elementos formam a base da arquitetura da Web, na qual navegadores solicitam recursos identificados por URIs, servidores respondem via HTTP, e o HTML organiza o conteúdo exibido.

A evolução da Web reflete décadas de avanços tecnológicos, transformações culturais e mudanças nos modelos de negócios. A seguir, são apresentados os principais períodos dessa trajetória.

A Web 1.0 foi caracterizada pela publicação e leitura de conteúdo estático, com pouca interatividade. A navegação era realizada por meio de diretórios e links, e o HTML desempenhava um papel central. Exemplos típicos incluem sites institucionais e portais informativos.

Competências Relevantes:

  • Conhecimento básico de HTML e HTTP.
  • Habilidades em hospedagem simples e estruturação de conteúdo.

Popularizado por Dale Dougherty, o termo “Web 2.0” descreve uma era marcada pelo conteúdo gerado por usuários, plataformas sociais e experiências interativas. Tecnologias como Ajax e APIs possibilitaram maior dinamismo, enquanto os modelos de negócio passaram a se concentrar em comunidades.

Competências Relevantes:

  • Desenvolvimento com JavaScript no cliente e consumo de APIs REST.
  • Implementação de autenticação, gerenciamento de sessões e design de interação.

A Web 3.0, também conhecida como “Web Semântica”, introduziu a padronização de dados e a interoperabilidade entre sistemas. Essa fase destacou a separação em camadas (dados, serviços e apresentação) e a expansão para dispositivos móveis e embarcados.

Competências Relevantes:

  • Modelagem de dados e uso de formatos interoperáveis como JSON e RDF.
  • Criação de APIs bem definidas e integração entre serviços distribuídos.

A Web 4.0 é caracterizada pela computação ubíqua e pela Internet das Coisas (IoT). Dispositivos conectados, sensores e automação desempenham papéis centrais, enquanto Big Data e Inteligência Artificial possibilitam experiências contínuas entre múltiplos dispositivos.

Competências Relevantes:

  • Implementação de mensageria, streaming de dados e processamento em tempo real.
  • Garantia de segurança em dispositivos e redes distribuídas.

A Web 5.0 explora a interação emocional, integrando neurociência e inteligência artificial. Sistemas dessa geração são projetados para reconhecer e responder a estados afetivos, promovendo experiências mais humanas e contextuais.

Competências Relevantes:

  • Processamento de sinais e multimodalidade.
  • Considerações éticas em IA, privacidade e consentimento.

O desenvolvimento backend exige um conjunto abrangente de conhecimentos técnicos e práticas de engenharia, fundamentais para a criação de aplicações robustas, escaláveis e seguras.

No nível inicial, o foco está nos fundamentos da Web, como HTTP, DNS e URI, além do domínio de uma linguagem de programação para servidores (ex.: Java, Python, Node.js). Outras habilidades incluem controle de versão com Git, modelagem de bancos relacionais e criação de APIs REST.

O nível intermediário abrange caching, autenticação, criptografia, testes de software, CI/CD e conteinerização. Também inclui o uso de bancos não relacionais e estratégias para projetar APIs seguras e performáticas.

No nível avançado, o foco está em padrões de arquitetura, princípios de design, escalonamento, mensageria e observabilidade. O objetivo é projetar sistemas distribuídos resilientes e operar com confiabilidade em produção.

Ao desenvolver para a Web, é essencial considerar:

  • Privacidade e Segurança: Proteção de dados pessoais.
  • Padrões Abertos: Garantia de interoperabilidade e manutenção.
  • Acessibilidade: Inclusão de todos os usuários.
  • Sustentabilidade: Eficiência energética e redução de custos.
  • Responsabilidade Social: Avaliação do impacto de algoritmos e conteúdo.
  1. Berners-Lee, T., & Fischetti, M. (2000). Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor. Harper San Francisco.
  2. Bush, V. (1945). As We May Think. The Atlantic Monthly.
  3. Dougherty, D. (2004). What is Web 2.0?. O’Reilly Media.
  4. W3C. (n.d.). World Wide Web Consortium Standards. Disponível em: https://www.w3.org/
  5. Backend Roadmap. (n.d.). Developer Roadmaps. Disponível em: https://roadmap.sh/backend