Divagações sobre Silverlight e HTML 5

Se você acompanha o noticiário de tecnologia, muito provavelmente está sabendo da polêmica, que surgiu durante o PDC 10, realizado na semana passada, envolvendo o HTML 5 e o suposto fim do Silverlight. A Microsoft até já se pronunciou oficialmente sobre o caso, mas como comecei a escrever sobre o assunto antes desse pronunciamento, acredito que valha a pena expor a minha opinião sobre ele. O que escrevi a seguir é baseado no que li na Internet e nas deduções que eu fiz, ou seja, não tenho nenhuma informação exclusiva na qual tenha me baseado e, portanto, posso estar errado sobre alguns pontos.

Os boatos sobre o futuro do Silverlight começaram bem antes do PDC. Em Setembro, foi publicado em um blog o post The rise and fall of Microsoft's UX platform - Part 1, no qual, o autor, um ex-funcionário da Microsoft, dizia que, segundo suas fontes, o Silverlight e o WPF estariam sendo "trocados" pelo HTML 5. Por causa desses boatos, a própria Microsoft publicou um post no blog do time do Silverlight explicando o que ela imaginava ser o futuro dessa tecnologia.

Veio então o PDC, mais precisamente os keynotes de abertura do dia 28 de Outubro (aliás, se você ainda não viu, sugiro que assista, pois tanto os keynotes quanto as sessões podem ser vistas e baixadas gratuitamente pela Internet). Um dos destaques dos keynotes foi o Internet Explorer 9, a nova versão do browser da Microsoft, que encontra-se em versão beta e que, dentre suas várias novidades, um dos principais destaques é o suporte ao HTML 5, que foi bastante explorado na apresentação. Aliás, o suporte ao HTML 5 na próxima versão do Internet Explorer já era de conhecimento público, nenhuma novidade até aí. Além disso, nenhuma palavra foi dita sobre o Silverlight.

Nesse momento, algumas pessoas já começaram a questionar qual seria o papel do Silverlight nessa história, já que a Microsoft estava apoiando tão fortemente o HTML 5. O que essas pessoas não perceberam é que o HTML 5 "concorre" com o Silverlight (e também com o Flash) principalmente no que se refere à parte multimídia (por exemplo, suporte nativo a vídeos, sem a necessidade de plug-ins), mas o Silverlight é muito mais que isso. Além disso, o fato de apoiar o HTML 5 não signfica necessariamente abandonar o Silverlight. Outro ponto que poucas pessoas perceberam é que o apoio da Microsoft ao HTML 5 é mais do que natural, é algo esperado e essencial para o futuro do IE. O Internet Explorer é um browser que ficou muito tempo sem ter uma versão nova lançada (foram vários anos entre o lançamento da versão 6 e a versão 7; a partir daí, o lançamento de novas versões retomou um ritmo mais constante). Isso proporcionou o surgimento de browsers como Firefox e Chrome, que têm ganho terreno às custas do IE, que apesar de ainda ser líder, está vendo seu mercado diminuir ultimamente. É óbvio que a Microsoft está preocupada com isso e também é óbvio que ela utilize um evento como o PDC para promover a próxima versão do IE. Além disso, promover o HTML 5, pode ser um diferencial nesse mercado. Ou seja, não havia nada de errado em dar mais ênfase ao IE 9 nesse momento, pois falar de Silverlight não iria ajudar a ganhar mercado na guerra dos browsers.

