Windows Store Apps - Aplicações metro para Windows 8

Figura 1: Windows Store Apps - Aplicações metro para Windows 8

Introdução

Uma das grandes novidades que o Windows 8 trouxe com seu lançamento foi a possibilidade de se desenvolver aplicações utilizando HTML, CSS e JavaScript. Acompanhando a tendência de evolução das tecnologias web e desenvolvimento de aplicações multi device (que possam ser executadas em vários dispositivos), as chamadas Windows Store Apps (devido a serem publicadas na Windows Store) ou Metro Style Apps (metro é o nome do novo estilo de interface utilizado pela Microsoft em seus aplicativos), permitem que desenvolvedores web se adaptem facilmente ao desenvolvimento de aplicações para Windows.

Essa foi, sem dúvida, uma das maiores “jogadas” dessa gigante dos softwares para atrair profissionais do desenvolvimento para sua plataforma (vale lembrar que o Windows é o sistema operacional mais utilizado no mundo). E isso de fato deu certo, pois nas palestras de lançamento das novas tecnologias de 2012 (Windows 8, Windows Phone 8, Visual Studio 2012, .NET 4.5, etc.), eram vários os profissionais que testemunhavam a favor dessa novidade.

Até então, quem desejava desenvolver aplicações sobre o .NET Framework precisava aprender uma das linguagens utilizadas (C#, VB.NET, C++, etc.) e para o design, quando as aplicações Windows Forms tradicionais não atendiam adequadamente às necessidades, era preciso se adaptar à XAML, linguagem de marcação utilizada para estruturar o layout em aplicações WPF (Windows Presentation Foundation) e Windows Phone (Silverlight). Com a possibilidade de utilizar HTML, CSS e JavaScript, muitos programadores que já estavam acostumados a desenvolver aplicações web, sentiram-se à vontade para “se arriscar” nas apps para Windows 8.

Porém, aqueles que já estavam acostumados com XAML e C# não precisaram, obviamente, aprender HTML, CSS e JavaScript. As Windows Store Apps podem ser desenvolvidas também utilizando XAML (para o layout) e C# (para a parte da programação em si). Ou seja, XAML faz o papel da HTML e das CSS na estruturação do design, enquanto C# funciona como a JavaScript, dando “vida” à aplicação.

Certificações para desenvolvedores de Windows Store Apps

Como era de se esperar, juntamente com esse novo tipo de aplicação (Window Store Apps) foram criadas as novas certificações profissionais MCSD (Microsoft Certified Solutions Developer). São duas novas certificações equivalentes entre si, diferindo apenas nas tecnologias utilizadas. Cada certificação requer a aprovação em três exames, listados abaixo.

MCSD Windows Store Apps using HTML5

  • 70-480: Programing in HTML5 with JavaScript and CSS3;
  • 70-481: Essentials of Developing Windows Store Apps Using HTML5 and JavaScript;
  • 70-482: Advanced Windows Store App Development Using HTML5 and JavaScript.

MCSD Windows Store Apps using C#

  • 70-483: Programing in C#;
  • 70-484: Essentials of Developing Windows Store Apps Using C#;
  • 70-485: Advanced Windows Store App Development Using C#.

Ao obter aprovação nos três exames de um dos grupos, o profissional recebe a certificação MCSD relativa ao eixo pelo qual optou (HTML5 ou C#).

Ao ser aprovado nos exames 70-480 ou 70-483, o profissional já recebe a certificação Microsoft Specialist (recentemente criada) relativa ao exame que realizou (Programing in HTML5 with JavaScript and CSS3 ou Programing in C#).

Nota: a Microsoft havia liberado descontos de 100% para a realização do exame 70-480, buscando incentivar os desenvolvedores, mas o estoque infelizmente já se esgotou.

Algumas observações importantes

Essas aplicações também são chamadas de WinRT Apps, por serem desenvolvidas sobre a API Windows Runtime, ou WinRT. A WinRT permite que aplicações desenvolvidas em linguagens diferentes (C# ou JavaScript) possam aproveitar dos mesmos recursos. A WinRT possui dispõe de diversas funcionalidades, como para acesso à câmera, à lista de contatos, conexão com serviços na nuvem, etc.

Porém, existem algumas restrições para essas aplicações, que os desenvolvedores precisam ter em mente ao iniciar um novo projeto:

  • O acesso a dispositivos sensíveis, como a câmera, GPS e microfone são controladas pela API, e o usuário pode negar
  • acesso a esses itens.
  • O acesso recursos fundamentais do sistema, como o registro, é totalmente negado.
  • As aplicações WinRT são isoladas umas das outras, por motivos de segurança.
  • A comunicação entre aplicações WinRT com aplicações desktop, com serviços do Windows e com outras aplicações WinRT é
  • bloqueado. Para esse tipo de situação, deve-se utilizar algum serviço como web services, sockets, etc.

É possível também desenvolver aplicações híbridas, utilizando alguns componentes feitos utilizando uma linguagem em aplicações desenvolvidas em outra (C# e JavaScript, por exemplo).

Novos templates no Visual Studio 2012

No Visual Studio 2012 (quando instalado no Windows 8, obviamente) foi criada uma nova categoria de aplicações, a Windows Store, que está disponível para as várias linguagens (C#, Visual Basic, C++, JavaScript). Dentro dessa categoria existem vários templates de aplicações, como vemos nas figuras a seguir.

Templates de aplicação utilizando C#

Figura 2: Templates de aplicação utilizando C#

Esses mesmos templates estão disponíveis para Visual Basic.

Os três primeiros diferem entre si pelo layout inicial aplicação, que já é criado com um objetivo específico. Os demais referem-se à bibliotecas de classes (que também podem ser usadas em aplicações híbridas), componentes e unidades de teste.

Templates de aplicação usando JavaScript

Figura 3: Templates de aplicação usando JavaScript

No caso de escolher a linguagem JavaScript, os templates são diferentes apenas em termos de layout, não sendo possível criar bibliotecas, componentes ou unidades de teste, como ocorre com C#, Visual Basic e C++.

Templates de aplicação usando C++

Figura 3: Templates de aplicação usando C++

Para a linguagem C++, existem alguns templates adicionais, que permitem o uso de Direct2D e Direct3D nas aplicações e separam as bibliotecas em DLL e LIB.

Em todas as categorias, a descrição do template é apresentada no canto superior direito da janela.

Conclusão

Vale a pena explorar esses templates, iniciando aplicações em cada categoria para observar as diferenças existentes entre os vários tipos. E uma coisa é fato: desenvolver para Windows 8 está muito fácil, são várias linguagens, várias ferramentas, sem falar nos vários materiais de referência que já se encontram disponíveis na internet.

Vale ressaltar também que o desenvolvimento das aplicações tradicionais, como Windows Forms e WPF continua da mesma forma e são suportadas pelo Windows 8 assim como eram no Windows 7. Claro que o .NET Framework sofreu algumas atualizações na versão 4.5, como a adição das chamadas assíncronas, mas isso não é foco deste artigo.

Caso surjam dúvidas, críticas ou sugestões, a seção de comentários está aberta logo abaixo, este página.