Falaremos no editorial de hoje sobre o surgimento da Web,
dos servidores de páginas, traçaremos um panorama
geral do início da programação dinâmica
para Internet e seus problemas. É um começo para
discussão dos conceitos da programação Web,
tanto do lado do cliente como do servidor, próprias para
o desenvolvimento de websites profissionais e
diferenciáveis. O objetivo do artigo é ampliarmos
os conhecimentos a respeito das tecnologias Web e melhor nos
posicionarmos na escolha do que aplicar e quando aplicar mais
adequadamente as soluções sob medida para cada tipo
de problema específico.
Introdução
Antes do surgimento da Web, os ambientes que utilizavam o
paradigma cliente/servidor eram bastante incipientes.
Os sistemas deveriam incluir suas próprias camadas de
comunicação, protocolos de rede, gerenciamento de
memória, envio e recebimento de pacotes, checagem da
consistência de dados, enfim, os códigos passavam
por vários níveis de abstração, dos mais
baixos e árduos de se programar até os mais altos e
sofisticados, chegando a interface final com o cliente.
No começo dos anos 90 no mundo, e em meados de 1995
no Brasil, a Internet comercial, juntamente com a Web, teve o
seu "boom". Esta se viabilizou através do surgimento de
protocolos abertos e padrões de comunicação,
significando o surgimento de um cliente universal de rede.
Várias questões menores foram eliminadas e no palco
apareceram, simplesmente, o usuário e seu provedor de
serviços. Todos os problemas de baixo nível foram
eliminados. Novas questões surgiram, como por exemplo
personalização da experiência do usuário
ou segurança em transações
eletrônicas.
Filosofando um pouco: tudo na vida é assim, primeiro
temos o problema de somar números, quando esse torna-se
natural temos que multiplicar, depois resolvemos
equações, em seguida, utilizamos estas
equações em física para interpretarmos
problemas comuns do dia a dia, depois utilizamos derivadas,
integrais e equações diferenciais para entender de
onde saíram as equações originais e como
refina-las, aumentando o entendimento do problema, e assim
prosseguimos. As camadas de abstração para se
resolver um problema sofisticam-se a medida que as
ferramentas básicas vão se incorporando a seu
interlocutor e são propostas novas maneiras de se
enxergar o problema. Outra analogia, programação de
computadores: manipulamos circuitos lógicos, código
de máquina, programamos em C, fazemos a análise, e
hoje já existem geradores de código que funcionam
bastante satisfatoriamente. Podemos aplicar isso para
ciências, religião, relacionamento e para tudo na
vida.
No começo, novos servidores surgiram com um recurso
chamado Common Gateway Interface, ou CGI. Usando CGI, um
programador pode com 10 linhas fazer uma aplicação
que antes eram necessárias centenas delas. Em vez de
somente programas em C ou outras linguagens de
programação, o programador começou a usar o
que ele achava mais confortável, como em seu ambiente de
trabalho usando Perl, Python, Visual Basic ou uma tradicional
linguagem que ele já esteja habituado (com maior poder
de expressão).
No momento em que esta nova modalidade de se comunicar
tornou-se realidade, em um curto período de tempo
explodiu um novo segmento de mercado chamado "desenvolvimento
para Web".
Hoje em dia, todos os grandes fabricantes de TI estão
voltados para a Web. Você pode programar usando em seu
servidor PHP, ASP da Microsoft, Java (com JSP) da Sun,
E-Speak da HP, utilizar banco de dados Oracle, ou base Lotus
Domino, ou programas backend da Siebel, CA, SAP.
Há ainda as APIs de servidores web, entre outras
muitas formas de se desenvolver para web, tornando complicada
e difícil a escolha de como basear seu desenvolvimento
por parte da equipe responsável pelo projeto.