Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Aula 01
Unidade 1: Introdução ao desenvolvimento web, conceitos essenciais, 
evolução da web e diferenciação entre front-end e back-end.
Curso: Bacharelado em Ciência da Computação | Turma: CC1
Disciplina: Introdução ao Desenvolvimento Web
Professor: Edinilson da Silva Vida
Roteiro
1. Objetivo
2. Situação-problema
3. Leitura específica
4. Vamos pensar um pouco
5. Aprofundando o conhecimento
6. Resumo da aula
7. Atividade verificadora de aprendizagem
8. Tema da próxima aula
9. Referências
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 2
Objetivo
• Ao final desta aula, os alunos deverão ser capazes de:
̶ Identificar os conceitos essenciais do desenvolvimento web, reconhecendo sua 
importância e aplicabilidade na construção de sites e aplicações.
̶ Descrever a evolução da web, analisando marcos históricos e avanços 
tecnológicos que influenciaram o desenvolvimento de aplicações web.
̶ Comparar as características do front-end e do back-end, diferenciando suas 
funções, tecnologias e responsabilidades no desenvolvimento de aplicações 
web.
̶ Classificar tecnologias e ferramentas utilizadas no desenvolvimento front-end 
e back-end, justificando sua aplicabilidade em diferentes contextos de 
desenvolvimento web.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 3
Situação-problema
• Você foi contratado como consultor de tecnologia por um pequeno 
empresário que deseja expandir seu negócio para o mundo digital.
̶ Ele possui uma loja física de artesanato e quer criar um site para vender seus 
produtos online.
̶ No entanto, ele não tem conhecimento sobre desenvolvimento web e está confuso 
com os termos e tecnologias envolvidas no processo.
̶ Ao conversar com ele, você percebe que ele não sabe a diferença entre front-end e 
back-end, não entende como um site funciona e tem dúvidas sobre quais etapas e 
tecnologias são essenciais para construir uma aplicação web eficiente.
̶ Agora, sua missão é explicar para o empresário como funciona o desenvolvimento 
web, destacando a evolução da web e a importância da separação entre front-end e 
back-end.
• Se você tivesse que explicar para alguém sem conhecimento técnico como funciona um site 
moderno, desde sua criação até sua exibição no navegador, como descreveria o papel do 
front-end e do back-end?
• Quais tecnologias e conceitos são essenciais nesse processo?
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 4
Leitura específica
• Bibliografia recomendada:
̶ FOROUZAN, Behrouz A; MOSHARRAF, Firouz. Redes de computadores: uma 
abordagem top-down. Porto Alegre: AMGH, 2013.
̶ RICHARDSON, Leonard; AMUNDSEN, Mike; RUBY, Sam. RESTful web APIs: 
services for a changing world. Sebastopol: O’Reilly Media, 2013.
̶ RICHARDSON, Leonard; RUBY, Sam. RESTful web services. Sebastopol: O’Reilly 
Media, 2007.
̶ ZAMMETTI, Frank. Modern full-stack development: using TypeScript, React, 
Node.js, Webpack, Python, Django, and Docker. 2. ed. [S.l.]: Apress, 2022. E-
book.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 5
A World Wide Web
• A World Wide Web foi idealizada por 
Tim Berners-Lee em 1989, no CERN 
(Organização Europeia para Pesquisa 
Nuclear).
̶ Objetivo de permitir que pesquisadores 
de diferentes partes da Europa pudessem 
compartilhar e acessar as pesquisas uns 
dos outros.
• A web comercial começou a crescer 
no início da década de 1990.
̶ Hoje, a web é um vasto repositório de 
informações, com documentos, 
chamados de páginas web, distribuídos 
globalmente, e relacionados entre si por 
meio de links.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 6
A World Wide Web
• Dois conceitos-chave explicam o crescimento da web: distribuição e 
vinculação.
̶ A distribuição facilita a expansão contínua da web, pois cada servidor ao redor do 
mundo pode adicionar novas páginas sem sobrecarregar a infraestrutura existente.
̶ A vinculação possibilita que uma página web faça referência a outra, mesmo que 
esteja armazenada em um servidor distante.
• A tecnologia que permite essa vinculação é chamada de hipertexto, desenvolvida muito antes 
da Internet, para que um sistema recuperasse automaticamente outro documento vinculado.
• Hoje, o conceito evoluiu para hipermídia.
• Para incluir não apenas documentos de texto, mas também imagens, áudio e vídeo.
• Atualmente, a web vai além da simples recuperação de documentos.
̶ Usada para e-commerce, jogos online, e para acessar conteúdo de rádio e televisão.
• Permitindo que os usuários assistam ou ouçam quando preferirem, sem estarem presos aos 
horários de transmissão.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 7
A World Wide Web
• O WWW atual funciona como um serviço distribuído de 
cliente-servidor, no qual um cliente, usando um navegador, 
pode acessar um serviço hospedado em um servidor.
̶ Esse serviço é distribuído entre diversos locais, chamados de sites.
̶ Cada site contém um ou mais documentos, conhecidos como páginas 
web.
̶ Algumas dessas páginas possuem links que direcionam para outras 
páginas, seja dentro do mesmo site ou em sites diferentes.
• Uma página web pode ser simples, sem links para outras 
páginas, ou composta, contendo um ou mais links que 
redirecionam para outros documentos.
̶ Cada página web, independentemente de ser simples ou composta, é 
armazenada como um arquivo com um nome e um endereço específico.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 8
Introdução à evolução da web
• A web passou por grandes transformações desde sua criação.
• Inicialmente, os sites eram estáticos e serviam apenas para exibição 
de informações.
̶ Com o tempo, surgiram interatividade, redes sociais e inteligência artificial.
• Essas mudanças influenciaram a forma como os usuários interagem 
com a Internet e como os desenvolvedores criam aplicações web.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 9
Introdução à evolução da web
• A Internet evoluiu para atender às 
necessidades crescentes dos usuários:
̶ Web 1.0: sites estáticos, pouca 
interatividade.
̶ Web 2.0: conteúdo dinâmico, redes 
sociais e colaboração.
̶ Web 3.0: inteligência artificial, 
blockchain, descentralização.
• Novos paradigmas influenciam a 
forma como desenvolvemos 
aplicações web.
• Estar atualizado com essas mudanças 
é essencial para criar soluções 
eficientes e seguras.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 10
O surgimento da web (Web 1.0)
• A Web 1.0 surgiu no início dos anos 90 com o cientista Tim Berners-
Lee.
̶ Criada para compartilhar informações acadêmicas e científicas.
̶ Páginas estáticas em HTML, sem interatividade.
̶ A navegação era limitada, sem personalização para usuários.
̶ Tecnologias-chave: HTML, HTTP, URLs e navegadores básicos.
• Essa fase definiu a estrutura básica da Internet, ainda usada hoje.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 11
A Web 2.0: interatividade e redes sociais
• No início dos anos 2000, surgiu a Web 2.0, trazendo colaboração e 
interação.
̶ Usuários passaram de consumidores a criadores de conteúdo.
̶ Surgiram redes sociais como Facebook, YouTube e Twitter.
̶ Introdução de Ajax permitiu páginas mais dinâmicas.
• Tecnologias-chave: JavaScript, CSS, PHP, MySQL, APIs.
• A web se tornou um ambiente de compartilhamento, colaboração e 
personalização.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 12
O crescimento do mobile e da web 
responsiva
• Com a popularização dos 
smartphones, os sites precisaram se 
adaptar.
̶ Surgiu o conceito de web responsiva para 
ajustar páginas a diferentes tamanhos de 
tela.
̶ O HTML5 e o CSS3 trouxeram recursos 
visuais avançados.
̶ O mobile first se tornou um padrão de 
design.
• Tecnologias-chave: HTML5, CSS3, 
Bootstrap, media queries.
• A acessibilidade e experiência do 
usuário ganharam mais importância.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 13
Web 3.0: a Internet inteligente
• A Web 3.0 introduziu a inteligência artificial na experiência digital.
̶ Busca por mais personalização e descentralização da informação.̶ IA e machine learning tornam os sistemas mais intuitivos.
̶ Blockchain e criptomoedas começam a ser aplicados na web.
• Tecnologias-chave: IA, blockchain, web semântica, big data.
• A Internet passou a aprender e se adaptar aos usuários.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 14
O impacto das APIs na evolução da Web
• APIs (Application Programming Interfaces) permitiram 
integração entre serviços.
̶ Exemplo: API do Google Maps incorporada em sites.
̶ Web services facilitaram comunicação entre sistemas 
diferentes.
̶ REST e GraphQL trouxeram novas abordagens para 
desenvolvimento web.
• Tecnologias-chave: REST, SOAP, GraphQL, JSON, XML.
• As APIs tornaram a web mais dinâmica e 
interconectada.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 15
A ascensão do cloud computing
• O armazenamento e processamento de dados migraram para a 
nuvem.
̶ Aplicações web passaram a utilizar serviços como AWS, Azure e Google Cloud.
̶ Redução de custos operacionais e maior escalabilidade.
̶ Facilitação da colaboração em tempo real (exemplo: Google Docs).
• Tecnologias-chave: AWS, Firebase, Docker, Kubernetes.
• O cloud computing revolucionou a forma como as aplicações são 
desenvolvidas e escaladas.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 16
Web 4.0 e o futuro da Internet
• O futuro da web caminha para maior automação e personalização.
̶ A Web 4.0 busca maior integração entre humanos e máquinas.
̶ Uso de IoT (Internet das Coisas) para conectar dispositivos.
̶ Interfaces de voz e assistentes virtuais mais inteligentes.
• Tecnologias-chave: IoT, 5G, realidade aumentada, IA avançada.
• O desenvolvimento web continuará evoluindo com novas tecnologias 
e demandas.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 17
Introdução ao desenvolvimento web
• O desenvolvimento web envolve a 
criação e manutenção de sites e 
aplicações acessíveis pela Internet.
• Utiliza diferentes linguagens, 
frameworks e tecnologias para 
estruturar, estilizar e tornar uma 
aplicação interativa.
• O processo envolve tanto a parte 
visual (front-end) quanto a lógica e os 
dados (back-end).
• Com a evolução da web, novos 
conceitos surgiram para melhorar a 
experiência do usuário, a 
acessibilidade e a segurança.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 18
Importância do desenvolvimento web
• O impacto da web no mundo moderno:
̶ Empresas e profissionais dependem de sites para visibilidade e negócios.
̶ Aplicações web permitem acesso remoto a serviços essenciais.
̶ A usabilidade e segurança impactam diretamente a confiança dos usuários.
̶ A web está em constante evolução, exigindo atualização contínua dos 
profissionais.
• Dominar o desenvolvimento web abre portas para diversas 
oportunidades no mercado de tecnologia.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 19
Introdução às tecnologias de 
desenvolvimento web
• O desenvolvimento web é dividido em front-end e back-end, cada 
um com ferramentas específicas.
̶ A escolha da tecnologia depende do contexto do projeto, desempenho 
desejado e escalabilidade.
• Uma aplicação web moderna é composta por diferentes partes que 
colaboram para oferecer uma interface amigável e um back-end 
eficiente.
̶ Estes itens são essenciais para o funcionamento completo de uma aplicação 
web.
• A interação entre essas camadas permite a criação de sites dinâmicos 
e funcionais.
̶ Entender essa estrutura é essencial para desenvolver aplicações robustas e 
escaláveis.
• Essa estrutura é interligada por protocolos de comunicação como 
HTTP (ou APIs RESTful) são usadas para padronizar a troca de dados 
entre as diferentes partes da aplicação.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 20
Estrutura de uma aplicação web
• A estrutura básica de uma aplicação web segue o modelo cliente-servidor, 
onde:
• Front-end: é a interface gráfica que o usuário interage diretamente, geralmente 
desenvolvida com tecnologias como HTML, CSS e JavaScript.
• O front-end é responsável pela experiência visual e pela interação com o usuário.
• Back-end: é a lógica de negócios, onde os dados são processados e armazenados.
• Ele é responsável por receber as requisições do front-end, realizar operações no banco de 
dados, e devolver as respostas.
• Tecnologias como Node.js, PHP, Python (Django) são amplamente utilizadas.
• Banco de dados: parte fundamental do back-end, é onde os dados da aplicação são 
armazenados de forma estruturada e podem ser consultados, inseridos ou 
modificados.
• Exemplos incluem MySQL, PostgreSQL, e MongoDB.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 21
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 22
Figura 1: Componentes de uma aplicação web
Fonte: https://bit.ly/3XB3YlB
Aplicações práticas do desenvolvimento web
• O desenvolvimento web é aplicado em 
diversas áreas:
̶ Sites institucionais: empresas e 
organizações.
̶ E-commerce: lojas virtuais e marketplaces.
̶ Redes sociais: plataformas interativas e de 
compartilhamento.
̶ Web apps: aplicações acessadas 
diretamente pelo navegador.
• Tecnologias como PWA (Progressive Web 
Apps) tornam as aplicações web mais 
eficientes.
• Conhecer as tendências da web permite 
desenvolver projetos inovadores e 
competitivos.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 23
Como um site funciona?
• O processo de carregamento de uma página web segue algumas 
etapas:
1. O usuário digita um endereço (URL) no navegador.
2. O navegador envia uma requisição ao servidor.
3. O servidor processa a solicitação e retorna os arquivos necessários.
4. O navegador renderiza o site usando HTML, CSS e JavaScript.
• Protocolo HTTP/HTTPS define a comunicação entre cliente e servidor.
• Compreender esse fluxo ajuda a otimizar sites para maior velocidade 
e segurança.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 24
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 25
Figura 2: Acesso a arquivos de páginas web
Fonte: Forouzan et al. (2013, p. 45)
O que é front-end?
• O front-end é a parte visível de um site 
ou aplicação.
• Responsável por exibir conteúdos e 
interagir com o usuário.
• Um front-end bem projetado melhora a 
usabilidade e a experiência do usuário.
̶ O foco do front-end é proporcionar uma 
experiência visual agradável e responsiva.
• Construído com três tecnologias 
principais:
̶ HTML: define a estrutura da página.
̶ CSS: cuida da aparência e do layout.
̶ JavaScript: adiciona dinamismo e 
interatividade.
̶ Frameworks populares: React, Vue.js e 
Angular.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 26
Frameworks e bibliotecas do front-end
• A escolha da tecnologia depende do projeto e da necessidade do 
usuário.
• Para acelerar o desenvolvimento, utilizamos frameworks e bibliotecas:
̶ React.js: criado pelo Facebook, permite desenvolvimento modular baseado 
em componentes.
̶ Vue.js: framework progressivo, mais leve e fácil de aprender.
̶ Angular: criado pelo Google, ideal para aplicações empresariais escaláveis.
̶ Bootstrap: framework CSS para estilização rápida e responsiva.
• Esses frameworks aumentam a produtividade e facilitam a 
manutenção do código.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 27
O que é back-end?
• O back-end gerencia a lógica do sistema 
e a comunicação com o banco de dados.
̶ Processa requisições do usuário e retorna 
respostas adequadas.
• O back-end é crucial para garantir 
segurança, eficiência e escalabilidade.
̶ Funciona nos bastidores para fornecer 
informações ao front-end.
• Principais tecnologias utilizadas:
̶ Linguagens: PHP, Python, Node.js, Java.
̶ Frameworks: Express.js, Laravel, Django, 
Spring.
̶ APIs: REST, GraphQL para comunicação 
entre sistemas.
̶ Bancos de dados: MySQL, PostgreSQL, 
MongoDB.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 28
Frameworks e ferramentas do back-end
• O back-end utiliza linguagens para processar dados e executar regras 
de negócio:
̶ Node.js: executa JavaScript no servidor, ideal para aplicações escaláveis.̶ Python: fácil de aprender e amplamente usado em inteligência artificial e web.
̶ PHP: popular para desenvolvimento de sites dinâmicos.
̶ Java: excelente para sistemas robustos e corporativos.
̶ C#: indicado para aplicações empresariais na plataforma Microsoft.
• A escolha da linguagem depende da complexidade do sistema e dos 
requisitos do projeto.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 29
Frameworks e ferramentas do back-end
• Os frameworks ajudam a padronizar o código e acelerar o 
desenvolvimento:
̶ Express.js (Node.js): framework minimalista para APIs e microsserviços.
̶ Django (Python): segurança e rapidez para desenvolvimento web.
̶ Spring Boot (Java): modularidade e escalabilidade para grandes sistemas.
̶ Laravel (PHP): estrutura elegante e produtiva para aplicações web.
̶ .NET Core (C#): desenvolvimento eficiente para aplicações empresariais.
• A escolha do framework depende da necessidade de escalabilidade, 
segurança e velocidade do projeto.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 30
Segurança no front-end e back-end
• Segurança é um aspecto fundamental no 
desenvolvimento web.
• No front-end:
̶ Evitar exposição de dados sensíveis no 
código-fonte.
̶ Utilizar HTTPS para comunicação segura.
̶ Implementar políticas de CORS para evitar 
ataques de origem cruzada.
• No back-end:
̶ Implementar autenticação segura (JWT, 
OAuth).
̶ Proteger o banco de dados contra SQL 
Injection.
̶ Criptografar dados sensíveis como senhas.
• A segurança deve ser planejada desde o 
início do desenvolvimento.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 31
Bancos de dados no desenvolvimento web
• O banco de dados armazena e gerencia as informações da aplicação.
̶ O back-end interage com o banco de dados para armazenar e recuperar informações.
• Bancos de dados relacionais (SQL):
̶ MySQL: popular para sites e e-commerces.
̶ PostgreSQL: avançado, usado em grandes aplicações.
̶ SQL Server: integrado com tecnologias Microsoft.
• Bancos de dados NoSQL:
̶ MongoDB: armazena documentos em JSON, ideal para aplicações flexíveis.
̶ Firebase: banco de dados em tempo real, usado em apps móveis e web.
• A escolha entre SQL e NoSQL depende do volume de dados e do modelo da 
aplicação.
̶ Um banco de dados bem estruturado melhora o desempenho e a segurança dos 
sistemas web.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 32
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 33
Tabela 1: Características do front-end e back-end
Fonte: Elaborada pelo autor (2025)
Característica Front-end Back-end
Visibilidade Usuário final vê Executado no servidor
Responsabilidade Interface e interatividade Lógica de negócios e banco de dados
Tecnologias principais HTML, CSS, JavaScript PHP, Python, Node.js, Java
Segurança Controle limitado Controle total de autenticação e acesso
Execução No navegador No servidor
Full stack development
• Um desenvolvedor full stack 
trabalha tanto com front-end 
quanto com back-end.
• Habilidades necessárias:
̶ Conhecimento em HTML, CSS, 
JavaScript (front-end).
̶ Experiência com Node.js, Python, 
PHP ou Java (back-end).
̶ Familiaridade com bancos de dados 
relacionais e NoSQL.
̶ Entendimento de segurança, APIs e 
servidores.
• Full stack é uma opção versátil para 
startups e projetos menores.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 34
Ferramentas para controle de versão e 
deploy
• O controle de versão e a automação de deploy são essenciais para 
desenvolvimento web moderno.
̶ Git e GitHub/GitLab/Bitbucket: permitem versionamento e colaboração.
̶ Docker: criação de ambientes isolados e padronizados para aplicações.
̶ CI/CD (Integração e Entrega Contínua): ferramentas como Jenkins, GitHub 
Actions, Travis CI automatizam testes e deploys.
̶ Heroku, Vercel, Netlify: plataformas para hospedar aplicações web 
rapidamente.
• Essas ferramentas garantem colaboração eficiente e estabilidade no 
desenvolvimento.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 35
Integração entre front-end e back-end
• Envolve a comunicação eficiente entre a interface gráfica 
do usuário e o servidor que processa as informações.
• O front-end envia requisições ao back-end para realizar 
operações como consultar, criar, atualizar e deletar dados, 
enquanto o back-end processa essas requisições e retorna 
respostas.
̶ A boa integração garante que os dados fluam de maneira 
eficiente entre o front-end e o back-end.
̶ Proporcionando uma experiência de usuário rápida, segura e 
estável.
• Exemplo prático:
̶ Usuário preenche um formulário no front-end.
̶ O back-end processa os dados e os salva no banco de dados.
̶ O front-end recebe a resposta do servidor e exibe o resultado.
36Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 37
Figura 3: Representação do back-end e do front-end
Fonte: https://bit.ly/3XTk2Ra
Integração entre front-end e back-end
• Principais recursos ou tecnologias:
̶ APIs RESTful: são interfaces que permitem a comunicação entre sistemas de forma 
padronizada, usando os métodos HTTP (GET, POST, PUT, DELETE).
̶ GraphQL: alternativa ao REST, permite buscar apenas os dados necessários.
̶ SOAP: mais utilizado em serviços empresariais.
̶ Ajax e Fetch API: no front-end são usadas para fazer requisições assíncronas, 
permitindo que a página web atualize seu conteúdo sem recarregar completamente.
̶ Autenticação e segurança: pode ser feita com tokens JWT ou sessões, garantindo que 
somente usuários autorizados possam acessar certos dados ou funcionalidades.
̶ CORS: configura-se o CORS (Cross-Origin Resource Sharing) no back-end para permitir 
que o front-end (domínio ou porta diferente) faça requisições para a API.
̶ JSON e XML: formatos comuns para troca de dados.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 38
Arquitetura monolítica e de microsserviços
• A arquitetura monolítica e a de 
microsserviços são abordagens distintas no 
desenvolvimento de software.
• A arquitetura monolítica é caracterizada por 
um sistema único e integrado, onde todos os 
componentes (interface, lógica de negócio e 
banco de dados) estão interligados.
• Já a arquitetura de microsserviços fragmenta 
o sistema em pequenos serviços 
independentes, que se comunicam via APIs.
• A escolha entre monólito e microsserviços 
depende do contexto.
• Sistemas pequenos podem se beneficiar do 
monolítico, enquanto aplicações complexas e 
escaláveis tendem a se beneficiar dos 
microsserviços.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 39
Arquitetura monolítica
• É um estilo tradicional de desenvolvimento de software onde a 
aplicação inteira é construída como uma única unidade coesa.
̶ Todos os componentes da aplicação são parte de um único projeto e são 
executados em um único processo.
• Unidade única: toda a aplicação é executada como uma única entidade, onde todos os 
módulos (como autenticação, processamento de pagamentos, gerenciamento de 
produtos etc.) compartilham o mesmo código e recursos.
• Desenvolvimento simplificado: é mais fácil começar o desenvolvimento com arquitetura 
monolítica, pois tudo está em um único repositório e ambiente.
• Desempenho otimizado: dentro do mesmo processo, as chamadas entre os componentes 
são diretas, o que reduz latência.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 40
Arquitetura monolítica
• Desvantagens:
̶ Manutenção complexa: à medida que a aplicação cresce, o 
código torna-se difícil de manter e modificar, já que pequenas 
mudanças em uma parte podem impactar todo o sistema.
̶ Escalabilidade limitada: é difícil escalar apenas partes específicas 
da aplicação.
• Geralmente, é necessário escalar toda a aplicação, o que pode ser 
ineficiente.
̶ Deploy mais arriscado: como todas as funcionalidades estão em 
um único sistema, qualquer alteração requer o deploy da 
aplicação inteira, aumentando o risco de introduzir erros.
• A arquitetura monolítica é adequada para aplicações 
pequenas ou no estágio inicialde desenvolvimento, mas 
pode se tornar problemática à medida que a aplicação 
cresce e novas funcionalidades são adicionadas.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 41
Arquitetura de microsserviços
• É um estilo moderno de desenvolvimento de software em que a 
aplicação é dividida em serviços pequenos e independentes.
• Cada serviço é responsável por uma função específica da aplicação e 
se comunica com outros serviços por meio de APIs ou mensagens.
̶ Serviços independentes: cada microsserviço é uma aplicação pequena, 
autônoma e dedicada a uma funcionalidade específica (um serviço para 
pagamentos, outro para gerenciamento de usuários etc.).
̶ Desenvolvimento e deploy independentes: equipes podem desenvolver, 
testar e fazer o deploy de cada serviço de forma independente, sem impactar 
o funcionamento dos outros serviços.
̶ Escalabilidade seletiva: é possível escalar apenas os serviços que exigem mais 
recursos, tornando a aplicação mais eficiente e econômica.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 42
Arquitetura de microsserviços
• Vantagens:
̶ Facilidade de manutenção: como cada serviço é independente, é mais fácil 
atualizar ou corrigir partes específicas da aplicação sem afetar o sistema 
inteiro.
̶ Resiliência: em caso de falha, apenas o serviço afetado pode ser interrompido, 
enquanto os demais continuam funcionando normalmente.
̶ Tecnologias diversificadas: cada microsserviço pode ser desenvolvido com a 
tecnologia mais adequada para sua função.
• Por exemplo, um serviço pode ser escrito em Python e outro em Node.js.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 43
Arquitetura de microsserviços
• Desvantagens:
̶ Complexidade: a arquitetura de microsserviços é mais 
complexa de gerenciar, pois envolve comunicação entre 
serviços, deploys separados e monitoramento de múltiplos 
sistemas.
̶ Comunicação entre serviços: a latência aumenta devido à 
comunicação via rede (APIs ou mensagens), o que pode 
impactar o desempenho se não for gerido adequadamente.
• A arquitetura de microsserviços é recomendada para 
grandes aplicações que exigem alta escalabilidade, 
flexibilidade no desenvolvimento, e uma abordagem 
mais modular.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 44
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 45
Figura 4: Diferença de arquitetura monolítica e de microsserviços
Fonte: https://bit.ly/4dfZQNs
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 46
Figura 5: Comparação: arquitetura monolítica x microsserviços
Fonte: Elaborada pelo autor (2024)
• Estrutura: aplicação única, tudo integrado em um único código.
• Escalabilidade: escala-se a aplicação inteira.
• Facilidade de implementação: inicialmente mais simples.
• Complexidade de manutenção: aumenta conforme a aplicação cresce.
• Deploy: todo o sistema deve ser implantado a cada alteração.
Arquitetura monolítica:
• Estrutura: aplicação dividida em pequenos serviços independentes.
• Escalabilidade: escala-se apenas os serviços necessários.
• Facilidade de implementação: mais complexa de configurar e 
gerenciar.
• Complexidade de manutenção: mais fácil de manter a longo prazo, 
devido à modularidade.
• Deploy: cada serviço pode ser implantado separadamente, reduzindo o 
impacto.
Arquitetura de microsserviços:
Vamos pensar um pouco
1) Uma aplicação web é composta por três camadas principais: a camada de apresentação (front-end), 
responsável pela interface com o usuário; a camada de aplicação (back-end), que processa as requisições e 
implementa a lógica de negócios; e a camada de dados, onde as informações são armazenadas e recuperadas. A 
integração entre essas camadas garante o funcionamento eficiente da aplicação. Considerando a estrutura de 
uma aplicação web com suas três camadas (apresentação, aplicação e dados), assinale qual das alternativas 
abaixo representa corretamente o papel da camada de aplicação (back-end) em um cenário onde o front-end 
envia uma requisição para salvar os dados de um formulário de cadastro.
A) A camada de aplicação processa a requisição, valida os dados enviados, aplica as regras de negócio e faz uma 
chamada para a camada de dados a fim de armazenar as informações.
B) A camada de aplicação recebe a requisição, renderiza o conteúdo da interface, e retorna diretamente os 
dados para o usuário.
C) A camada de aplicação realiza a persistência direta dos dados no banco, sem qualquer validação ou aplicação 
de regras de negócio, retornando uma confirmação de sucesso ao usuário.
D) A camada de aplicação apenas recebe a requisição e a repassa para a camada de dados, sem realizar 
qualquer tipo de processamento.
E) A camada de aplicação armazena os dados localmente e sincroniza com a camada de dados apenas quando 
solicitado pelo front-end.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 47
Vamos pensar um pouco
2) Na integração entre front-end e back-end, a troca de informações ocorre via requisições HTTP, com o front-
end enviando dados e o back-end processando e retornando as respostas. Essa comunicação precisa ser bem 
estruturada para garantir que as funcionalidades da aplicação funcionem corretamente, respeitando aspectos 
de segurança, validação e eficiência. Ao integrar o front-end com o back-end de uma aplicação web por meio de 
requisições HTTP, assinale qual das alternativas a seguir descreve corretamente o processo de integração, 
considerando os aspectos de segurança e validação envolvidos.
A) O front-end deve enviar os dados para o back-end, onde a aplicação valida as informações recebidas, aplica as 
regras de negócio, e retorna uma resposta ao front-end.
B) O front-end é responsável por validar os dados antes de enviá-los ao back-end, dispensando a necessidade de 
validação no servidor, o que torna o processo mais eficiente.
C) A troca de informações entre front-end e back-end deve ser feita diretamente com o banco de dados para 
garantir a velocidade do processo, sem passar pela lógica de negócios.
D) O back-end deve apenas retornar os dados que foram enviados pelo front-end, sem a necessidade de 
validação ou aplicação de regras de negócio, para manter a fluidez da aplicação.
E) O front-end realiza a requisição e trata diretamente a lógica de negócios, utilizando APIs externas apenas para 
o armazenamento de dados.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 48
Aprofundando o conhecimento
• Conteúdos complementares:
̶ Back-end x front-end: qual a diferença e qual área devo seguir?
• https://www.youtube.com/watch?v=gqqwnwOYpug
̶ Arquitetura de microsserviços x monolítica:
• https://www.youtube.com/watch?v=7q88mxc5uQw
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 49
https://www.youtube.com/watch?v=gqqwnwOYpug
https://www.youtube.com/watch?v=7q88mxc5uQw
Resumo da aula
• Para resumir parte do conteúdo que foi apresentado em sala, os 
alunos deverão criar um mapa mental.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 50
Atividade verificadora de aprendizagem
• Os alunos deverão realizar a seguinte atividade:
̶ Acessar a seguinte plataforma e realizar o desafio até o final:
• https://userinyerface.com
̶ Os três alunos que finalizarem a tarefa primeiro serão premiados.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 51
https://userinyerface.com/
Atividade verificadora de aprendizagem
• Atividade: Demonstração de Requisições GET, POST, PUT e DELETE via 
Postman
• Metodologia Ativa: aprendizagem baseada em experiência e mão na massa.
• Etapas da atividade:
̶ Preparação do ambiente:
• Certifique-se de que os alunos tenham acesso ao Postman: https://web.postman.co.
• Atividade prática em grupo:
• Divida os alunos em duplas ou pequenos grupos.
• Cada grupo deve executar as requisições HTTP utilizando o Postman.
• Peça para os grupos utilizarem a interface do Postman para validar as respostas.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 52
https://web.postman.co/
Atividade verificadora de aprendizagem
• Dicas:
̶ Explique que os alunos irão testardiferentes métodos de requisição HTTP nos 
seguintes endpoints da API de exemplo JSON Placeholder 
(https://jsonplaceholder.typicode.com).
• Observação: “/posts” significa o recurso, e o 1 em “/posts/1” representa /posts/{id}, 
portanto, o número de ID é 1.
• O servidor apaga os dados “alterados” automaticamente.
• É possível acessar esses URLs para visualizar os dados retornados pelo método GET 
diretamente no navegador.
• No entanto, para realizar requisições do tipo POST, PUT ou DELETE, será necessário utilizar o 
Postman.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 53
https://jsonplaceholder.typicode.com/
Atividade verificadora de aprendizagem
• Apresentação dos endpoints:
̶ GET: acessa o endpoint para buscar todos os posts. Peça aos grupos que observem o formato da resposta em JSON.
• https://jsonplaceholder.typicode.com/posts
̶ GET: acessa o endpoint para buscar apenas um post.
• https://jsonplaceholder.typicode.com/posts/1
̶ POST: realiza a criação de um novo post fornecendo um corpo JSON.
• https://jsonplaceholder.typicode.com/posts
• No Body, selecione a opção raw, escolha JSON no menu suspenso, e insira o JSON formatado que deseja enviar antes de submeter a requisição.
{
 "userId": 1,
 "title": "Título de exemplo...",
 "body": "Corpo de exemplo..."
}
̶ PUT: atualiza o recurso de ID 1 substituindo o conteúdo por um novo. O método PUT sobrescreve totalmente o recurso.
• https://jsonplaceholder.typicode.com/posts/1
• No Body, selecione a opção raw, escolha JSON no menu suspenso, e insira o JSON formatado que deseja enviar antes de submeter a requisição.
{
 "userId": 1,
 "title": "Título de exemplo 2...",
 "body": "Corpo de exemplo 2..."
}
̶ DELETE: deleta o recurso de ID 1, demonstrando como o método DELETE remove recursos.
• https://jsonplaceholder.typicode.com/posts/1
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 54
https://jsonplaceholder.typicode.com/posts
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts/1
Tema da próxima aula
• Aula 02:
̶ Unidade 1: Modelo cliente-servidor, servidores web, navegadores e fluxo de 
requisição e resposta.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 55
Referências
• FOROUZAN, Behrouz A; MOSHARRAF, Firouz. Redes de computadores: 
uma abordagem top-down. Porto Alegre: AMGH, 2013.
• RICHARDSON, Leonard; AMUNDSEN, Mike; RUBY, Sam. RESTful web 
APIs: services for a changing world. Sebastopol: O’Reilly Media, 2013.
• RICHARDSON, Leonard; RUBY, Sam. RESTful web services. Sebastopol: 
O’Reilly Media, 2007.
• ZAMMETTI, Frank. Modern full-stack development: using TypeScript, 
React, Node.js, Webpack, Python, Django, and Docker. 2. ed. [S.l.]: 
Apress, 2022. E-book.
Prof. Edinilson Vida | edinilson.vida@ifsc.edu.br 56
Dúvidas?
Agradeço a atenção!
	Slide 1: Aula 01
	Slide 2: Roteiro
	Slide 3: Objetivo
	Slide 4: Situação-problema
	Slide 5: Leitura específica
	Slide 6: A World Wide Web
	Slide 7: A World Wide Web
	Slide 8: A World Wide Web
	Slide 9: Introdução à evolução da web
	Slide 10: Introdução à evolução da web
	Slide 11: O surgimento da web (Web 1.0)
	Slide 12: A Web 2.0: interatividade e redes sociais
	Slide 13: O crescimento do mobile e da web responsiva
	Slide 14: Web 3.0: a Internet inteligente
	Slide 15: O impacto das APIs na evolução da Web
	Slide 16: A ascensão do cloud computing
	Slide 17: Web 4.0 e o futuro da Internet
	Slide 18: Introdução ao desenvolvimento web
	Slide 19: Importância do desenvolvimento web
	Slide 20: Introdução às tecnologias de desenvolvimento web
	Slide 21: Estrutura de uma aplicação web
	Slide 22
	Slide 23: Aplicações práticas do desenvolvimento web
	Slide 24: Como um site funciona?
	Slide 25
	Slide 26: O que é front-end?
	Slide 27: Frameworks e bibliotecas do front-end
	Slide 28: O que é back-end?
	Slide 29: Frameworks e ferramentas do back-end
	Slide 30: Frameworks e ferramentas do back-end
	Slide 31: Segurança no front-end e back-end
	Slide 32: Bancos de dados no desenvolvimento web
	Slide 33
	Slide 34: Full stack development
	Slide 35: Ferramentas para controle de versão e deploy
	Slide 36: Integração entre front-end e back-end
	Slide 37
	Slide 38: Integração entre front-end e back-end
	Slide 39: Arquitetura monolítica e de microsserviços
	Slide 40: Arquitetura monolítica
	Slide 41: Arquitetura monolítica
	Slide 42: Arquitetura de microsserviços
	Slide 43: Arquitetura de microsserviços
	Slide 44: Arquitetura de microsserviços
	Slide 45
	Slide 46
	Slide 47: Vamos pensar um pouco
	Slide 48: Vamos pensar um pouco
	Slide 49: Aprofundando o conhecimento
	Slide 50: Resumo da aula
	Slide 51: Atividade verificadora de aprendizagem
	Slide 52: Atividade verificadora de aprendizagem
	Slide 53: Atividade verificadora de aprendizagem
	Slide 54: Atividade verificadora de aprendizagem
	Slide 55: Tema da próxima aula
	Slide 56: Referências
	Slide 57: Dúvidas? Agradeço a atenção!

Mais conteúdos dessa disciplina