Ultimamente a comunidade Microsoft .NET, principalmente o pessoal mais envolvido com o Silverlight, tem passado por tempos estranhos como se refere Josh Smith no seu blog. Tudo começou no PDC 2010, quando Bob Muglia comentou que “Nossa estratégia mudou para o HTML5”, gerando muita insatisfação e dúvidas sobre o futuro da tecnologia. Felizmente eles fizeram um anuncio no Blog do silverlight explicando melhor sobre o ocorrido e pediu desculpas pela confusão. Além disso, em Dezembro de 2010, marcaram o evento Silverlight Firestarter com o objetivo de reforçar as estratégias e evolução do produto com a nova versão do Silverlight 5 e que foi lançado a versão beta no MIX 11. Mais uma vez, o silverlight em si, teve pouco ênfase se comparado ao que foi apresentado de HTML 5 e Windows Phone 7, deixando a comunidade mais uma vez estarrecida. Por outro lado, todo o desenvolvimento para WP7 é feito em silverlight, contradizendo a situação. Mas a grande indignação mesmo, veio mais recente com a primeira apresentação do futuro Windows 8, onde a Microsoft diz que as aplicações para o Windows 8 seriam feitas em HTML5 + JavaScript, mais uma vez não mencionando nada sobre .NET e Silverlight.

