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

Prévia do material em texto

Curso: Linguagens de Programação - Programação Web 
UFCD09 - 9952 - Programação de aplicações e sítios web 
dinâmicos 
 
 
 
1 
 
A maioria dos sites de grande escala usa código do lado do servidor para exibir dinamicamente diferentes 
dados quando necessário, geralmente retirados de uma base de dados armazenada num servidor e enviados 
ao cliente para serem exibidos por meio de algum código (por exemplo, HTML e JavaScript). 
Talvez o benefício mais significativo do código do lado do servidor seja que ele permite personalizar o 
conteúdo do site para utilizadores individuais. Os sites dinâmicos podem destacar o conteúdo que é mais 
relevante com base nas preferências e hábitos do utilizador. Ele também pode tornar os sites mais fáceis de 
usar, ao armazenar preferências e informações pessoais - por exemplo, reutilizando os detalhes armazenados 
do cartão de crédito para agilizar os pagamentos subsequentes. 
Pode até permitir a interação com os utilizadores do site, enviando notificações e atualizações por e-mail ou 
por outros canais. Todos esses recursos permitem um envolvimento muito mais profundo com os utilizadores. 
No mundo moderno do desenvolvimento web, aprender sobre desenvolvimento do lado do servidor é 
extremamente recomendado. 
 
O QUE É PROGRAMAÇÃO DE SITE DO LADO DO SERVIDOR? 
Os navegadores comunicam com web servers utilizando o HyperText Transfer Protocol (HTTP). Quando se clica 
num link de uma página da web, envia um formulário ou faz uma pesquisa, uma HTTP request (solicitação 
HTTP) é enviada do navegador para o servidor de destino. 
A solicitação inclui um URL que identifica o recurso afetado, um método que define a ação necessária (por 
exemplo, para obter, excluir ou postar o recurso) e pode incluir informações adicionais codificadas em 
parâmetros de URL (os valores dos campos que são enviados por meio de uma query string), como dados POST 
(dados enviados pelo método HTTP POST), ou associados em cookies. 
Os servidores da web esperam por mensagens de solicitação do cliente, processam-nas quando chegam e 
respondem ao navegador da web com uma mensagem de resposta (HTTP response). A resposta contém uma 
linha de status indicando se a solicitação foi bem-sucedida ou não (exemplo: "HTTP/1.1 200 OK" for success). 
O corpo de uma resposta bem-sucedida a uma solicitação conteria o recurso solicitado (por exemplo, uma 
nova página HTML ou uma imagem, etc), que poderia então ser exibido pelo navegador. 
Sites estáticos 
O diagrama abaixo mostra uma arquitetura básica de servidor da web para um site estático. Um site estático 
é aquele que retorna o mesmo conteúdo embutido no código do servidor sempre que um determinado 
recurso é solicitado. Quando um utilizador deseja navegar para uma página, o navegador envia uma solicitação 
HTTP "GET" especificando seu URL. 
O servidor recupera o documento solicitado do seu sistema de arquivos e retorna uma resposta HTTP 
contendo o documento e um success status. Se o arquivo não puder ser recuperado por algum motivo, será 
retornada um status de erro. 
Curso: Linguagens de Programação - Programação Web 
UFCD09 - 9952 - Programação de aplicações e sítios web 
dinâmicos 
 
 
 
2 
 
 
Sites dinâmicos 
Um site dinâmico é aquele em que parte do conteúdo da resposta é gerado dinamicamente, apenas quando 
necessário. Num site dinâmico, as páginas HTML são normalmente criadas inserindo dados de uma base de 
dados em espaços reservados nos modelos HTML (essa é uma maneira muito mais eficiente de armazenar 
grandes quantidades de conteúdo do que usar sites estáticos). 
Um site dinâmico pode retornar dados diferentes para um URL com base nas informações fornecidas pelo 
utilizador ou preferências armazenadas e pode realizar outras operações como parte do retorno de uma 
resposta (exemplo: enviando notificações). 
A maior parte do código, para oferecer suporte a um site dinâmico, deve ser executado no servidor. A criação 
desse código é denominado "server-side programming" (ou às vezes "back-end scripting"). 
O diagrama abaixo mostra uma arquitetura simples para um site dinâmico. Como no diagrama anterior, os 
navegadores enviam solicitações HTTP para o servidor, então o servidor processa as solicitações e retorna as 
respostas HTTP apropriadas. 
As solicitações de recursos estáticos são tratadas da mesma maneira que para sites estáticos (recursos 
estáticos são quaisquer arquivos que não mudam - normalmente: CSS, JavaScript, imagens, arquivos PDF pré-
criados etc.). 
 
