locked
Qual melhor armazenamento de Dados para o Windows Phone 8? RRS feed

  • Pergunta

  • Boa Tarte,

    Estou iniciando neste mundo de programar para o Windows phone 8.

    Tenho algumas duvidas o que seria melhor utilizar o SQLite ou Entity Framework e LINQ caso haja outra forma gostaria de saber.

    Gostaria de salvar informações localmente.



    domingo, 12 de maio de 2013 17:48

Respostas

  • Bom dia Fabrício,

    Você tem dois assuntos distintos em sua pergunta, deixe-me tentar separá-los.

    Temos a possibilidade de persistir dados localmente, no windows phone, quando trabalhando em um aplicativo.

    Para isso, temos diversas formas, de acordo com o que necessita.
    Não há uma melhor forma, mas sim formas diferentes para situações diferentes.

    Note, se precisar apenas de um "setting" específico, algo como "dark theme" ou "light theme" salvo para o usuário local, você pode usar IsolatedStorage Settings..
    http://msdn.microsoft.com/en-us/library/cc221360(v=vs.95).aspx

    Isso já e uma persistência de dados. simples, por ser um dicionário chave valor, mas é um armazenamento. Você pode salvar objetos nesses settings também.

    Você tem acesso também a salvar arquivos , através do isolated storage de seu aplicativo.
    dê uma olhada em
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681698(v=vs.105).aspx

    explicado
    isso, aí sim, falo para você da outra alternativa, o banco de dados local (relacional). Você tem uma solução nativa, chamada local database, e que pode saber mais aqui
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202860(v=vs.105).aspx

    esse banco local NÃO É entity framework, ele é apenas uma solução local que usa LINQ para as ações

    além disso pode usar alguma solução de terceiro. uma delas, talvez a mais famosa, é o sqlite que mencionou.

    isso tudo é cliente, é o que execute no wp.

    POR OUTRO LADO, você ainda tem o servidor, ou seja, você pode ter sua app executando código cliente e conectando, via serviço, com um back end.

    imagine que sua app não tem mais banco de dados local. ela apenas salva um cache local, mas todos os selects, toda a logica agora está no servidor. esse servidor, que está na sua empresa, no azure, seja onde for, é um sql server, postgresql, qualquer coisa.
    Imagine que tenha ummSQL Server e uma coleção de serviços , que será consumida pela app. nesse caso, NO SERVIDOR, você usa o Entity framework, que nada mais é do que uma abstração desse banco, um mapeamento do banco em forma de objetos, que te dará uma melhor de trabalho. O EF também usará linq e fará seus "selects", entregando dados para os serviços que serão expostos e consumidos por aplicações clientes, sejam elaas windows phone, ios, android, etc...

    ficou claro??

    no mais, não existe solução sempre melhor. dependendo do seu cenário, talvez não faça nem sentido usar um banco de dados relacional!!

    Grande abraço! 

    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net


    quarta-feira, 22 de maio de 2013 11:42

Todas as Respostas

  • Bom Dia
    Fabrício Rebeque, para guardar as suas informações localmente você irá necessitar de uma base local.No caso vc mesmo citou o SQCE, nunca utilizei o mesmo mas dizem que é bom.
    Sobre como você irá manipular as informações como vc mesmo citou rsrs pode ser através do Entity Framework e o LINQ que são poderosas ferramentas fornecidas pelo visual studio.
    Segue alguns link's que podem te auxiliar :

    http://www.adambenoit.com/development/entity-framework-windows-phone-part-1/
    http://imasters.com.br/desenvolvimento/utilizando-entity-framework-com-sql-ce/
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202872(v=vs.105).aspx
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202876(v=vs.105).aspx
    Caso tenha alguma dúvida durante o desenvolvimento a o seguinte forum para tirar sua dúvidas:

    http://social.msdn.microsoft.com/Forums/pt-br/winphone7pt/threads

    Espero que tenha ajudado
    • Sugerido como Resposta Ninho_Blink quarta-feira, 22 de maio de 2013 11:47
    quarta-feira, 15 de maio de 2013 13:01
  • Bom dia Fabrício,

    Você tem dois assuntos distintos em sua pergunta, deixe-me tentar separá-los.

    Temos a possibilidade de persistir dados localmente, no windows phone, quando trabalhando em um aplicativo.

    Para isso, temos diversas formas, de acordo com o que necessita.
    Não há uma melhor forma, mas sim formas diferentes para situações diferentes.

    Note, se precisar apenas de um "setting" específico, algo como "dark theme" ou "light theme" salvo para o usuário local, você pode usar IsolatedStorage Settings..
    http://msdn.microsoft.com/en-us/library/cc221360(v=vs.95).aspx

    Isso já e uma persistência de dados. simples, por ser um dicionário chave valor, mas é um armazenamento. Você pode salvar objetos nesses settings também.

    Você tem acesso também a salvar arquivos , através do isolated storage de seu aplicativo.
    dê uma olhada em
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681698(v=vs.105).aspx

    explicado
    isso, aí sim, falo para você da outra alternativa, o banco de dados local (relacional). Você tem uma solução nativa, chamada local database, e que pode saber mais aqui
    http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202860(v=vs.105).aspx

    esse banco local NÃO É entity framework, ele é apenas uma solução local que usa LINQ para as ações

    além disso pode usar alguma solução de terceiro. uma delas, talvez a mais famosa, é o sqlite que mencionou.

    isso tudo é cliente, é o que execute no wp.

    POR OUTRO LADO, você ainda tem o servidor, ou seja, você pode ter sua app executando código cliente e conectando, via serviço, com um back end.

    imagine que sua app não tem mais banco de dados local. ela apenas salva um cache local, mas todos os selects, toda a logica agora está no servidor. esse servidor, que está na sua empresa, no azure, seja onde for, é um sql server, postgresql, qualquer coisa.
    Imagine que tenha ummSQL Server e uma coleção de serviços , que será consumida pela app. nesse caso, NO SERVIDOR, você usa o Entity framework, que nada mais é do que uma abstração desse banco, um mapeamento do banco em forma de objetos, que te dará uma melhor de trabalho. O EF também usará linq e fará seus "selects", entregando dados para os serviços que serão expostos e consumidos por aplicações clientes, sejam elaas windows phone, ios, android, etc...

    ficou claro??

    no mais, não existe solução sempre melhor. dependendo do seu cenário, talvez não faça nem sentido usar um banco de dados relacional!!

    Grande abraço! 

    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net


    quarta-feira, 22 de maio de 2013 11:42