Blog da Loja do Windows para desenvolvedores
Blog do desenvolvedor de aplicativos do Windows 8
IEBlog Português
Blogs da Equipe do Windows
Blog Inside Windows Live
Baixe o Windows 8 Release Preview
Dev Center - aplicativos com o estilo Metro
Siga-nos: @BuildWindows8
Conferência sobre a criação do Windows
Windows 8 Release Preview forums
Aplicativos com o estilo Metro do Windows
Developer Center de Windows Client
Ao desenvolvermos o modelo de aplicativo para o Windows 8 e os novos aplicativos estilo Metro, o requisito de arquitetura principal foi oferecer aplicativos que possam ser usados com confiança -- a confiança de que os aplicativos funcionarão respeitando os recursos, não interferirão com outros aplicativos, usarão os recursos de sistema com a sua permissão, poderão ser instalados e desinstalados facilmente etc. Esses atributos exigem uma plataforma robusta e um conjunto forte de ferramentas para os desenvolvedores. Esses esforços exigem recomeçar do zero e não podem ser criados sobre um sistema existente. Esta postagem foi escrita por John Hazen, um gerente de programas da nossa equipe de experiência do desenvolvedor. --Steven
Um dos nossos princípios fundamentais no desenvolvimento da plataforma de aplicativos estilo Metro do Windows 8 foi garantir que os usuários pudessem confiar em seus aplicativos. Essa é uma missão que temos em conjunto; nesta postagem, explico a nossa visão de aplicativos de confiança e confiabilidade e ajudamos o leitor a criar aplicativos que tenham a confiança como padrão.
Vou começar explicando o que quero dizer com confiança. Imagine um cliente navegando na Windows Store em busca de um aplicativo estilo Metro; desejamos que ele pense somente no aplicativo, se ele é ideal para ele ou não. Desejamos que ele tenha como pressuposto — confie, na verdade — que o aplicativo terá o comportamento que ele espera, ou seja, funcione bem em seu sistema, use somente os dados e informações autorizados e coexista em harmonia com os outros aplicativos.
A nossa meta com a plataforma é ajudar todos nós a criar ótimos aplicativos que incorporem essa visão de confiança para que tenhamos a confiança como padrão. Com essa finalidade, fizemos investimentos em todo o sistema. Veja como ele foi imaginado:
Confiança no aplicativo: SDK do Windows 8 para aplicativos estilo Metro, Kit de Certificação de Aplicativos Windows, Assinaturas de aplicativo, Contêiner de aplicativo, Classificações e avaliações, Entrada na Loja, Instalação simples, Feedback de telemetria
Esta postagem aborda essas áreas e, no final, detalha as funcionalidades dos aplicativos. Primeiro, uma rápida visão geral:
É claro que reconhecemos que todo processo de entrada pode ser burlado, os conjuntos de APIs, prejudicados, os limites do SDK, ignorados de forma perspicaz e que os contêineres de aplicativo não são impenetráveis. Mas temos certeza de que os investimentos que fizemos nesse novo ecossistema o ajudará a criar aplicativos que agradarão muito os clientes. A abordagem multidimensional é a forma mais eficiente de conquistar a confiança do cliente, e aperfeiçoaremos cada dimensão com o tempo, conforme aprendermos com a experiência. Agora, vamos falar sobre confiança.
Várias pessoas da equipe compartilharam um pouco sobre o plano e o design geral da Loja no Blog da Windows Store. Se você ainda não teve a oportunidade, leia sobre a Loja. Ela desempenha um papel central ao ajudá-lo na conexão com os seus clientes. Vamos ver como a Loja ajuda a estabelecer confiança no ecossistema de aplicativos.
Primeiro, o processo de entrada na Loja estabelece uma linha de base consistente para a confiabilidade e a qualidade do aplicativo. Os testes de conformidade técnica contidos no Kit de Certificação de Aplicativos Windows, permitem que você saiba se o seu aplicativo atende aos padrões esperados antes de enviá-lo. Conforme você e outros desenvolvedores continuarem oferecendo aplicativos que atendam a esses padrões, os clientes ficarão empolgados para descobrir e experimentar novos aplicativos, criando um ecossistema de aplicativos mais forte para todos nós.
Com a Loja, os clientes podem oferecer classificações e avaliações mais facilmente, o que ajudará os melhores aplicativos a se destacar, instigando ainda mais clientes a experimentar com confiança os aplicativos com melhor classificação. Na página de detalhes do aplicativo de exemplo abaixo, observe os realces não apenas das classificações e avaliações, mas também dois outros elementos importantes da página de detalhes do aplicativo. Antes de instalar um novo aplicativo, os clientes poder ver quais permissões ele tem depois de instalado (mais detalhes sobre isso serão fornecidos posteriormente no blog). Após a instalação de um aplicativo, se o cliente ficar preocupado quanto ao comportamento ou conteúdo de um aplicativo, ele poderá facilmente relatar essas preocupações e nós poderemos entrar em contato com você para tratar dos problemas identificados. Ajudar os clientes a decidir quais aplicativos melhor atendem a suas necessidades e permitir que os clientes forneçam comentários e feedback, é uma forma importante de aperfeiçoar a confiança geral no ecossistema de aplicativos do Windows 8.
Página de detalhes do aplicativo da Windows Store
A Loja coleta dados de telemetria que podem ajudá-lo a investigar problemas que os seus clientes veem, incluindo o número e tipos de falhas ocorridas. Avaliamos essa telemetria automatizada para saber se o comportamento de um aplicativo não é confiável ou não atende às expectativas dos nossos clientes. A nossa meta é fazer uso efetivo não somente dos comentários individuais fornecidos pelos clientes sobre aplicativos por meio de classificações e avaliações, mas também oferecer informações sobre como está sendo o funcionamento do seu aplicativo nos computadores dos clientes. Dessa forma, você tem a oportunidade de aperfeiçoar o seu aplicativo com base nesses dados.
De todas essas formas, a Windows Store é o seu parceiro de conexão com as pessoas que desejam os seus aplicativos, ajudando-as a ter uma ótima experiência com os seus aplicativos.
Tendo a atenção do cliente na página de detalhes do aplicativo, você não deseja que nada atrapalhe a obtenção do seu aplicativo pelo cliente. No Windows 8, basta clicar em um único botão para obter um aplicativo. Os clientes não precisam passar por uma série de perguntas nem clicar em vários botões. Depois de fazer logon na Loja e encontrar o que desejam, basta que eles cliquem no botão e confirmem a compra!
A ótima notícia é que você não precisa gravar nem uma única linha de código de instalação para fazer essa mágica acontecer; tudo é fornecido como parte do Windows 8. O Windows não cuida apenas da instalação, mas também usa assinaturas digitais para garantir a integridade do seu aplicativo, da Loja à instalação, e também quando ele é carregado e executado no computador do cliente. Se o Windows detecta que o aplicativo não mais corresponde à sua assinatura digital, ele orienta o cliente a baixar a versão correta da Loja.
Como o Windows instala cada aplicativo em um local distinto, com locais separados e privados para os dados e configurações de cada aplicativo, os clientes não precisam se preocupar com a interferência da instalação ou remoção de um aplicativo no comportamento de outros aplicativos ou do computador. Os clientes ficarão mais motivados do que nunca para experimentar mais aplicativos, sabendo que a instalação e remoção de aplicativos não prejudicará sua experiência ao longo do tempo (na verdade, com os contratos do Windows 8, cada aplicativo instalado torna a experiência melhor). Você se beneficia sabendo que há pouca coisa que outro aplicativo poderia fazer que prejudicasse a experiência do cliente com o seu aplicativo.
Ter um único mecanismo consistente e comprovado para instalar aplicativos não apenas simplifica o seu trabalho, como também proporciona uma experiência fácil e positiva aos seus clientes, possibilitando que fiquem mais confiantes para adquirir mais aplicativos excelentes seus. Saiba mais sobre a implantação dos seus aplicativos em App packages and deployment (Pacotes de aplicativos e implantação).
Quanto melhor a experiência dos clientes com os seus aplicativos, mais facilmente eles experimentarão novos aplicativos e atualizações quando forem lançados por você. O SDK do Windows 8 para aplicativos estilo Metro é uma ótima base para você criar aplicativos que os clientes não hesitarão em instalar.
O conjunto de APIs que oferecemos para aplicativos estilo Metro foi muito pensado, não apenas para simplificar o ambiente de programação do Windows, como também para oferecer uma plataforma bem testada em que você pudesse criar os seus aplicativos de forma confiante, sabendo que eles funcionarão bem com o modelo de aplicativo estilo Metro do Windows 8.
Resista à tentação de descobrir maneiras de invocar APIs que não estejam incluídas no SDK. Isso acaba com as expectativas dos clientes em relação ao seu aplicativo. Não há garantias de que as APIs de fora do SDK funcionem com aplicativos estilo Metro tanto nesta quanto em futuras versões. O seu aplicativo pode não funcionar corretamente para todos os clientes. Essa APIs também pode não funcionar corretamente no ambiente assíncrono, que é a base do design de aplicativos estilo Metro. Essas APIs podem minar a confiança do cliente, acessando recursos ou dados com os quais aplicativos estilo Metro normalmente não interagem. Por todos esses motivos, fornecemos verificações no Kit de Certificação de Aplicativos Windows para ajudá-lo a descobrir locais em que você possa ter chamado interfaces não expostas pelo SDK.
Embora seja possível ocultar ou ofuscar chamadas a APIs não incluídas no SDK, isso é uma violação da política da Loja e das expectativas do cliente. Finalmente, criamos essa plataforma para ajudar desenvolvedores como você a criar incríveis aplicativos que funcionem bem com o sistema e com outros aplicativos e dispositivos que os clientes adoram. Trabalhar com o SDK estilo Metro é fundamental para que você atinja essa meta.
Um processo de instalação limpo é importante para os seus clientes, e o SDK o ajuda a criar aplicativos que interajam bem com o sistema. Além disso, os clientes esperam que o seu aplicativo e a nossa plataforma ofereçam um alto nível de confiabilidade. Ajudamos você a alcançar as suas metas de confiabilidade oferecendo um nível de separação entre aplicativos estilo Metro maior do que é possível com os aplicativos tradicionais da área de trabalho do Windows. No Windows 8, cada aplicativo estilo Metro é executado em um contêiner de aplicativo exclusivo que ajuda a isolar o aplicativo e seus dados de outros aplicativos estilo Metro.
Os contêiners de aplicativo oferecem algumas características que são compartilhadas por todos os aplicativos estilo Metro. Eles:
Com esse nível de separação, é muito mais fácil escrever aplicativos que sejam confiáveis e respeitem o usuário. Ao mesmo tempo, todos desejamos aplicativos que interajam bem entre si. O Windows 8 oferece vários mecanismos para que os aplicativos estilo Metro funcionem uns com os outros e com a plataforma para oferecer essas experiências satisfatórias, incluindo:
Todas elas são maneiras bem definidas para que o seu aplicativo interaja de forma mais profunda com os outros aplicativos do sistema. O contêiner de aplicativo se destina a ajudá-lo a atender às expectativas do seu cliente quanto à confiabilidade e o uso respeitoso de seu sistema e dados. As restrições do contêiner de aplicativo têm o objetivo de ajudar a atender ao que o cliente espera do aplicativo: que tenha comportamentos consistentes e intuitivos. O uso de técnicas que permitam que o seu aplicativo execute código fora de um contêiner de aplicativo é uma violação da política da Loja e da confiança do usuário.
Nas nossas discussões com os desenvolvedores durante esse período de pré-lançamento, vimos aplicativos que não entenderam ou usaram acidentalmente alguns desses mecanismos de forma errada, portanto, vamos ver mais detalhes sobre as funcionalidades do aplicativo em particular.
O contêiner de aplicativo pode ser ampliado de várias maneiras com o uso de declarações de funcionalidades, sendo que cada uma delas foi criada para permitir determinados cenários. Portanto, recomendamos que você as use somente sob determinadas condições. Essas funcionalidades se encaixam em 4 categorias principais:
Declarar uma funcionalidade de qualquer uma dessas categorias é tão simples quanto selecioná-la no designer de manifesto do Visual Studio. Mas somente adicione funcionalidades se o aplicativo realmente necessitar delas para um determinado cenário. Durante o Consumer Preview, a Loja recebeu vários aplicativos que declararam todas as funcionalidades ou funcionalidade que não era essencial ao aplicativo. Portanto, sendo a lista de funcionalidades possíveis relativamente curta, vale examinar detalhadamente cada uma delas e como elas devem ser usadas.
Designer de manifesto do Visual Studio
Essa funcionalidade permite que o aplicativo acesses dados do usuário que não sido necessariamente criados no seu aplicativo. Os usuários esperam que os aplicativos sejam respeitosos quanto ao acesso de seus dados particulares. Uma maneira de honrar a confiança que os usuários depositam no seu aplicativo é declarar somente o acesso mínimo de que ele necessita. Na maioria dos casos, você pode evitar todas essas funcionalidades usando o FilePicker. Com ele, o usuário pode procurar arquivos em qualquer local de seu disco rígido ou rede. Por exemplo, use o FilePicker para permitir a abertura de um arquivo ou adicionar o recurso Salvar como ao aplicativo a fim de oferecer ao usuário a oportunidade de salvar conteúdo do seu aplicativo em locais de sua biblioteca ou armazenamento removível.
Declaração de manifesto
O que ela oferece
musicLibrary
Oferece a funcionalidade de adicionar, alterar ou excluir arquivos na biblioteca Músicas do PC local e PCs do grupo doméstico.
videoLibrary
Oferece a funcionalidade de adicionar, alterar ou excluir arquivos na biblioteca Vídeos do PC local e PCs do grupo doméstico.
pictureLibrary
Oferece a funcionalidade de adicionar, alterar ou excluir arquivos na biblioteca Imagens do PC local e PCs do grupo doméstico.
documentsLibrary
Oferece a funcionalidade de adicionar, alterar ou excluir arquivos na biblioteca Documentos do PC local e PCs do grupo doméstico. O aplicativo somente pode acessar tipos de arquivos da Biblioteca Documentos que são definidos com o uso da declaração de Associações de tipo de arquivo. O aplicativo não pode acessar a biblioteca Documentos de PCs do grupo doméstico.
removableStorage
Oferece a funcionalidade de adicionar, alterar ou excluir arquivos em dispositivos de armazenamento removível. O aplicativo somente pode acessar tipos de arquivos de armazenamento removível que são definidos no manifesto usando a declaração de Associações de tipo de arquivo. O aplicativo não pode acessar armazenamento removível de PCs do grupo doméstico.
Durante o Consumer Preview, recebemos vários aplicativos que declararam todas essas funcionalidades quando não era realmente necessário. Por exemplo, houve aplicativos que declararam documentsLibrary por inúmeras razões, incluindo:
Se o seu aplicativo for o manipulador principal de um determinado tipo de arquivo no sistema, por exemplo, um Visualizador de Fax que precise manipular todos os arquivos da biblioteca de documentos do usuário, declare essa funcionalidade.
Muitos dispositivos, como sensores de orientação e acelerômetros, estão disponíveis para todo aplicativo. Mas a maioria dos clientes considera determinados dispositivos mais invasivos do que outros, por serem fortemente associados à privacidade do usuário. Você pode criar muitos aplicativos excelentes nesses dispositivos. Por exemplo, se você tiver um jogo que permita partidas compartilhadas, o uso da proximidade será uma ótima maneira de estabelecer uma conexão entre dispositivos.
Como esses dispositivos estão fortemente associados à privacidade do usuário, o Windows 8 garante que, se você declarar essa funcionalidade, o cliente será solicitado a aprovar esse acesso na primeira vez que o seu aplicativo tentar acessar esse dispositivo específico. Por exemplo, se o seu aplicativo oferecer mapas, você provavelmente desejará acessar os dados de localização geográfica do cliente. Na primeira vez que o seu aplicativo tentar obter essas informações, o cliente verá uma solicitação de aprovação do acesso do aplicativo. Essa aprovação será mantida até quando o cliente decidir remover explicitamente o acesso por meio das configurações. Como o cliente pode recusar o acesso do seu aplicativo a esses dispositivos, mesmo que você tenha adicionado a funcionalidade ao manifesto, projete o aplicativo para lidar com a falta de acesso. Por exemplo, se o cliente tiver recusado o acesso do seu aplicativo ao GPS interno, você pode simplesmente solicitar que o usuário selecione seu local em um mapa.
localização
Oferece acesso à localização atual, que é obtido por meio de hardware dedicado, como um sensor de GPS no PC ou de informações de rede disponíveis.
webcam
Oferece acesso à transmissão de vídeo da webcam, o que permite que o aplicativo capture instantâneos e filmes de webcams conectadas.
microfone
Oferece acesso à transmissão de áudio do microfone, o que permite que o aplicativo grave áudio de microfones conectados.
proximidade
Oferece a funcionalidade de conexão com dispositivos próximos ao PC via rádio de proximidade de campo. A proximidade de campo pode ser usada para enviar arquivos ou se comunicar com um aplicativo ou dispositivo próximo.
A maioria dos aplicativos precisa de conexão com a Internet, portanto, os modelos do Visual Studio para aplicativos estilo Metro incluem a funcionalidade internetClient por padrão. Se o seu aplicativo não precisar se comunicar pela Internet, você deve remover essa funcionalidade. A funcionalidade internetClientServer normalmente é usada em cenários P2P (ponto a ponto), como jogos ou VOIP, mas somente use essa funcionalidade se o aplicativo precisar abrir uma porta no firewall. Use a funcionalidade privateNetworkClientServer quando o seu aplicativo precisar se comunicar via redes privadas, por exemplo, entre dispositivos de uma casa ou em uma conexão de rede corporativa.
internetClient
Oferece acesso de saída à Internet e redes de locais públicos como aeroportos e cafés. A maioria dos aplicativos que necessitam da Internet deve usar essa funcionalidade.
internetClientServer
Oferece acesso de entrada e saída à Internet e às redes de locais públicos como aeroportos e cafés. Essa funcionalidade inclui a internetClient. A internetClient não precisa ser habilitada se essa funcionalidade também estiver habilitada.
privateNetworkClientServer
Oferece acesso de entrada e saída a redes de Intranet que tenham um controlador de domínio autenticado ou que o usuário tenha definido como redes domésticas ou corporativas.
A maioria dos desenvolvedores não precisa dessas funcionalidades. O uso delas será altamente restrito e sujeito à avaliação e política de entrada adicional. Mas há casos em que essas funcionalidades são necessárias e apropriadas, por exemplo, alguns bancos exigem a autenticação de dois fatores e precisam permitir que os clientes forneçam um cartão inteligente que contém um certificado digital que confirma sua identidade. Outros aplicativos voltados para clientes empresariais, e não consumidores, podem precisar acessar recursos corporativos que não podem ser acessados sem as credenciais de domínio.
enterpriseAuthentication
Oferece a funcionalidade de se conectar a recursos de intranet corporativa que exigem credenciais de domínio.
sharedUserCertificates
Oferece a funcionalidade de acessar certificados de software e hardware, como certificados de cartões inteligentes para validar a identidade de um usuário. Quando APIs relacionadas são invocadas no tempo de execução, o usuário precisa realizar alguma ação (inserir cartão, selecionar certificado etc.). Essa funcionalidade não é necessária se o seu aplicativo incluir um certificado privado por meio de uma declaração de Certificados.
Conquistando a confiança
Os clientes desejam usufruir o Windows 8 e os aplicativos criados por você de forma segura. A experiência dos aplicativos estilo Metro foi criada para facilitar a criação de aplicativos que todos possam experimentar e comprar com segurança. Isso estabelece um ciclo construtivo em que as pessoas adoram e compram vários aplicativos e que gera oportunidades para os desenvolvedores criarem e oferecerem cada vez mais aplicativos estilo Metro excelentes.
Como observei no início, nós estamos juntos nisso; temos certeza de que os investimentos coletivos que fizemos neste novo ecossistema o ajudarão a criar aplicativos que cativarão as pessoas. Esperamos tê-lo como parceiro para oferecer experiências novas e incríveis para os nossos clientes em comum.
--John Hazen