Tento entender as diferenças entre app e programa no Windows 10.
A diferença entre as duas é principalmente a plataforma(s) de programação:
-
“Apps” usam a Plataforma Universal Windows (UWP), introduzida com o Windows 10.
-
As aplicações clássicas “Desktop” usam tipicamente a tradicional API Win32/COM ou possivelmente o mais recente .NET Framework (embora a Microsoft inclua tecnicamente o UWP nesta lista).
Aplicações práticas
Comparado com as aplicações, os programas desktop tradicionais são geralmente mais poderosos e irrestritos como um todo. Como os Apps são destinados a serem multi-plataforma entre os produtos Microsoft (PC/Xbox/Tablet/Phone) e as considerações de hardware/segurança são tão diferentes entre esses dispositivos, há limitações embutidas na plataforma UWP que potencialmente restringem o que os Apps podem fazer e quão bem eles podem fazê-lo.
Isso importa menos com certos tipos de programas leves e ser multi-plataforma pode até ser um benefício em alguns casos. Por exemplo, quando a Microsoft matou os Gadgets desktop no Windows, o Pandora Radio Gadget foi essencialmente ressuscitado como um App destinado a telefones que também poderiam ser usados no Windows 10.
No entanto, com aplicativos de desktop mais “sérios” (pense em jogos de PC), o UWP começa a perder suas vantagens e pode até começar a crescer alguns espinhos. O nível de controle e poder de programação disponível para um motor de jogo especializado baseado em Win32 não é facilmente replicado por uma App porque as plataformas UWP e Win32 são implementadas de forma tão diferente.
Então há também o problema potencial dos “compromissos” da App.
As aplicações que usam o UWP podem ser “estendidas” para tirar vantagem do poder de diferentes hardwares… mas isto nem sempre é desejável. É possível acabar com programas que têm um desempenho muito diferente quando executados em, por exemplo, um desktop vs. um tablet, apesar de ser (discutivelmente) a “mesma” aplicação.
Como um remédio para este tipo de coisa, fazer um programa funcionar bem no hardware menos potente/mais restrito é muitas vezes uma prioridade. Assim, um programa implementado como um aplicativo pode limitar sua fidelidade gráfica em geral para minimizar as diferenças visuais. Da mesma forma, talvez um conjunto de controles na tela projetado para uma interface de toque possa não funcionar tão bem com um mouse (tosse… Windows 8 Charms… tosse).
Aplicações de desktop muitas vezes enfrentam menos desses problemas, pois as especificações do PC (laptop ou outro) tendem a variar menos dentro de uma determinada geração de hardware.
Outras coisas
Existem mais algumas coisas que vale a pena notar.
Primeiro, apesar de estar disponível em um PC tradicional ou mesmo em um console, os aplicativos são diretamente direcionados para o espaço móvel. A Microsoft tem feito um esforço concertado para os tornar disponíveis apenas a partir da sua loja, tal como a Apple faz para os seus produtos ou o monopólio de facto que o Google tem no Android. Em contraste, programas de desktop ainda estão disponíveis a partir de uma variedade de fontes.
Segundo, embora possa parecer pequeno, ícones são uma diferença. Não apenas com tiles vivos e onde os ícones vivem naturalmente, mas também a capacidade de removê-los sob certas circunstâncias. Aplicações desktop podem ter seus ícones removidos do menu All Apps, enquanto Apps não podem. Se você quiser remover um ícone App do menu All Apps, você deve desinstalá-lo.
Mais amplamente, Apps em geral são instaladas e vivem em pastas completamente separadas, fixas, que provavelmente não são destinadas a serem acessadas pelos usuários. Os programas Win32, por outro lado, mantêm a capacidade de serem instalados em quase qualquer lugar e são mais facilmente acessíveis por quem quer que esteja usando um determinado dispositivo.