Algunas Verdades Útiles del Isolated Storage en Windows Phone 7

El Isolated Storage es el mecanismo ofrecido por Windows Phone para permitir que mantengamos el estado de nuestras apps, dado que para proteger el hardware, el software y al usuario de software malintencionado, el sistema de archivos convencional ha sido modificado para ser un esquema protegido en el cual una app no puede acceder a espacio de memoria física ni lógica de otras apps. Es así como el almacenamiento de cada app está completamente aislado de los espacios de almacenamiento de los demás y por eso recibe este nombre.

Abundan posts y artículos que enseñan a usar el Isolated Storage: cómo almacenar y leer archivos y demás. Pero este post está dedicado a hablar de las circunstancias especiales que rodean al Isolated Storage y que en general solo la práctica lleva a concluirlas.

  • Si los espacios de almacenamiento están aislados, entonces cómo hacemos para que dos o más apps compartan datos?
    • En este caso la recomendación es almacenar los datos en la web o cloud, bien sea a través de web services o web apis.
  • Qué pasa con mi Isolated Storage, cuando le hago un update a la app? Se borra?
    • El Isolated Storage permanece intacto, así que la nueva versión de la app podrá seguir accediendo a los datos previamente guardados. Eso sí hay que tener en cuenta que si la app es desinstalada por parte del usuario, en ese caso el Isolated Storage desaparecerá. Por lo tanto si se desean mantener los datos, se recomienda hacer un update sencillo de la app, sin desinstalarla previamente.
    • Lo que si hay que tener MUY en cuenta, es que la nueva versión de la app esté capacitada para leer correctamente la data que estaba en el Iso; porque por ejemplo puede suceder que hayan serializado una clase en el Iso y luego en la nueva versión la estructura de la clase puede haber cambiado, lo que imposibilitará recuperar los datos almacenados. El desarrollador debe asegurarse de que todo funciona antes de subir la nueva versión de la app.
  • Qué cantidad de espacio tengo disponible en el Isolated Storage para mi app?
    • Tanta como para no ocupar más del 90% del espacio del teléfono.

A pesar de que el Isolated Storage no es el FileSystem tradicional que conocemos, todas las buenas prácticas para manejar un sistema de archivos aplican. Las pueden observar en este post.