Esta é a continuação de outro artigo. Se não leu o primeiro, leia Que caminho seguir no desenvolvimento web? (parte 1).

Deixando de lado o desenvolvimento para desktop que abordei no capítulo anterior, vamos para o tema principal do artigo, desenvolver para a web. Provavelmente você já viu alguém falar que a web é o futuro, e todo este blá blá blá que não vou repetir aqui, apesar de achar que é verdade. Vale ressaltar todos os pontos fortes, que é a facilidade de escrever um aplicativo que vai rodar em todo tipo de Sistema Operacional, e até em celulares, sem muito esforço.

Dentro da área do desenvolvimento web existem tantas opções que é fácil ficar perdido. Você pode desenvolver programando em Java, ASP, .NET, PHP, Python, Ruby, pra citar as principais. Pode também ser o cara que programa scripts que rodarão no lado do cliente, que é o caso do javascript. Pode desenvolver aplicações irritantes em flash ou silverlight. Ou pode ser o gay o cara que desenvolve “a cara” do site, que é o gay designer. Caraca, quantas opções.

Conhecimentos Básicos

Existem algumas coisas que você deveria saber, independente de qual área dentro do webdesign você escolheu. Todos os envolvidos no processo deveriam ter uma boa noção de XHTML e CSS. Sim, eu disse XHTML. Esqueça o HTML, ele é feio, antiquado, bugado, e o principal: não tem regras rígidas, o que faz com que cada browser interprete o HTML do seu próprio jeito. O XHTML está aí há anos, aprenda.

Porque precisam desse conhecimento? Bom, porque todo mundo envolvimento no desenvolvimento web vai se deparar, mais cedo ou mais tarde, com a estrutura básica de toda página, que é o XHTML (pro conteúdo) e o CSS (pra aparência deste conteúdo).

Não importa em que linguagem você está desenvolvendo seu site, tudo aquilo sempre vai ser convertido pra XHTML na hora de enviar pro navegador do visitante.

As Camadas do Site

Todo site geralmente envolve três principais áreas na parte do desenvolvimento: linguagem de servidor, linguagem de cliente, e apresentação.

A linguagem de servidor, ou server-side scripting, é a linguagem que vai rodar “por trás dos panos”, fornecendo a lógica principal da aplicação. Funciona assim, sempre que o usuário faz um request (entra numa página, clica num link, etc), o pedido é enviado pro servidor. A linguagem server-side, então, recebe o request e faz o processamento. Depois, transforma o resultado final num XHTML e envia pro navegador. é a linguagem server-side que vai verificar se o usuário está logado, vai buscar informações no banco de dados, e por aí vai.

Como a linguagem server-side processa as coisas ANTES de enviar para o navegador, isso significa que uma vez que a página foi enviada ao navegador do usuário, não há mais nada que a linguagem server-side possa fazer até um novo request seja enviado. Ou seja, não é possível usar estas linguagens para manipular a página do usuário em tempo real. Para o usuário, a linguagem server-side não importa, e ele nem tem como descobrir qual linguagem está sendo usada.

A linguagem de cliente, ou client-side scripting, é a linguagem que é executada no próprio computador do usuário, e por isso é usada nas situações em que a linguagem server-side não tem alcance. Entre as linguagens client-side, temos o javascript, que é a única linguagem que realmente roda no navegador do usuário. Através do javascript é possível manipular a página do usuário diretamente, fazendo coisas dinâmicas que vão desde mudar o valor de um campo do formulário até criar uma área redimensionável que pode ser arrastada pela página.

Como todo o código javascript está no próprio navegador, o usuário pode ver o código e pode também, através do uso de uns programas, manipular o código. Isso faz com que as linguagens client-side sejam inseguras pra fazer coisas como acessar um banco de dados. Juntas, as linguagens server-side e client-side se complementam.

Existe mais uma forma de client-side, que são os aplicativos feitos em Flash ou Silverlight. Estes podem ser muito irritantes para o usuário, e deveriam ser usados apenas em situações bem específicas, como exibir vídeos ou criar um player de música.

Por último, no lado da apresentação, temos a parte em XHTML e CSS. Os navegadores são feitos para entender XHTML e HTML, e por isso todo conteúdo deve vir neste formato. O designer fica responsável por organizar os dados num XHTML, e criar um arquivo CSS que vai definir a aparência destes dados.

Na próxima parte, começarei a falar sobre cada linguagem específica, na área da web. Até lá…