No dia 29 de Outubro, a jornalista Mary Jo Foley, especializada na cobertura de assuntos da Microsoft, publicou o artigo que iria causar furor nos dias seguintes. Entitulado Microsoft: Our strategy with Silverlight has shifted, ou seja, em português, "Nossa estratégia para o Silverlight mudou", o artigo continha trechos de uma entrevista realizada no PDC com Bob Muglia, presidente da divisão de Server and Tools da Microsoft, na qual foi abordado o futuro do Silverlight. As informações ficaram um pouco vagas, não é possível entender claramente qual seria essa mudança de estratégia envolvendo o Silverlight, mas em nenhum momento foi dito que esse seria o fim da tecnologia ou que o mesmo perderia importância. O fato é que esse artigo provocou uma série de manifestações na Internet em relação ao debate Silverlight vs HTML 5. Alguns gostaram, outros ficaram confusos e raivosos, e outros tentaram enxegar de maneira mais equilibrada. Mas haveria motivo para tanto barulho? Continue lendo e tire suas conclusões. Destaco abaixo os principais pontos da entrevista:

  • "Silverlight is our development platform for Windows Phone" - traduzindo: "Silverlight é nossa plataforma de desenvolvimento para Windows Phone": ok, nenhuma novidade, todos que acompanham já sabiam disso há bastante tempo;
  • "Silverlight also has some “sweet spots” in media and line-of-business applications" - traduzindo: "Silverlight também está presente em mída e aplicações de negócios": sim, nenhuma novidade também. Como disse anteriormente, o principal ponto onde o Silverlight vai "concorrer" com o HTML 5 é em aplicações multimídia, mas o Silverlight é muito mais que isso. Já com relação às aplicações de negócios, acredito que o Silverlight (e outras tecnologias RIA, como o Flash) tenha uma grande vantagem em relação ao HTML 5, ou seja, na minha opinião, o HTML 5 não vai tornar o desenvolvimento de aplicações de negócios mais fácil ou produtivo e é aí que está o diferencial do Silverlight;
  • "When it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, our strategy has shifted" - traduzindo: "Quando se trata de utilizar Silverlight como um meio da Microsoft para oferecer um ambiente de execução multi-plataforma, nossa estratégia mudou": acredito que essa frase causou toda a confusão. Não ficou claro o que mudou em relação à estragégia do Silverlight. Isso fez com que as pessoas começassem a imaginar coisas e concluíram que o HTML 5 seria a única aposta da Microsoft;
  • "Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward" - traduzindo: "Silverlight continuará sendo uma solução multi-plataforma, funcionando em uma varidade de sistemas operacionais/browsers, evoluindo": era uma coisa que já sabíamos e continua do jeito que está;
  • "But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform" - traduzindo: "Mas HTML é a única solução verdadeiramente multi-plataforma para tudo, incluindo a plataforma iOS da Apple": essa frase, da maneira que foi colocada, também ficou estranha. É óbvio que HTML é a solução multi-plataforma mais bem posicionada atualmente e não acho que isso irá mudar no futuro. Não há dúvida quanto a isso. Só que, do jeito que foi colocada, essa frase dá a entender que o objetivo inicial do Silverlight seria substituir o HTML. Mas isso não é verdade! Pelo menos, eu, e várias pessoas com quem eu já conversei, nunca pensei no Silverlight como sendo um substituto definitivo do HTML. O objetivo do Silverlight é fornecer um ambiente de execução multi-plataforma, que permita desenvolver aplicações ricas, que seriam muito difíceis ou impossíveis de serem desenvolvidas somente com os recursos que o HTML oferece. E com o HTML 5 isso não vai mudar, ou seja, o Silverlight (e também o Flash) também será necessário para preencher essas lacunas mesmo com o HTML 5;

Enfim, não sei se você concorda comigo, mas não há motivo para tanta controvérsia, não é? De qualquer maneira, o próprio Bob Muglia publicou um post no blog do time do Silverlight tentando diminuir a confusão.

Para finalizar, se você foi uma das pessoas que ficou preocupada se deve ou não investir no Silverlight, peas informações acima, acredito que não é preciso ter receios. O HTML 5, por melhor que seja, não vai conseguir resolver todos os problemas e oferecer os recursos que uma tecnologia RIA como o Silverlight oferece. Além disso, como você pode constatar, o Silverlight parece ter um futuro bem longo pela frente. Portanto, eu não teria esse medo.

Novidades do MIX 10

Na semana que passou, aconteceu em Las Vegas, EUA, o evento MIX. Ao lado do PDC e do TechED, o MIX compõe a trinca de eventos principais da Microsoft e, apesar de nunca ter ido a nenhuma edição, na minha opinião, acaba sendo o evento mais interessante, pois é uma conferência para desenvolvedores e designers e também porque é nele que os anúncios mais legais têm sido feitos.

Ao contrário do PDC 09, quando tive oportunidade de acompanhar o evento in loco em Los Angeles, acompanhei o MIX aqui mesmo do Brasil. Aliás, os vídeos das palestras do MIX, como se tornou costume, já estão disponíveis gratuitamente para download. Ou seja, mesmo para aqueles que, como eu, não puderam acompanhar o evento ao vivo, não há desculpa para dizer que não sabe o que aconteceu por lá.

O grande assunto do MIX 10 foi a divulgação da plataforma de desenvolvimento para o Windows Phone 7, o novo sistema operacional da Microsoft para telefones celulares, que tem recebido muitos elogios, apesar dele só chegar no segundo semestre de 2010. O desenvolvimento de aplicações para o Windows Phone 7 será feito através do Silverlight e do XNA Framework. Assim, os desenvolvedores poderão reaproveitar todo o conhecimento que já possuem nessas plataformas para criar aplicações para celulares. Também foram disponibilizadas versões CTPs de ferramentas de desenvolvimento para o Windows Phone 7 que se integram com o Visual Studio 2010 e Expression Blend 4, além de uma versão da família Express do Visual Studio (que é gratuita) voltada para esse ambiente.

