Windows Dev Center

Dados de aplicativo e do usuário

Existem vários locais para os aplicativos do Tempo de Execução do Windows armazenarem dados de aplicativo e do usuário. O local certo para armazenar dados depende do cenário e o idioma escolhido para criar seu aplicativo. Descrevemos a gama completa de mídias de armazenamento e cenários de destaque em que cada mídia funciona melhor.

Tipos de dados de aplicativo

Existem dois tipos de dados que os aplicativos frequentemente gerenciam ou com os quais interagem:

  • Dados de aplicativo

    Dados que o próprio aplicativo cria e gerencia. Trata-se de dados mutáveis específicos às funções internas ou à configuração de determinado aplicativo. Incluem o estado do tempo de execução, as preferências do usuário, o conteúdo de referência (como as definições de dicionários em um aplicativo de dicionários) e outras configurações. Os dados de aplicativo são vinculados à existência do aplicativo e só são significativos ao aplicativo específico.

  • Dados do usuário

    Dados que o usuário cria e gerencia ao usar um aplicativo. Incluem arquivos de documentos ou mídia, emails, transcrições de comunicações ou registros de bancos de dados com conteúdo criado pelo usuário. Observe que as preferências selecionadas pelo usuário ou as opções de configuração do aplicativo são consideradas dados de aplicativo, não dados do usuário. Os dados do usuário podem ser úteis ou significativos para mais de um aplicativo. Geralmente, trata-se de dados que o usuário quer manipular ou transmitir como uma entidade independente do próprio aplicativo, como um documento.

Armazene os dados de seus aplicativos do Tempo de Execução do Windows em repositórios de dados que o sistema oferece para essa finalidade, que são específicos para o aplicativo e o usuário. O sistema pode gerenciar esses repositórios de dados e mantê-los isolados de outros aplicativos e usuários. O sistema preserva esses repositórios de dados quando o usuário instala uma atualização para o aplicativo. O sistema também remove o conteúdo desses repositórios de dados completamente quando o usuário desinstala o aplicativo. Não armazene dados de aplicativo em locais de armazenamento direcionados a dados do usuário para contornar essas características.

Como o tempo de vida de repositórios de dados de aplicativo é vinculado ao tempo de vida do aplicativo, não armazene dados do usuário, como documentos ou mídia, em repositórios de dados direcionados a dados de aplicativo. Use as bibliotecas do usuário e o Microsoft OneDrive para armazenar informações desse tipo.

A tabela resume os vários locais de dados disponíveis para seu aplicativo, suas limitações e seus usos recomendados. O acesso a alguns locais de dados é limitado nos aplicativos do Tempo de Execução do Windows em JavaScript, dependendo do contexto do documento. Todas as limitações de tamanho de armazenamento também são restritas pelo tamanho geral do meio de armazenamento.

Dados do usuário

Local de dadosDisponível paraRecursos e limitaçõesUso recomendado

Bibliotecas acessadas pelo Tempo de Execução do Windows StorageFile e file pickers

  • Aplicativos do Tempo de Execução do Windows em JavaScript (contexto local)
  • Aplicativos da Windows Store em C++, C# ou Visual Basic
  • Aplicativos da Windows Store em DirectX com C++
  • Carregar e salvar arquivos para as bibliotecas do usuário
  • API assíncrona
  • Sem limitação de tamanho
  • Seletores de arquivos e pastas:
    • Use seletores de arquivos e pastas para permitir que o usuário controle a seleção ou a criação do arquivo.
  • Acesso programático:
    • Requer uma funcionalidade no manifesto do pacote para cada biblioteca, com a exceção dos downloads em que um aplicativo tem permissão para gravar ou ler o que está gravado.
    • Requer uma extensão do tipo de arquivo desejado no manifesto do pacote dos arquivos que podem ser abertos em Documentos ou em locais de armazenamento removíveis.

Use para dados do usuário que devem sobreviver pelo tempo de vida do aplicativo ou que são gerenciados de forma independente pelo usuário.