[youtube=http://www.youtube.com/watch?v=p92QfWOw88I&w=640&h=390&hd=1]
Design “Metro” do novo Windows 8

Aí que o bicho pegou de vez, deixando a galera muito revoltada nos fóruns como este com mais de 7 Milhões de PageViews.

Boas novas, Silverlight e WPF nativo no Windows 8

A parte boa da história para você que como eu investiu bastante tempo no WPF/Silverlight é que rola uma iniciativa com codename “Jupiter”, que estará presente no Windows 8. Alguns dizem que será o substituto do WPF / Silverlight, numa versão de desenvolvimento e runtime mais poderosa totalmente baseada no XAML. Bastante coisa já foi vista sobre o Jupiter, DirectUI e Silverlight conforme mostram numa versão que vazou na internet. Com isso, além do suporte e compatibilidade das aplicações atuais, ainda existe grandes possibilidades delas rodarem de forma nativa no Windows 8. É aquele lance da convergência do Silverlight e WPF, que eu ja tinha falado nesse post em 2009. Portanto meu amigo, se você ainda não aprendeu, agora é a hora, pois o futuro de programação de interface de usuario é linguagem declarativa, então se joga no XAML. Muitos caras conhecidos do cenário mundial acreditam no Silverlight principalmente para aplicações empresariais, como dizem nos seus blogs Shawn Wildermuth, o Jeremy Likness que fez uma apresentação no WPC semana passada, Stephen Forte arriscando até um nome de Native XAML.

Mas e hoje? Começar um projeto novo em que?

Antes de mais nada, o HTML5 + JavaScript será apenas mais uma opção para desenvolvimento das “Immersive Applications” no Windows 8 e para aplicações web multiplataforma. O Silverlight hoje continua como ponto forte no desenvolvimento de Aplicações de Negócios (LOB) Client/Web e também para Windows Phone 7. Para sites e aplicações Web num projeto novo hoje é recomendável começar com Asp.Net MVC. Para aplicações estritamente Windows é recomendável começar com WPF. Já não recomendo Windows Forms conforme ja foi discutido no post do Giovanni Bassi a quase 2 anos.

Três telas e a Nuvem

Para finalizar, quem lembra daquela história “Three screens and a cloud”, parece que está se tornando a realidade. No último WPC foi apresentado a visão da Microsoft do seu Ecosistema único, onde o visual “Metro” já utilizado no Windows Phone 7 estará em todos as versões do windows. PC e tablets com Windows 8, Windows Phone 7 (Silverlight) e TV com XBOX (Silverlight e XNA).

3Telas

Mais detalhes, só esperando pra ver na BUILD Conference em setembro.


23 comentários

Márcio Fábio ALthmann · 18/07/2011 às 12:02

Olá Gustavo tudo bem?

Cara gostei do seu post, e ele vem em uma hora que eu estava pensando em postar sobre isso 🙂 !

Bom vamos lá! Eu considero que o único problema do Silverlight é ter a Microsoft cuidando dele, eles fizeram um trabalho incrível tecnologicamente falando, mas nunca conseguiram dar uma cara para o Silverlight, nunca conseguiram falar qual é o objetivo do Silverlight, tirando o que comentou, nascer um “Flash Killer” foi o maior erro cometido, isso de cara já afastou muitos desenvolvedores do Silverlight! Depios ele evoluiu muito, e ficou ótimo, mas a cada versão a Microsoft dava uma desculpa nova para ele existir 🙂

E não estou aqui falando que a Microsoft não presta, só que considero que erraram e muito com o Silverlight, isso não pode ser negado.

Do outro lado tinhamos o irmão mais velho, o WPF, que tem recursos incríveis, mas não decolou também, alguns dizem que por complexidade, mas não considero esse o ponto principal, e sim o desempenho, ele tem alguns “delays” que desagradam qualquer um.

O “Jupiter” seria a solução ideal, esquecer Silverlight ou WPF, mas sim pensar em XAML, porque XAML é incrível, e temos um poder enorme utilizando XAML, mas deve ser feito um trabalho muito bom, para rodar limpo, não acredito que eles serão malucos de jogar toda o investimento que fizeram no Silverlight fora, nem em decepcionar investidores e parceiros que investiram em ferramentas e licenciamento, por isso acredito sim que o “Jupiter” existe e vai ser o outro lado de desenvolvimento junto com HTML 5 + JS.

Agora falando em HTML5+JS, o único erro que cometeram foi mostrar isso, e ficarem quietos até o Build, parece que não pensaram na forma como essa notícia seria recebida, hoje não da para falar em que fazer um novo projeto, ou pedir confiança e investimento nas tecnologias, é claro que eles vão mostrar coisas legais no Build, mas também considero um erro enorme, falar de HTML5+JS quando quem desenvolve para Windows depende até hoje de apps do tipo WinForms, WP7, Silverlight out of browser, Delphi, etc…

Enfim parabéns pelo post, agora é aguardar para o “Jupiter” ser o que o WPF não conseguiu, e o que o Silverlight a MS não deixou!

Abraços.

    Gustavo Malheiros · 18/07/2011 às 14:05

    Grande Marcio,
    acho que o WPF teve no começo, problemas de performance sim, mas isso não é mais um problema, principalmente se você desenvolve usando padrões como MVVM. No meu caso, como o foco é sempre aplicações empresariais, então acaba que não preciso usar os recursos mais “pesados” do WPF. Mas como sempre, tudo depende do cenário da aplicação. Tenho trabalhado numa aplicação WPF principalmente por precisar ter integração com o legado em VB6, senão seria em silverlight sem dúvidas. Felizmente a evolução continua e o Silverlight 5 vai trazer mais uma série de recursos interessantes. O HTML5 + JS sempre vai estar 2 passos atras nas aplicações LOB, isso é fato. Como você colocou, tudo foi problema de estratégia e divulgação do produto, que acabou gerando uma má percepção dos desenvolvedores, principalmente com as comparações com o Flash, que tem gente que insiste em fazer até hoje. Acho que quem conhece e investiu, só vai ter a ganhar e oferecer uma boa tecnologia para seus clientes hoje e no futuro com o Jupiter.
    Obrigado pelo comentário.
    Abraços!

Kelps (Silverlight MVP) · 18/07/2011 às 22:01

Cara, excelente post.
Na semana passada mesmo eu falei sobre isso em uma palestra no TDC2011. Eu concordo com você.
Eu também suspeito que o Jupiter do Windows 8 talvez seja a tão esperada união entre o Silverlight e WPF e, talvez esteja esse segredo todo justamente para virar assunto trazer os holofotes da mídia para a nova conferencia que vai acontecer em setembro.
Silverlight é o principal modelo de desenvolvimento do WP7 e com certeza terá um papel importante no Windows 8. Eu acredito que o HTML5 foi apresentado como modelo de desenvolvimento para Windows 8 pois será uma novidade, mas em nenhum momento foi dito que ele seria o único modelo de desenvolvimento.
Mas eu quero deixar bem claro que isso que estou dizendo aqui é ponto de vista pessoal meu e não eu, apesar de ser MVP de Silverlight sei tanto quanto você ou qualquer outra pessoa que venha acompanhando as notícias sobre esse assunto de perto. Só nos resta mesmo agora é esperar pela conferencia.

    Gustavo Malheiros · 19/07/2011 às 10:29

    Obrigado pelo comentário Kelps…
    Tenho certeza que vem coisa boa! Também vou aguardar ansiosamente pelo BUILD Conference.
    Abraços!

Santos · 03/09/2011 às 17:45

Silverlight chegou muuito atrasado, interface rica para business app no browser via plugin já teve seu tempo, que foi muito bem conduzido pelo excelente Flex. Agora o presente é HTML 4.x, CSS3 e jQuery. HTML5 no futuro próximo, que a própria MS apoia. Não vejo problema técnico no Silverlight e principalmente no excelente Flex, mas infelizmente devido imposições da Apple e seus usuários religiosos apoiando, o mercado se direcionou pro desenvolvimento em HTML mesmo sem plugins. Aplicações de negócio offline também vão ser direcionadas para HTML5. WPF é mais para aplicações graficamente complexas, usar WPF só para formulários padrões é usar por usar a novidade, não por necessidade. Sistema de informações “web” offline usando browser põe um IIS local, IISExpress ou Cassini e está resolvido, e com a vantagem de uma interface gráfica única que poderá ser usada offline na maquina ou publicada online. Enfim, WPF tem espaço mas Silverlight…, pensando no mercado, Silverlight tá fora de cogitação.

Joao · 22/09/2011 às 20:09

O Windows 8 que o diga.

    Santos · 13/11/2011 às 08:09

    e IE10 Metro que o diga!

Santos · 12/10/2011 às 13:15

Silverlight já nasceu dentro do caixão, aberto, a maioria acreditando na Microsoft e desenvolvendo num velório.

Daniel Benevides · 13/10/2011 às 06:41

Acredito que o futuro do Silverlight será o foco no desenvolvimento para WP7, porém acredito que ele não ficará restrito a isso, mas não será o foco dele. O WPF será a alternativa para desenvolvimento de aplicações desktop.

Rodrigo · 11/01/2012 às 11:07

Gustavo, depois de 6 meses praticamente da publicação desse post, como esta atualmente a questão do Silverlight? Ainda continuas com a opinião de investimento no desenvolvimento Silverlight para aplicações de negócios? Pergunto, pois temos um inicio de aplicação desenvolvida em Silverlight e estamos pensando se continuamos ou migramos para Asp.Net.

    Gustavo Malheiros · 11/01/2012 às 19:50

    Olá Rodrigo,
    para aplicações de negócios sim, inclusive porque pode rodar no MAC e Windows. E ainda rodar como desktop no windows.
    Saiu agora a versão 5 e com suporte por 10 anos. Ou seja tecnologia nova e madura, que não precisa mais evoluir.
    Na minha opnião se a aplicação for desktop, é melhor começar com silverlight do que Winforms, que é uma tecnologia que não sofreu mais evolução desde 2006.
    As chances de reaproveitamento para aplicações futuras é maior com XAML, Serviços e tal.
    Como sempre tudo depende da aplicação. E precisa ter equipe capacitada, pois ainda tem poucos no mercado.
    Temos projetos Web com ASP.net, MVC, jQuery, para atender toda gama de publico e devices, porém com Admin em Silverlight,
    que me fornece um desenvolvimento rápido.
    Qualquer investimento em aprender silverlight não será perdido futuramente, pois aplicações windows a base será XAML.
    É isso aí. O negócio é aprendizado constante.
    abraços!

      Andy Andherson · 23/03/2012 às 14:34

      Concordo em, numero, genero e grau! Silverlight é o futuro, pois a Base sera XAML!

AlexandraTIC · 09/02/2012 às 14:34

Olá a todos,
Eu sou a Alexandra Santos, aluna da Licenciatura em Tecnologias da Informação e Comunicação da Universidade de Trás-os-Montes e Alto Douro, e no âmbito de um trabalho proposto na unidade curricular de Metodologias de Programação III, gostaria de participar neste fórum de discussão prática.

Marcelo · 03/06/2012 às 00:43

E uma pena a puca enfase em uma tecnologia tao boa como o silverlight

Ricardo Ildefonso · 06/08/2012 às 21:58

Agora que o Windows 8 é uma realidade, o que temos de Silverlight dentro dele? Ele passou a ser, mesmo, um componente nativo?

    Gustavo Malheiros · 07/08/2012 às 08:22

    O silverlight em si, em sua ultima versão 5 não terá novas evoluções, e funciona da mesma forma como no Windows 7, ou seja como plugin na versão desktop. Ele terá todo suporte por 10 anos. O que evoluiu, foi que tanto o XAML como HTML/JS se tornaram nativos para desenvolvimento de apps Metro com a nova API WinRT do Windows 8. Todo o seu conhecimento de silverlight é aproveitado nessa nova forma de desenvolvimento de apps Metro.

    Abraços.

Vagner Correa dos Santos · 05/09/2012 às 23:13

Boa noite gustavo, continuando essa discução de quase um ano, decidi entrar nela porque só agora que o projeto em que trabalhei nos ultimos 3 anos chegou ao fim.
Estou estudando, vasculhando um monte de coisas e estou impressionado em como pode a Microsoft permitir tamanho desvio de foco a ponto de ficar uma confusão de qual caminho seguir.
Eu pretendo migra um ERP de windows forms para algo Web, digo algo, porque não sei o que usar diante de tantas possibilidades, am algumas publicações bem antigas no msdn, foi dito que é possivel criar uma aplicação em wpf e fazer com que ela funcione tanto em windows quando em web, mas não vi NINGUEM mostrando como fazer isso e mesmo tentanto eu não consegui.
Afinal, é possivel fazer uma aplicação rodar em ambos ambientes ?
Você recomenda migrar um ERP inteiro de WinForm para silverlight ou seria melhor WPF ou apenas um asp.net com ajax e css ?

    Gustavo Malheiros · 21/10/2012 às 22:24

    Olá Vagner,
    Na época quando enfatizavam o WPF no browser ainda o silverlight não existia ou estava engatinhando. Depois do silverlight 2, isso perdeu o sentido, pois o WPF só funcionava no browser IE e necessitava ter o .NET full instalado na maquina. Ao passo que o Silverlight era multibrowser, multi plataforma, passou a ser a melhor opção, principalmente depois da função Out of browser.
    Realmente existe hoje várias possibilidades hoje e acaba até sendo meio difícil de escolher a melhor opção.
    Todas são válidas e você precisa avaliar as necessidades do projeto.
    Por se tratar de um ERP, já é característica muito forte.
    Criamos um padrão que fica muito fácil e produtivo desenvolver em silverlight, porém no ultimo projeto, já optei por usar MVC, jQuery, CSS e exatamente na migração de um ERP(VB6). Hoje vc consegue ter uma experiência rica de usuario, muito mais próxima do silverlight, usando essas tecnologias e tem a vantagem de ser multiplataforma.
    Se você precisar de uma integração maior com hardware em alguma parte do sistema, vc desenvolve apenas um módulo especifico em silverlight 5, para fazer a comunicação e embute na pagina especifica. Do resto, telas de ERP seguem quase sempre um mesmo padrão.
    Estou estudando SPA (Single Page Apps)… Dê uma olhada, acho que esse é o caminho.
    http://www.johnpapa.net/building-single-page-apps-with-knockout-jquery-and-web-api-ndash-the-story-begins

    abraços.

Marcelo Dias · 21/06/2013 às 18:14

Vi esse post pela primeira vez em novembro de 2012 e, hoje, junho de 2013, acabei “caindo” nele de novo!

(Pra deixar bem claro, vou falar de um ERP também, só que ainda não está pronto em plataforma e linguagem nenhuma. Será escrito do zero!)

Durante esse tempo, vi: Silverlight, ASP.NET MVC 4, ASP.NET WebAPI, SPA (Single Page Application) – com Knockout e também com AngularJS. Vi, também, MongoDB, Windows Azure e NodeJS.

Fazendo uma retrospectiva, hoje, chego à conclusão que, se fosse pra realmente fazer “bonito” e CERTO, eu deveria fazer algo como: SPA, com AngularJS + NodeJS. Só que deixar todo o conhecimento de .NET e C# de lado dói, e muito. Eu vim do MSACCESS e VB6. Já estou a 10 anos programando. Quando eu escolhi .NET (em 2005), eu estava procurando uma linguagem (plataforma) que pudesse substituir o VB6. Fiquei entre Delphi, .NET e C++ (com a MFC). Se eu soubesse que .NET fosse ficar assim, eu teria ficado com C++ mesmo! Sou programador Desktop, ou pelo menos é a minha preferência. Aí, com C++, eu teria REALMENTE uma aplicação de alta performance. Por quê alta performance?
Penso assim: Se desenvolvo aplicações de negócio (LOB – Line of Business) então, logo, estou mais para substituir planilhas que são utilizadas nas empresas. Se vou substituir planilhas, devo substitui-las sem perder a elegância e agilidade que “fascinam” os usuários de planilhas. Mas as “DataGrids” são muito lentas, inclusive do WPF. As DataGrids de terceiros, escritos para Windows Forms, são as mais rápidas que tem. Essa dependência de terceiros me aborrece. E tem mais: no início, diziam que o .NET, no futuro, seria nativo no SO. Cara, como puderam deixar a versão 4.5 do .NET fora do Windows XP?? Isso me deixou na mão! Cadê o Ribbon? Nem no WPF do 4.5 está decentemente implementado!

E com essa tendência de tudo ser web, acho que o AngularJS está no caminho mais certo (no lado do cliente) e com o NodeJS no lado do servidor, ambos usando Javascript como linguagem.
Assim, eu não precisaria mais da Microsoft pra nada, já que sempre nos deixou na mão. Logo, seria melhor, então, ter aprendido Javascript desde o início.

Que confusão!!! É assim que está a minha mente!!!

    Rodrigo · 15/08/2013 às 10:58

    não precisa ser nodejs no servidor, o .net tem oferece asp.net mvc, asp.net webapi para criar suas app junto com AngularJS

      Gustavo Malheiros · 15/08/2013 às 11:49

      Olá pessoal,
      Pensando em web eu ainda prefiro usar todo o poder do MVC, .NET, Razor e C# no servidor. Pois como disse, em projetos empresariais, a maioria das telas seguem um mesmo padrão. Em algumas telas mais complexas você pode usar recursos especificos no client, como knockout e esses frameworks JS.

Rodrigo · 15/08/2013 às 10:56

Me deixou totalmente confuso agora Gustavo…Eu pretendo desenvolver uma aplicação de gestão, entretanto o local não é privilegiado com internet boa, sendo assim, pensei em 2 formas, ou web rodando em uma intranet ou usando WPF…Depois de ler seu texto, fiquei extremamente confuso…
Poderia dar sua opinião?

    Gustavo Malheiros · 15/08/2013 às 12:02

    Rodrigo,
    cada vez mais você tem que avaliar as necessidades do projeto. Vou dar mais um exemplo de uma consultoria recente. Também migração de ERP Desktop feito em visual FoxPro. Hoje atende perfeitamente os clientes. A mudança é mais por causa da tecnologia que está muito ultrapassada. Mão de obra para manter FoxPro é difícil. Segundo a empresa, não existe necessidade de ser WEB e o suporte remoto aos clientes funciona bem. Se for Windows Form, ja tem desenvolvedores na empresa que conhece, então será mais rápido, produtivo e mão de obra mais fácil. Se for WPF tem mais um grau da curva de aprendizado do XAML e tal e não acha mão de obra fácil atualmente (pelo menos não aqui). Veja bem, esse é um exemplo direcionado para essa empresa.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *