Silverlight é WPF?

Muitos já perceberam o quanto eu estou empolgado com as possibilidades que o Silverlight traz para Web. Já estava empolgado com a versão em Javascript, antes conhecida como "WPF/E" e agora como Silverlight 1.0. Quando pensamos na versão 1.1 com .NET rodando no cliente, o potencial é mais impressionante ainda.

Mas, uma questão me preocupa neste assunto é que tenho ouvido e lido diversas pessoas falarem que o Silverlight é a maneira de rodar WPF na WEB. Entendo estes comentários, já que o XAML é a base das duas tecnologias.  Entendo também que esta é uma maneira de tentar facilitar o entendimento do que ele é. Porém, esta afirmação é, no meu ponto de vista, é muito perigosa. Por que?

Porque o Silverlgiht não é o WPF na WEB. Como mencionei anteriormente, eles tem o XAML como ponto comum. Esta é a semelhança entre eles: executar xaml. Porém, é ser simplista de mais afirmar que eles são a mesma coisa. O XAML executado no Silverlight é apenas um sub-set do XAML executado no WPF. Portanto, muita coisa que podemos fazer no WPF, definitivamente não pode ser feito no Silverlight, pelo menos não da mesma maneira. Isto inclui animações 3D (realmente 3D), controles (a maioria deles) e databinding.

Isto certamente não dimimui o potencial nem as perspectivas do Silverlight. Nem tampouco quer dizer que o Silverlight não pode evoluir para ter algumas destas funcionalidades. Mas, quando queremos conhecer uma tecnologia, principalmente se pretendemos utilizá-la, precisamos saber exatemente seus prós e contras. Para isto, precisamos saber o que ela realmente é e o que pode e o que não pode ser feito com ela.

O Silverlight é muito bacana e aumenta significativamente a nossa expectativa na Web, mas não é o WPF no browser.

Até mais!!!!