As solicitações de recursos dinâmicos são encaminhadas (2) para o código do lado do servidor (mostrado no 
diagrama como uma web application). Para "solicitações dinâmicas", o servidor interpreta a solicitação, lê as 
Curso: Linguagens de Programação - Programação Web 
UFCD09 - 9952 - Programação de aplicações e sítios web 
dinâmicos 
 
 
 
3 
 
informações necessárias da base de dados (3), combina os dados recuperados com modelos HTML (4) e envia 
de volta uma resposta contendo o HTML gerado (5,6). 
 
A PROGRAMAÇÃO DO LADO DO SERVIDOR E DO LADO CLIENTE SÃO IGUAIS? 
Vamos ver o código envolvido na programação do lado do servidor e do lado do cliente. Em cada caso, o código 
é significativamente diferente: 
- Eles têm objetivos e propósitos diferentes. 
- Eles geralmente não usam as mesmas linguagens de programação (exceto JavaScript, que pode ser 
utilizado tanto no lado do servidor quanto no lado do cliente). 
- Eles são executados em diferentes ambientes do sistema operativo. 
O código em execução no navegador é conhecido como client-side code e tem como função principal melhorar 
a aparência e o comportamento de uma página da web renderizada. Isso inclui selecionar e definir o estilo dos 
componentes da IU (Interface do Utilizador), criação de layouts, navegação, validação de formulários, etc. Por 
outro lado, a programação do site do lado do servidor envolve principalmente a escolha de qual conteúdo é 
retornado ao navegador em resposta às solicitações. O código do lado do servidor lida com tarefas como 
validação de dados e solicitações enviadas, usando base de dados para armazenar e recuperar dados assim 
como enviar os dados corretos para o cliente conforme necessário. 
O código do lado do cliente é geralmente escrito em HTML, CSS, e JavaScript — ele é executado dentro de um 
navegador da web e tem pouco ou nenhum acesso ao sistema operativo subjacente (incluindo acesso limitado 
ao sistema de arquivos). 
Os programadores da Web não podem controlar qual navegador cada utilizador pode estar a utilizar para 
visualizar um site - os navegadores fornecem níveis inconsistentes de compatibilidade com recursos de código 
do lado do cliente, e parte do desafio da programação do lado do cliente é lidar com as diferenças no suporte 
do navegador de maneira elegante. 
O código do lado do servidor pode ser escrito algumas linguagens de programação - exemplos de linguagens 
da web do lado do servidor populares incluem PHP, Python, Ruby, C # e NodeJS (JavaScript). O código do lado 
do servidor tem acesso total ao sistema operativo do servidor e o programador pode escolher que linguagem 
de programação (e versão específica) deseja usar. 
Os programadores geralmente escrevem os seus códigos utilizando web frameworks. As Frameworks Web são 
coleções de funções, objetos, regras e outras construções de código projetadas para resolver problemas 
comuns, acelerar o desenvolvimento e simplificar os diferentes tipos de tarefas enfrentadas num determinado 
âmbito. 
Novamente, embora o código do lado do cliente e do servidor usem frameworks, os formatos são muito 
diferentes e, portanto, os frameworks também são. Os frameworks web do lado do cliente simplificam as 
tarefas de layout e apresentação, enquanto que os frameworks web do lado do servidor fornecem muitas 
funcionalidades de servidor da web "comuns" que teriam que ser implementadas (por exemplo, suporte para 
sessões, suporte parautilizadores e autenticação, acesso fácil à base de dados, bibliotecas de modelos, etc.). 
 
Curso: Linguagens de Programação - Programação Web 
UFCD09 - 9952 - Programação de aplicações e sítios web 
dinâmicos 
 
 
 
4 
 
A PROGRAMAÇÃO DO LADO DO SERVIDOR 
A programação do lado do servidor é muito útil porque permite fornecer com eficiência informações 
personalizadas para utilizadores individuais e, assim, criar uma melhor experiência ao utilizador. 
Empresas como a Amazon usam programação do lado do servidor para construir resultados de pesquisa de 
produtos, fazer sugestões de produtos direcionados com base nas preferências do cliente e hábitos de compra 
anteriores, simplificar as compras, etc. 
As base de dados usam a programação do lado do servidor para armazenar informações de contas e permitir 
que apenas utilizadores autorizados visualizem e façam transações. Outros serviços como Facebook, Twitter, 
Instagram e Wikipédia usam programação do lado do servidor para destacar, partilhar e controlar o acesso 
aos conteúdos. 
 
