Reciclando APP para Windows 10

Pode parecer brincadeira, mas não é… A Microsoft resolveu reinventar o Windows Phone. Desde a publicação do Windows 8.1 e Windows Phone 8.1 minhas dores de cabeça aumentaram exponencialmente. Ainda não consigo ponderar se tantas mudanças de uma vez serão positivas, mas a verdade é uma só: jogo fora 90% do que aprendi sobre programar para Windows Phone e que venham novos conceitos, mudanças de bibliotecas, extinção de outras bibliotecas e algumas adições de recursos inovadores (será?). O fato é que desde que a Microsoft deu início à fusão da plataforma Phone com a plataforma Desktop, não parei de ter decepções.

programando2

O fim do Silverlight

O Silverlight é uma plataforma de desenvolvimento que permite criar aplicações de grande impacto visual e com uma produtividade incrível. Produto do WPF (Windows Presentation Foundation), utilizando o XAML (linguagem de marcação) que permite o desenvolvimento de interfaces ricas (superior ao flash, na minha opinião), baseado na web para aplicações móveis e desktop com o mesmo modelo de programação .NET, usando o code behind (Visual Basic ou C#)

Este mundo perfeito foi detonado pela Microsoft e repercute a maior choradeira entre os desenvolvedores. Agora vem a pergunta fatídica: por quê?

Simples. Para unificar as plataformas de desenvolvimento.

O Silverlight, assim como o Flash, exigem um poder de processamento local maior da máquina e, como o objetivo passou a ser a unificação das plataformas em uma única (uma loja, compartilhamento de aplicativos entre Windows Phone e Windows, programar um produto para todas plataformas, etc.), enfim, a chegada do Windows 10 que vem completar esta missão iniciada com o lançamento do Windows Phone 7.1 Mango, dispositivos móveis com processadores mais modestos não poderiam rodar o Silverlight com leveza (será? Eu duvido muito porque os smartphones com Windows Phone 7 e 8 rodam Silverlight com tranquilidade. Portanto, esta desculpa não colou pra mim.).

Em que consiste a unificação

A chegada do Windows Phone 7 e a parceria inicial com a Nokia deu início à preparação do terreno para um passo muito maior que estaria por vir. Um novo conceito de Sistema Operacional, mais fluido, melhor arquitetado para dispositivos móveis e menos exigente com o hardware (maior duração da bateria e menor custo) estava lançado no mercado. Usando o peso do nome Nokia e seus fiéis seguidores, a Microsoft começou a emplacar o conceito de Live Tiles que traz maior quantidade de informações dos aplicativos para o usuário na tela principal sem que o aplicativo seja aberto (e sem os lixos dos widgets do Android e a morte decretada dos ícones estáticos). No início foi criticado, amado por alguns e odiado por outros, mas acabou conseguindo seu lugar ao sol e hoje ganha força com um marketshare crescente a cada trimestre.

Tudo isso apenas preparava o terreno para o lançamento do Windows 8 que chegou com o maior impacto visual desde o Windows Vista. O novo sistema operacional foi completamente reescrito e redesenhado, seguindo os mesmos padrões do Windows Phone. Como foi projetado para aderir melhor em dispositivos toutch, trabalhar com o Windows 8 em desktops usando mouse desagradou muita gente que resiste em manter o Windows 7.

Botão iniciar que vai e depois volta, além de uma série de recursos que foram alterados para tentar agradar a todos, mas a verdade é que a Microsoft pegou um caminho sem volta. Apostou na morte do desktop e notebooks (e de certa forma acertou), mas para trabalhar com tablets era necessário preparar um sistema operacional que rodasse em processadores ARM. Assim surgiu o Windows 8 RT que foi bem recebido, porém, com algumas restrições porque aplicativos do Windows 8 Pro (Intel) não rodam no Windows 8 RT.

Este foi o ponto chave para a fusão. Unificar um sistema operacional móvel com um sistema operacional desktop requer uma equalização do sistema por baixo, ou seja, precisa ser leve para continuar rodando nos dispositivos móveis. Unificar o CORE dos sistemas operacionais foi o primeiro passo, ocorrido no lançamento da versão 8.1 de ambas as plataformas. Com isto, uma série de bibliotecas utilizadas até então foram repensadas para atender este novo core que não poderia mais depender de um Intel i7, por exemplo, para rodar. Para nós, desenvolvedores, duas coisas preciosas foram perdidas: o Silverlight e o SQL Compact Edition.

Suporte ineficiente

Quando houve o lançamento do Windows Phone 7, foram eventos e mais eventos, criados pela Nokia e Microsoft, exclusivos para desenvolvedores. O suporte para a plataforma era impressionante e uma comunidade muito ativa estava surgindo naquele momento. Não havia dúvida que ficasse pendente. Uma aproximação que eu nunca vi antes dos MVP’s com podcasts, fóruns, blogs, Microsoft Virtual Academy, enfim, uma infinidade de material disponível para quem quisesse aprender a programar para Windows Phone.

Hoje a realidade é muito diferente. Pouco material disponível em português, os MVP’s se afastaram da comunidade de desenvolvedores, os materiais deixaram de ser atualizados, blogs e fóruns foram encerrados e agora, com a unificação das plataformas e o lançamento da Universal APP (aplicativo que você programa e publica para Windows Phone e Windows), tudo ficou mais complicado. O material que antes era gratuito, agora é pago (cursos). O banco de dados local SQL CE (que é um SQL Server para dispositivos móveis) deixou de trabalhar e agora não há mais suporte da Microsoft. Se eu quiser usar um banco de dados local terei que partir para um produto free de terceiros, chamado SQLite, que é um lixo se comparado ao bom e velho SQL CE.

Não apenas os nomes das bibliotecas (namespaces) mudaram, como todo o seu conteúdo e forma de trabalhar. Recursos ficaram sem um DE / PARA, tornando a migração de alguns aplicativos completamente inviável.

Como se isso tudo não bastasse, o XAML sofreu mudanças sensíveis, tendo que ser reescrito, praticamente 100% em casos de migração.

Se o suporte para esta transição fosse no mesmo nível oferecido para o lançamento do WP7, eu, certamente, não estaria aqui, escrevendo este artigo.

Conclusão

Algo foi perdido pelo caminho do amadurecimento destas plataformas. Algo que nasceu muito bom, agora perde muito (talvez pela falta de suporte), mas fica um gostinho de frustração para quem começou a programar na plataforma desde o início. Eu esperava mais.

Não digo que largo a plataforma porque programar para iOS é ruim demais (IDE sofrível) e programar para Android é nadar e morrer na praia com tubarões pela sua falta de segurança. Para o meio corporativo, a plataforma Microsoft ainda é a melhor (produtividade e mão de obra no mercado), mas se fosse possível levar um recado para quem arquiteta a plataforma eu pediria:

  • Volta do SQL Compact Edition
  • Volta do Silverlight
  • Atualização de TODA plataforma de suporte (vídeos, podcasts, fóruns, blogs, participação ativa dos MVP’s)
  • Atualização do MVA – Microsoft Virtual Academy com conteúdos de maior relevância

O resto acredito que faça parte da evolução da plataforma.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s