OneDrive

  • Aplicativos do Tempo de Execução do Windows em JavaScript
  • Aplicativos da Windows Store em C++, C# ou Visual Basic
  • Aplicativos da Windows Store usando DirectX
  • Dá suporte ao armazenamento de dados do usuário na nuvem e está disponível para várias plataformas de dispositivo
  • Uma API baseada em REST e JASON (JavaScript Object Notation)
  • Restrito a uma lista bem definida de formatos de arquivos com suporte
  • Permite o acesso a conteúdo compartilhado por outros usuários
  • A cota de tamanho é baseada na conta do usuário

Use para dados do usuário que o usuário quer acessar de vários dispositivos, plataformas ou aplicativos.

API de arquivo HTML5

  • Aplicativos do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Aplicativos da Windows Store em C++, C# ou Visual Basic
  • Aplicativos da Windows Store usando DirectX
  • Padrão da Web

Preferencial somente para cenários que envolvem carregamento e download de arquivos. Para transferências que continuam enquanto o aplicativo não está ativo, use o Tempo de Execução do Windows BackgroundTransfer do contexto local.

 

Além das opções de armazenamento descritas nesta tabela, você também pode usar soluções de armazenamento de bancos de dados de terceiros e em nuvem.

Dados de aplicativo

Local de dadosDisponível paraRecursos e limitaçõesUso recomendado

APIs de dados de aplicativo para Tempo de Execução do Windows

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto local)
  • Aplicativo da Windows Store em C++, C# ou Visual Basic
  • Aplicativo da Windows Store usando DirectX
  • Fornece um repositório de dados local e um repositório de dados em roaming
  • Também fornece um repositório de dados temporário sujeito à limpeza de disco pelo sistema
  • Dá suporte a conteúdo altamente estruturado (configurações)
  • Dá suporte a tipos compostos (um conjunto de configurações gerenciadas como unidade atômica)
  • Dá suporte a dados não estruturados (arquivos)
  • As configurações usam uma API síncrona
  • Os arquivos usam uma API assíncrona
  • As configurações são limitadas a 8 K por configuração ou a 64 K por configuração composta; não há limite no número de configurações; recomendamos armazenar menos de 1 MB de dados
  • Os arquivos não têm limite de tamanho
  • Arquivos e configurações em roaming são limitados por pacote no tamanho geral, como definido no ApplicationData.RoamingStorageQuota ou o roaming não ocorre
  • Para preservar a largura de banda e a vida da bateria, o sistema gerencia quando o roaming ocorre. A configuração HighPriority usa o perfil móvel com mais frequência do que outras configurações.
  • Não há limite de tamanho para dados temporários

Use para configurações e arquivos de dados não estruturados.

IndexedDB

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Tecnologia de armazenamento ISAM
  • Navegação de cursor indexada ou sequencial
  • O armazenamento é limitado a 250 MB por aplicativo
  • Para unidades menores que 30 GB, o armazenamento é limitado a 375 MB entre todos os aplicativos instalados
  • Para unidades com 30 GB ou mais, o armazenamento é limitado a 4% do tamanho da unidade ou a 20 GB, o que for menor, entre todos os aplicativos instalados
  • Páginas de contexto Web baseadas na Web só podem usar IndexedDB quando a URL da página está na parte ApplicationContentUriRules do manifesto do pacote do aplicativo, a não ser que você defina a marca meta ms-enable-external-database-usage na página inicial do aplicativo

Use para armazenamento de dados estruturados e indexados para uso apenas por JavaScript. É principalmente usado para cenários de armazenamento em cache.

ESE (Mecanismo de Armazenamento Extensível)

  • Somente um desenvolvedor deve empacotar as chamadas em um objeto do Tempo de Execução do Windows antes que ele possa ser usado pelos chamadores não C/C++
  • Tecnologia de armazenamento ISAM
  • Navegação de cursor indexada ou sequencial
  • Dados transacionais
  • Consistência de dados robustos mesmo se houver falhas no sistema
  • Dados armazenados em cache para rápida recuperação
  • Tamanhos entre escalonáveis e grandes, normalmente superiores a 50 GB
  • Armazenados em um arquivo binário simples, localizados em disco por outro meio, como as APIs ApplicationData do Tempo de Execução do Windows
  • Somente APIs C/C++ são fornecidas

Use para armazenamento de dados estruturados e indexados para uso por C/C++ ou empacotados em um objeto de Tempo de Execução do Windows criado por um desenvolvedor.

