As falhas nos aplicativos universais

Ícone de tempo de leitura 4 minutos. ler


Os leitores ajudam a oferecer suporte ao MSpoweruser. Podemos receber uma comissão se você comprar através de nossos links. Ícone de dica de ferramenta

Leia nossa página de divulgação para descobrir como você pode ajudar o MSPoweruser a sustentar a equipe editorial Saiba mais

A Microsoft começou a incentivar os desenvolvedores a migrar seus aplicativos para aplicativos universais, mas alguns desenvolvedores ainda não estão convencidos. Eu escrevi um editorial citando desenvolvedores há algum tempo sobre a viabilidade de aplicativos universais e por que eles ainda não estão incendiando o mundo. Hoje, outro desenvolvedor publicou um artigo sobre suas experiências com aplicativos universais (que reproduzimos aqui com permissão)

 

O XAML e os Aplicativos Universais do Windows Phone 8.1 incluíam APIs do WinRT que apresentam muitos problemas, incluindo alguns para os quais não há solução. Mas primeiro, vamos falar sobre o nome “Universal Apps”. Acho muito arrogante chamar de universal algo que tem como alvo duas plataformas, que francamente não muitos usuários usam ou se importam. Além disso, se você pensar apenas nas plataformas Windows, esses aplicativos também não são universais, porque não podem direcionar as versões do Windows mais usadas (7 e XP). Mas estou divagando.

Ele faz o ponto aqui, que eu fiz há um tempo atrás. Nem o WP8.1 nem o W8.1 fornecem valor suficiente para os desenvolvedores desenvolverem para qualquer um deles ainda porque, como eu disse, “os usuários do Windows TEM, mas esses usuários não necessariamente querem aplicativos. Os usuários de Windows Phone querem aplicativos, mas não há muitos deles” .

Os usuários, no entanto, não são a única coisa que impede que os desenvolvedores migrem para aplicativos 8.1 WinPRT. Existem também problemas técnicos:

 

APIs mais confusas

Então, a API de reprodução de áudio em segundo plano para Windows Phone 8.1 está confusa, mais alguma coisa? Claro. BackgroundDownloader é outro exemplo. No Silverlight, havia um BackgroundDownloader bastante limitado, mas funcionava. No Universal Apps, há um novo BackgroundDownloader com alguns novos recursos e alguns essenciais ausentes. Por exemplo, no Silverlight, cada download pode ter uma Tag, onde você pode armazenar qualquer dado para saber algo sobre o download quando ele terminar (a qual entidade comercial ele pertence, etc.). Não mais nos Aplicativos Universais. Não há Tag, então você tem que construir e gerenciar seu próprio tipo de índice para todos os downloads, para que você possa realmente combiná-los com suas entidades de negócios. Um aborrecimento, mas nada que você não consiga administrar, certo.

Um comentarista no blog também acrescentou que as APIs da câmera não eram tão boas quanto as do Silverlight e me disseram que as APIs 8.1 não têm integração de lentes.

A API da câmera no WP8.1 também está horrivelmente f****. Não há como obter quadros de visualização. Com a API do Silverlight, você pode simplesmente se inscrever em um evento e enviar os quadros de baixa resolução por meio de ZXing em vários fps. No WinRT, o melhor que você pode fazer é tirar muitas fotos após a outra, com flash às vezes e escanear cerca de 0.8 quadros por segundo.

O desempenho também é afetado com a quantidade de trabalho necessária para obter uma rolagem suave, aumentando em 8.1 vs 8.0.

Performance

No Silverlight, eu costumava usar o LongListSelector para exibir dados, usando-o com um WrapPanel quando precisava criar um layout de duas colunas. O LongListSelector se foi, no Universal Apps você tem que usar o GridView também no Windows Phone. Ou você pode usar o ListView com um painel personalizado que você escreve ou baixa em algum lugar, mas é preciso algum esforço para fazer a virtualização corretamente.

Portanto, você usa o GridView no Windows Phone 8.1 e no Windows 8.1 para torná-lo consistente. Adicione dezenas de itens com imagens e o desempenho começa a realmente sofrer. Os espaços reservados cinza serão exibidos e, mais importante, nunca desaparece. Você não precisa de imagens, basta adicionar cerca de 300 itens apenas de texto ao GridView e os espaços reservados cinza começarão a ser exibidos ao rolar

O objetivo deste post não é criticar a Microsoft, é explicar por que os desenvolvedores podem não estar dispostos a criar aplicativos universais ainda. Eles não são um método absolutamente melhor, eles são uma atualização em algumas áreas e um downgrade em outras (os usuários do Windows Phone conhecem bem essa sensação). Se a Microsoft quer atrair desenvolvedores, eles precisam trabalhar mais rápido do que estão fazendo agora, “em breve” e “nos próximos meses” não são atraentes para pessoas cujos meios de subsistência dependem de “em breve” ser “ontem”. Felizmente, há sinais de que isso pode estar mudando. O WP 8.1.1 trouxe algumas novas APIs (embora restritas) e diz-se que o 8.1.2 (em um post agora oculto) permite que os desenvolvedores criem novos aplicativos incríveis. A Microsoft pode estar mudando no futuro e isso é ótimo. Para muitos desenvolvedores que estão sendo pressionados a fazer aplicativos universais agora, o futuro não pode chegar em breve.

Para mais do que os trechos que você obtém aqui, leia o artigo completo SUA PARTICIPAÇÃO FAZ A DIFERENÇA. Para minha peça mais detalhada, veja Aqui.

Mais sobre os tópicos: desenvolvedores, Apps universais, janelas 10