Não tem muito
segredo. A evolução típica de uma tecnologia que se torna popular é mais ou
menos previsível: para resolver os problemas de limitação e permitir que ela
atenda a diferentes propósitos, lança-se mão de uma interface programável.
Assim, o que antes era limitado, ganha enorme flexibilidade. Isso normalmente é
feito criando-se algum tipo de "linguagem de programação". Não
chega a ser propriamente uma linguagem de programação. Seria um dialeto
interno do produto, que permite um certo grau de programação, mas que é
normalmente interpretado de forma rudimentar, sem grandes sofisticações.
Afinal, é apenas uma forma de tornar mais flexível algo que já existe, e não
uma linguagem para se criar aplicações complexas ou algo mais sofisticado.
Esse artifício
tem sido adotado largamente pela indústria de software, dando origem a produtos
interessantes e altamente funcionais. Dificilmente se encontra algum software
hoje em dia que não possua algum tipo de interface programável. Desde
processadores de texto e planilhas eletrônicas, até gerenciadores de bancos de
dados de uso pessoal.
As tecnologias
mais populares para criação de páginas dinâmicas existentes no mercado não
são exceções. Tanto o ASP quanto o PHP têm suas origens no mesmo princípio:
tornar páginas web mais flexíveis, e customizáveis. E o sucesso é inquestionável.
Da mesma forma
indiscutível, é o aumento da complexidade e volume de código exigido para
atender às necessidades do mercado atualmente. Já não é mais suficiente
criar páginas dinâmicas capazes de interagir com bancos de dados. O mercado
precisa migrar aplicações complexas para o ambiente web, abandonar o modelo
visual que exige estações parrudas, distribuir o processamento e acesso à
aplicação através da Internet.
Nesse novo cenário,
a página dinâmica não é mais o centro das atenções. Ela passa a ser apenas
um elemento que faz parte de um contexto mais amplo: a aplicação web.
Do ponto de vista
de funcionalidade, podemos dizer que praticamente todas as linguagens de
scripting (ASP/PHP/MSP/JSP) oferecem elementos suficientes para se fazer o que
se pretende. Cada qual com suas particularidades. Mas o que o desenvolvedor
precisa se preocupar na hora de escolher a tecnologia mais adequada para seus
projetos, é com a arquitetura por trás de cada uma dessas alternativas.
Uma olhada nas
origens de cada alternativa pode ser bastante útil. Tanto o ASP
quanto o PHP foram
originados a partir do artifício comumente utilizado pelas empresas de
software, para estender a funcionalidade das páginas web. Nenhuma dessas
tecnologias é baseada numa linguagem de programação, planejada e formalmente
definida. A linguagem foi sendo construída de forma gradativa e, em muitas
situações, até desordenada. Os recursos normalmente foram sendo acrescentados
conforme as necessidades, sem muito planejamento.
As consequências
dessa ausência de planejamento e estruturação da linguagem vão aparecer para
o desenvolvedor na pior hora possível: quando a aplicação já está
adquirindo proporções consideráveis. A manutenção vai ficando cada vez mais
complexa até o ponto de se tornar impraticável. Isso porque essas
pseudo-linguagens normalmente não podem ser compiladas. Não permitem que sejam
criadas bibliotecas de componentes com código que possa ser colocado fora das páginas
dinâmicas, para compartilhamento e reutilização por outras páginas.
Na categoria de
produtos para desenvolvimento web baseados em linguagens de programação, há
duas outras alternativas que merecem destaque: o JSP
(Java) e o MSP
(Max Server Pages). Ambos utilizam linguagens bem definidas, possuem
compiladores, e permitem a criação de bibliotecas de código pré-compilado,
que pode ser armazenado fora das páginas dinâmicas.
As duas
tecnologias, entretanto, possuem enfoques bastante diferentes.
A tecnologia Java
dispensa apresentações. Linguagem orientada a objetos, multi-plataforma, escalável,
arquitetura aberta, compatível com todas as siglas mais quentes do momento. Sem
dúvida, a última palavra em tecnologia: todo mundo quer aprender. E esse
parece ser um grande problema: a famosa "learning-curve" (ou
"curva de aprendizado", a maneira elegante que os americanos
encontraram para descrever algo que é muito difícil de se aprender). Mas isso
varia de pessoa para pessoa, portanto, é bom cada um conferir por conta própria.
Por sua vez, a
tecnologia MSP
(Max Server Pages) tem um escopo mais focado, menos abrangente que o Java. O
produto permite a criação de grandes aplicações, pré-compilação de
componentes para execução no servidor, acessa bancos de dados com comandos de
alto nível (via ODBC), e gera aplicações totalmente portáveis para Windows e
Linux. A linguagem utilizada é derivada do Xbase (Clipper), uma linguagem muito
popular no mercado de desenvolvimento de aplicações comerciais. É certamente
uma das linguagens de programação mais fáceis de se aprender.
O MSP
é uma opção interessante principalmente para empresas de pequeno e médio
porte, uma vez que não exige investimentos substanciais em treinamento e
infra-estrutura (servidores de alto custo). O MSP
também é uma alternativa atraente para desenvolvedores de aplicações
comerciais buscando migrar suas aplicações para a web, a plataforma sucessora
do Windows.
A web é, por
natureza, um ambiente heterogêneo onde diversas tecnologias convivem e cooperam
entre si. Para o desenvolvedor, é importante escolher e empregar a tecnologia
mais adequada para o projeto que está sendo executado. Na maioria das vezes, a
preferência pessoal por esta ou aquela tecnologia precisa ser colocada em
segundo plano, dando lugar a uma análise mais abrangente da necessidade do
cliente. Por isso, é fundamental estar bem informado sobre todas as
alternativas interessantes disponíveis no mercado.
Praticamente
todas as tecnologias mencionadas podem ser obtidas gratuitamente na web para análise
e avaliação. Vale a pena conhecer melhor e formar opiniões próprias sobre
cada uma dessas alternativas.
|