Armazenamento Web HTML5

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Aplicativo da Windows Store em C++, C# ou Visual Basic (usando o controle WebView)
  • Usa pares chave-valor
  • Padrão da Web
  • Isolado do cache do navegador por aplicativo e por usuário
  • API síncrona
  • Tem um limite de tamanho de 10 MB

Use localStorage quando você precisar de armazenamento lightweight em um contexto Web e o Tempo de Execução do Windows não estiver disponível. Não use sessionStorage porque ele só existe na memória e não sobrevive ao término do aplicativo. Use esse tipo de dispositivo somente para armazenamento temporário, pois é improvável que seja interrompido pela mudança de aplicativo do usuário.

WinJS.Application.sessionState

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto local)
  • Objeto JavaScript com propriedades definidas pelo aplicativo
  • Automaticamente salvo pela Biblioteca do Windows para JavaScript em suspensão no localApplicationData
  • Sem limitações de tamanho.

Preferencial somente como um local para armazenar o estado do aplicativo transitório quando o aplicativo é suspenso e terminado, para ser retomado no mesmo estado.

Armazenamento de estado WinJS.Application.local

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Wrapper de conveniência para ApplicationData
  • Recai em uma implementação na memória quando em um contexto Web

Use para JavaScript que deve ser executado tanto em um contexto Web quanto em um contexto local.

Armazenamento de estado WinJS.Application.roaming

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Wrapper de conveniência para ApplicationData
  • Recai em uma implementação na memória quando em um contexto Web

Use para JavaScript que deve ser executado tanto em um contexto Web quanto em um contexto local.

 

Além das opções de armazenamento descritas nesta tabela, você também pode usar soluções de armazenamento de bancos de dados de terceiros e em nuvem.

Servidor

Quando seu aplicativo interage com sites e serviços Web, ele pode usar alguns outros locais de armazenamento de dados:

Local de dadosDisponível paraRecursos e limitaçõesUso recomendado

Cache de aplicativos HTML5

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Aplicativo do Tempo de Execução do Windows em JavaScript (usando o manifesto baseado na Web Cache do Aplicativo)
  • Padrão da Web
  • Permite a pré-obtenção de marcação de aplicativos baseada na Web, scripts, folhas de estilo e recursos para facilitar o uso offline
  • As páginas de contexto local só podem usar um Cache de Aplicativo para obter recursos que não contenham código. Por exemplo, você pode usá-lo para obter imagens, áudio, vídeo ou xml para uso offline.
  • Não é possível gravar via script
  • Para uma página no contexto Web acessar o Cache do Aplicativo, a URL da página tem que ser adicionada à parte ApplicationContentUriRules do manifesto do pacote do aplicativo. Páginas no contexto local não têm esse requisito.

Use quando o conteúdo for somente leitura, for entregue de um servidor Web e precisar ser acessível enquanto o dispositivo estiver offline. Embora o Cache de Aplicativo HTML5 possa ser usado para fornecer conteúdo individualizado, seu principal objetivo é ser uma estratégia de armazenamento em cache para acessar dados offline.

Cookies

  • Aplicativo do Tempo de Execução do Windows em JavaScript (contexto Web e contexto local)
  • Aplicativo da Windows Store em C++, C# ou Visual Basic (usando WebView)
  • Aplicativos usando IXMLHTTPRequest2
  • Padrão da Web
  • Isolado do cache do navegador por aplicativo e por usuário
  • Limite de tamanho de 4 K por cookie; o número de cookies é ilimitado
  • Os cookies para/de uma página no contexto local para a Web via XHR são sujeitos às regras normais da Web de compartilhamento de cookies entre domínios

Use para dados que devem ser compartilhados com cada solicitação feita a um servidor Web.

Serviços em nuvem, serviços OpenData e bancos de dados em nuvem

  • Qualquer aplicativo
  • Permite a solução de banco de dados em nuvem completa
  • Habilita o processamento disparado ou periódico do servidor
  • Os recursos dependem da adoção do serviço em nuvem

Preferencial ao trabalhar com conteúdo que é volumoso, gerado por uma fonte terceirizada ou que também é exibido em um site e no aplicativo.

 

 

 

Mostrar:
© 2015 Microsoft