Programação para a Web e Silverlight

Um amigo, físico aposentado, confessou-me outro dia estar se divertindo bastante com programação. Já fez um pequeno ERP para a empresa de um amigo em comum e agora está tentando se expandir para a web. Na conversa ele me confessou uma dificuldade:

- São muitas as tecnologias webs – que confusão! ASP ou PHP, Html, CSS, JScript, Ajax.... Não deveríamos simplificar?

De fato, também tenho o sentimento de que a programação na web tem se desenvolvido de uma forma um tanto atabalhoada. Sedimento sobre sedimento, buscando incrementar facilidades e respeitando o passado, estamos hoje exigindo boas horas de estudo e treinamento dos que desenvolvem para a web.

A web já nos mostrou que ela é mais do que páginas e dados. Ela também é uma plataforma de instalação de aplicações que chegam pelo navegador rodando ActiveX, Flash, JScript ou Silverlight. Esta parece ser uma das corridas mais interessantes atualmente. Quem irá tornar o nosso navegador, antigamente burro, inteligente? O ActiveX já se mostrou limitado por não ser multiplataforma e ser um tanto inseguro. A Google aposta no JScript e na geração de código nativo. A Adobe parece estar no gueto dos web designers. TEnho ouvido pouco do JavaFX. Será que o Silverlight está ok nesta guerra?

O Silverlight tem alguns conceitos interessantes que parecem promissores:

  • A definição visual é feita em XAML e, devido à sua regularidade como linguagem, parece ser promissor pensar que teremos ferramentas de drag-and-drop poderosas para criar um design. Sonho com o dia em que não leremos o fonte de uma tela, assim como os programadores VB não liam seus arquivos frm;
  • A programação pode ser feita em qualquer linguagem .Net. O que, para mim, significa uma engenharia de software mais poderosa do que o atual JScript, já que provê componentização, orientação a objetos plena e erro em tempo de compilação. Fora o uso de tecnologias já comprovadas, onde o melhor exemplo é o Linq;
  • O ambiente de execução provê bom desempenho com geração de código nativo e já nasce multiplataforma;
  • Já começam a surgir um mercado de componentes visuais que facilitam a programação como aconteceu com os antigos VBX;
  • Ele permite a chamada de WebServices e REST de forma simples, tornando-o interessante para se tornar front-end de aplicações n-tiers;

Livros como o Data-Driven Services with Silverlight 2 ou o Restful .Net: Build and Consume RESTful WebServices with .Net 3.5 já mostram um padrão mais simples de programação com o Silverlight do que um ASP.Net com Ajax - pelo menos para o meu gosto. Já se fala em aplicações LOB com ele (ver no Channel9 Silverlight is Ready for Business ou Brad Abrams - Silverlight 3.0 for Great Business Apps).

Não sei se ele será um sucesso, mas parece que ele está fazendo mais fama com desenvolvedores do que com web designers. Entendo que web designers não percebem no Silverlight grandes mudanças na forma de fazer seus projetos. Já os desenvolvedores vêem o Silverlight como uma extensão simples ao conhecimento que já possuem.

E os arquitetos? O que vocês estão achando desta tecnologia?