AMBIENTE DE DESENVOLVIMENTO 
Um ambiente de desenvolvimento é um espaço de trabalho que permite aos programadores criar um 
aplicativo ou fazer alterações nele sem afetar a versão ativa do produto de software. Essas alterações podem 
incluir manutenção, depuração e aplicação de patches, etc. 
Dependendo das necessidades do site, a maioria dos ambientes de desenvolvimento contém quatro camadas 
de servidor, incluindo um servidor de desenvolvimento e um servidor de teste. Todas as alterações são 
implantadas em diferentes ambientes antes de lançar um site ou aplicativo ao vivo. 
Como resultado, muitos programadores usam ambientes de desenvolvimento para criar um código-fonte e 
testar se ele funciona no aplicativo sem se preocupar com o impacto nos utilizadores pois eles não perceberão 
nenhuma alteração ou atualização enquanto navegam no site. 
Os programadores também podem usar esse ambiente de outras maneiras, dependendo do projeto. Outra 
vantagem é que ajuda empresas de desenvolvimento web e freelancers a conseguirem mais clientes. 
Por exemplo, usar um ambiente de desenvolvimento local como XAMPP ou Docker ajudará a criar software 
para clientes sem serviço de alojamento ou sem aceder o servidor. Isso ocorre porque o aplicativo do conjunto 
de servidores é armazenado num dispositivo local, como um computador. 
Além de garantir que o aplicativo funciona conforme o esperado para os utilizadores finais, existem outros 
benefícios que se pode obter de um ambiente de desenvolvimento, como por exemplo: 
- Simplificar o fluxo de trabalho: Um ambiente de desenvolvimento ajuda os programadores a configurar 
facilmente cada ferramenta de desenvolvimento, evitando a necessidade de configurá-la separadamente. Isso 
acelera o processo de desenvolvimento de software. 
- Minimizar possíveis erros: Os ambientes de teste permitem que os programadores testem cada código, 
facilitando a localização e correção de erros. 
- Melhorar a produtividade: O processo de desenvolvimento é mais direto, permitindo que os programadores 
executem várias tarefas com mais rapidez e eficiência. Por exemplo, eles podem analisar o código e a sintaxe 
durante a edição. 
Curso: Linguagens de Programação - Programação Web 
UFCD09 - 9952 - Programação de aplicações e sítios web 
dinâmicos 
 
 
 
5 
 
- Padronização do processo de desenvolvimento: O uso de uma interface de ambiente de desenvolvimento 
ajuda vários programadores a colaborar e economizar tempo. 
 
TIPOS DE AMBIENTE DE DESENVOLVIMENTO 
Como os ambientes de desenvolvimento são usados para desenvolver, testar e depurar um aplicativo ou site, 
eles vêm em diferentes tipos de servidores. Cada um tem suas próprias funções: 
- Servidor de desenvolvimento: refere-se à camada principal do ambiente, onde os programadores criam o 
código e o testam diretamente num aplicativo. Ele fornece ferramentas básicas de hardware e software para 
executar tarefas de desenvolvimento, como programação, design e depuração. 
- Servidor de teste: dentro desse ambiente, os programadores podem identificar e corrigir erros que podem 
afetar o fluxo de trabalho do aplicativo e a experiência do utilizador. Em suma, permite-lhes verificar se todas 
as funções podem funcionar como pretendido. 
- Servidor de teste: permite que os programadores criem um produto duplicado para demonstrar ao cliente, 
mas não aos utilizadores. Um servidor de teste permite que eles façam qualquer alteração que desejarem e 
garante que o aplicativo seja executado sem problemas no servidor de produção real. Por exemplo, usar um 
ambiente de teste do WordPress ajudará você a atualizar temas sem quebrar o site original. 
- Servidor de produção: o ambiente do servidor de produção, também conhecido como ambiente ao vivo, é 
onde os utilizadores finais podem usar o aplicativo. Mesmo que o produto funcione corretamente neste 
servidor e tenha passado em todos os testes, os programadores ainda podem realizar testes e adicionar novos 
recursos nesta etapa final.

Mais conteúdos dessa disciplina