Unidade A - Introdução ao desenvolvimento para Web

Linguagens de Programação para Web: client-side e server-side

Nesta seção vamos falar sobre dois tipos de linguagens que são usadas no desenvolvimento para Web e diferenciar em que situações devemos usar cada uma delas.  Primeiro, precisamos saber o que significa client-side e server-side:

Client-side (lado cliente): o computador do usuário que está acessando um site por meio do navegador.

Server-side(lado servidor): servidor que hospeda o site.


A figura A.2 apresenta o Cliente e o Servidor que interagem no processo de acesso ao um site.

Então quando falamos de uma linguagem de script (linguagem interpretada) do lado cliente, significa que esta linguagem está sendo interpretada pelo navegador do cliente.

Já uma linguagem de script do lado servidor tem seu código interpretado no servidor, sendo que o cliente recebe apenas o resultado do seu processamento.

Com relação à linguagem do lado cliente, é utilizado o JavaScript para que seja  possível manipular a página do usuário diretamente, tomando ações dinâmicas que vão desde emitir uma mensagem,  validação de um formulário, abrir e configurar janelas, manipulação de objetos da página, detectar versão do navegador. A figura A.3 apresenta um exemplo de validação de formulário que apresenta mensagens ao usuário quando os campos obrigatórios não são preenchidos. Assim, para situações que necessitam de interação com o usuário e não dependem do servidor, usamos a programação JavaScript.


A linguagem do lado servidor é instalada no servidor e vai rodar “por trás dos panos”, fornecendo a lógica principal da aplicação.

A figura A.2 apresenta como ocorre o funcionamento:

  1. Quando o usuário faz uma requisição (entra numa página, clica num link, etc.), o pedido é enviado ao servidor.
  2. O servidor recebe a requisição e verifica se a página tem código que precisa ser interpretado. Em caso positivo faz o processamento.
  3. Depois, transforma o resultado final em um XHTML e envia ao navegador do cliente. Assim, o cliente já recebe tudo pronto.


Uma linguagem do lado servidor é necessária, por exemplo, quando precisamos interagir com um banco de dados (que está no servidor). Por exemplo, quando você acessa um site que publica notícias, muito provavelmente, este site armazena as notícias em uma base de dados e uma linguagem do lado servidor é utilizada para recuperar esses dados e gerar dinamicamente uma página HTML de visualização para o usuário.

Existem várias linguagens do lado servidor: PHP, JSP, ASP, Python. Nossa disciplina estudará a linguagem PHP(Hypertext Preprocessor) que é atualmente uma das linguagens mais utilizadas, open-source e independente de plataforma. Quando abordamos a linguagem falaremos mais sobre ela.

Tendências Web

Falaremos um pouco agora sobre alguns importantes conceitos que são tendências para a Web. É visível como as páginas Web evoluíram, melhoraram com o passar do tempo. Atualmente, os usuários têm mais liberdade, podem participar e interagir com blogs, redes sociais e outros serviços que estão cada vez mais presentes. Dois conceitos bem atuais relacionados a este novo cenário da Web é a Web 2.0 e A Web 3.0.

Web 2.0

A Web 2.0 não é uma nova Web, mas sim um termo utilizado para denotar um novo conceito de aplicações, que reforça a ideia de troca de informações e colaboração dos internautas com sites e serviços virtuais. Neste conceito, o ambiente on-line se torna mais dinâmico e os usuários colaboram para a organização do conteúdo.

Alguns exemplos que estão alinhados a este novo conceito são a enciclopédia Wikipedia, cujas informações são disponibilizadas e editadas pelos próprios internautas, o Orkut, o Facebook, o Youtube, o Twitter, Flickr, LinkedIn, Blogs, entre outros.

Com a Web 2.0, o grande desafio é que os sites precisam lidar com um público cada vez mais ativo e presente, que deseja interagir. Por isso, a divulgação e a publicidade se tornaram cada vez mais necessários nesse cenário.

Associado a isso, outras tecnologias vêm surgindo e requerem que o desenvolvedor faça uso delas para aprimorar os sites. Vamos falar um pouquinho de uma tecnologia que os desenvolvedores para Web devem conhecer: AJAX.

AJAX (Asynchronous Javascript and XML - Assíncrono de Javascript e XML é o uso metodológico de tecnologias como Javascript e XML com o objetivo de tornar páginas Web mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. Assíncrono se refere ao método para se comunicar com um servidor web sem a necessidade de recorrer ao recarregamento de página, não precisa haver sincronia do carregamento de dados com o carregamento da página Web. Isso permite que a navegação seja mais interativa para o usuário. Segundo Jesse James Garrett (inventor do termo),    “AJAX não é uma tecnologia. São, não verdade, várias tecnologias, juntando-se de maneiras novas e poderosas.” A Google utiliza muito este recurso nas suas ferramentas, por exemplo, quando se pretende fazer um login e o usuário e/ou senha são inválidos. Para fazer essa verificação, a página faz uma solicitação ao servidor que retorna um resultado. A página trata esse resultado e mostra uma mensagem na página para o usuário, tudo isso sem recarregar a página (a figura A.4 apresenta um exemplo).


Web 3.0

A Web 3.0 ainda não está presente, mas é também um novo conceito de Web que pretende ser a organização e o uso de maneira mais inteligente de todo o conhecimento já disponível na Web. Este paradigma surgiu a partir da necessidade de desenvolvimento de programas que entendam como fazer melhor uso da grande quantidade de dados. Assim, o foco principal da Web 3.0 é a Web semântica.

A Web Semântica tem como premissa uma web com toda sua informação organizada de forma que não somente seres humanos possam entendê-la, mas principalmente máquinas. O objetivo é tornar tarefas como a pesquisa sobre filmes e sobre comida mais rápidas e mais fáceis. Em vez de múltiplas pesquisas, você poderá digitar uma ou duas frases complexas no seu navegador e este irá analisar sua pergunta, pesquisar por todas as respostas possíveis e então, organizar os resultados para você.