Dessa forma, o Silverlight passa a ser uma peça ainda mais fundamental na estratégia de plataforma de desenvolvimento da Microsoft. Além de possibilitar a criação de aplicações RIA que rodam no browser (e também fora dele, através do recurso Out-Of-Browser), agora a mesma plataforma será utilizada para desenvolvimento de aplicativos móveis. Por falar em Silverlight, também foi divulgado o market share do produto, que passou de 45% na época do PDC, em novembro de 2009, para 60% agora em março de 2010. Ou seja, 60% das máquinas que acessam a Internet já possuem o plug-in do Silverlight instalado, o que é um crescimento impressionante, considerando o curto tempo de vida que essa tecnologia tem.

Outro assunto aguardado e comentado foi o Internet Explorer 9. Foi disponibilizada para download uma prévia do que teremos na próxima versão do browser da Microsoft. Que fique bem claro: ainda não se trata de uma versão beta que pode ser utilizada para uso diário, mas sim uma prévia voltada para desenvolvedores, cujo objetivo é demonstrar as melhorias na renderização das páginas, o novo engine para javascript (que passa a utilizar um dos núcleos de processadores com vários núcleos para compilar o código javascript e, consequentemente, ganhar velocidade) e na aderência aos padrões web. A Microsoft promete atualizar essa versão prévia em curtos intervalos de tempo (a cada oito semanas), até disponibilizar uma versão beta mais próxima da versão final, voltada para um público menos técnico.

Outro anúncio feito durante o MIX 10 foi a liberação da versão Release Candidate do Silverlight 4 e do WCF RIA Services. Essa é a última versão antes do lançamento da versão final, que deve ocorrer em breve.

WPF/E agora é Silverlight

Silverlight é o nome oficial para a tecnologia que vinha sendo chamada de WPF/E, que permitirá o desenvolvimento de aplicações web mais ricas e interativas. O anúncio foi feito no sábado e mais novidades virão, durante o evento MIX, que acontecerá no fim do mês em Las Vegas.

Aplicações web ricas e interativas somente com AJAX? Reveja seus conceitos com o WPF/E

Se você acha que uma melhor experiência do usuário e interatividade em aplicações ASP.NET, ou uma aplicação web qualquer, só são plenamente atingidas com o uso de técnicas AJAX, então é porque você não conhece o WPF/E. Isso é até natural, já que o CTP - Community Technology Preview - acabou de ser lançado no dia 04/12 Laughing

O ASP.NET AJAX, que ainda nem teve sua versão final lançada - está no beta 1, foi só o começo e já adquire ares de coisa do passado. O WPF/E - sigla para Windows Presentation Foundation Everywhere - é o codinome da tecnologia Microsoft para o desenvolvimento de aplicações web ricas e interativas, através do uso de vetores gráficos, animações e outros recursos multimídia. Como seu nome indica, ele é um subconjunto do WPF, tecnologia responsável pela parte de User Interface - UI - no .NET 3.0/Windows Vista, e utiliza o XAML (eXtensible Application Markup Language) como linguagem de definição de interface (uma espécie de HTML turbinado).

Para utilizar uma aplicação que faz uso do WPF/E, é necessário instalar um plug-in (cujo tamanho é de aproximadamente 1 MB) para que o browser consiga interpretar o conteúdo XAML. Mas não pense que a utilização do WPF/E ficará restrita aos usuários do Windows ou do Internet Explorer. Já existe uma versão do plug-in para Macintosh, e também suporte aos browsers Firefox e Safari. Ainda não há uma versão do plug-in para Linux, mas levando-se em conta o anúncio do acordo entre Novell e Microsoft para promover a integração entre as duas plataformas, feito há algumas semanas, não será surpresa se ela for anunciada no futuro.

A notícia é boa também para os desenvolvedores, já que, através de HTML e JavaScript, será possível acessar e manipular o conteúdo WPF/E. Além disso, ele também se integrará totalmente com a arquitetura do ASP.NET (inclusive fazendo uso do ASP.NET AJAX, mas sendo possível a utilização de qualquer outro framework AJAX), reaproveitando os conhecimentos anteriormente adquiridos pelos desenvolvedores, além da integração com as ferramentas Visual Studio (e linguagens já conhecidas como C# e VB.NET) e, no caso dos designers, o Expression Studio, para a criação de código XAML.

Muitos já estão chamando o WPF/E de "Flash Killer", uma alusão ao fato de que essa nova tecnologia é um concorrente direto do Flash, da Macromedia/Adobe. A grande vantagem, a meu ver, é a integração com tecnologias já existentes, o que não obriga o desenvolvedor a aprender uma arquitetura ou linguagem totalmente nova, como acontece com o Flash. Seguem alguns links úteis para se aprofundar no assunto:

Announcing the release of the first "WPF/E" CTP

Getting Started with "WPF/E" (Code Name)

"WPF/E" (Code Name) Architecture Overview

"WPF/E" Downloads

"WPF/E" FAQ

Documentação e White Papers