Desarrollo de apps multiplataforma: cómo almacenar la información

Desarrollo de apps multiplataforma: cómo almacenar la información

Carlos Yañez

13-02-2019

Almacenamiento de pares de valores-claves

En ocasiones, nos puede interesar que nuestra app almacene datos básicos que forman parte de las preferencias de usuario y que no tienen complejidad, son simplemente strings. En este caso lo ideal es usar el fichero preferences que nos permitirá almacenar de forma rápida. En función del lenguaje de programación que usemos, el acceso a este fichero de preferencias se realizará con unos métodos u otros.

Lo importante es saber qué tipo de datos conviene almacenar en este archivo y que suelen ser preferencias del usuario que la app usará al arranque de esta.

El uso de SQLite

SQLite es un motor de base de datos relacional de software libre, que permite almacenar información en dispositivos de una forma sencilla, eficaz, potente, rápida y en equipos con pocas capacidades de hardware, como puede ser una PDA o un smartphone.
SQLite soporta desde las consultas más básicas hasta las más complejas del lenguaje SQL, se puede usar tanto en dispositivos móviles como en sistemas de escritorio, por lo que es ideal en el desarrollo multiplataforma.

Si nuestra app precisa almacenar cantidades de datos de forma estructurada, el uso de SQLite puede ser la solución ideal.

Manejar esta base de datos es sencillo si anteriormente ya hemos trabajado con base de datos relaciones pues usando SQL podremos crear tablas y gestionar el contenido de estas sin dificultades.

El acceso a los datos almacenados en esta base de datos es muy rápido y eficaz, por eso, se recomienda utilizar SQLite cuando desarrollamos una aplicación en la que necesitemos usar Internet para consultar los datos de la app y no tenemos algunas veces una buena señal de cobertura, con SQLite podemos usar los valores almacenados en la caché de la base de datos.
La gran ventaja además es que casi todos los lenguajes de programación disponen de librerías para el uso de esta base de datos.

Uso del almacenamiento interno

Otra de las opciones de almacenamiento a las que podemos recurrir es usar el almacenamiento interno del dispositivo.
El almacenamiento interno es aquel que proporciona el dispositivo como parte de él mismo y que limita su capacidad de almacenamiento
Normalmente usaremos este tipo de almacenamiento para almacenar ficheros de texto o ficheros binarios de carácter privado.
Las apps, en este tipo de almacenamiento disponen de una carpeta privada a la cual no tiene acceso el resto de las apps, por lo que los archivos almacenamos en esa carpeta son privados para la aplicación.
Todo el contenido de esa carpeta y la misma carpeta desaparece cuando la app se desinstala.

Uso del almacenamiento externo

Como alternativa al almacenamiento interno, tenemos el almacenamiento externo del dispositivo.
Este almacenamiento hace referencia a las tarjetas de expansión normalmente extraíbles que usamos para aumentar la capacidad de almacenamiento de nuestro dispositivo.
En este tipo de almacenamiento, ubicaremos datos compartidos y debemos tener en cuenta que los archivos guardados en el almacenamiento externo pueden ser leídos por cualquier usuario y este puede modificarlos cuando habilita el almacenamiento masivo de USB para transferir archivos a una computadora.
Los entornos de desarrollo multiplataforma disponen de librerías para el acceso a este tipo de almacenamiento.
Como hemos comentado, en este tipo de almacenamiento guardaremos información que permitiremos a otras apps acceder, pero también es posible almacenar de forma privada para la app en este tipo de almacenamiento. Esto se consigue creando un directorio de acceso privado.
A tener en cuenta que este tipo de almacenamiento puede no estar disponible, por lo que, al programar la app, lo primero que debemos hacer es revisar si el mismo existe antes de usarlo para evitar errores.

Almacenamiento en Cloud

Si desarrollamos una app progresiva lo más probable es que nos interese acceder a datos o servicios que tendremos almacenamos en Cloud. Esto significa que la app solo funcionará cuando tengamos red, a no ser que tengamos un espacio de almacenamiento interno para utilizarlo de caché.
Esta es otra alternativa para el almacenamiento de información que en algunos casos puede resultar muy interesante.

Ya hemos visto las diferentes opciones que tenemos y cuál es más adecuada para cada caso. En cualquier entorno de programación multiplataforma encontraremos librerías que nos permitirán acceder a los diferentes tipos de almacenamiento, lo importante es usar de forma correcta cada uno de ellos.

 

Curso relacionado:  Desarrollo Aplicaciones Multiplataforma

Profile picture for user Carlos Yañez
Carlos Yañez

Ingeniero Superior de Telecomunicaciones por la UPC. Director de Informática en un Laboratorio de Análisis con implantación nacional. Profesor de los cursos de Electrónica y Técnico en Sistemas Microinformaticos y Redes.