Artwork

Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !

62. ¿Por qué debemos desarrollar apps con modo offline?

18:06
 
Compartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on February 04, 2022 02:10 (2y ago). Last successful fetch was on August 03, 2021 05:49 (2+ y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 202457015 series 1911761
Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Antes de nada, hablaremos a continuación sobre dos noticias acerca de las versiones de los sistemas operativos, la importancia que tiene cada vez que sale una nueva versión del sistema operativo sobre las aplicaciones que desarrollamos. Las dos son relacionadas con el mundo Android.

La primera es que Google Play a partir de finales de 2018, exigirá que las nuevas actualizaciones, las nuevas aplicaciones que se suban a Google Play estén hechas para una versión de Android de como máximo un año de antigüedad.

Esto es bastante importante, ya que nos obliga a adaptarnos a las últimas herramientas, a los últimos cambios que se vayan haciendo en Android.

Y la otra noticia relacionada es que ha salido a través de la web de Android Policy, que quizás Android puede restringir aquellas aplicaciones que fueron desarrolladas para Android 4.1 o hacia abajo.

Se especula, porque no se sabe seguro, ya que Android de momento ha sacado una versión para desarrolladores, con lo cual hay gente que ha indagado en el código y ha mirado lo que hay, y de momento solo sale una advertencia cuando la abres que te dice: quizás esta versión no funciona bien porque está hecha para un versión de Android antigua, pero no está restringiendo nada, te la deja seguir utilizando; simplemente tú puedes cerrar esta alerta y la utilizas tan tranquilamente como utilizarías otra.

Pero lo que sí se especula es que mirando el código se puede deducir que, en algún momento, quizás en la versión final de Android P directamente se elimine, se restrinja el acceso a estas aplicaciones ¿qué quiere decir esto?

Si tenemos una aplicación que fue hecha 3-4 años atrás y no has actualizado nunca, que fue desarrollada para Android 4.1 o hacia abajo, quiere decir que los usuarios con Android P no van a poder utilizar esas aplicaciones, porque Android no les va a dejar instalarlo, con lo cual cobra más sentido el ver cómo afecta al desarrollo todas estas versiones del sistema; el sistema nos obliga a seguir actualizándonos junto a él.

Por qué debemos desarrollar apps con modo off line

Sistema modo off line

El modo off line se trata de dar una experiencia alternativa en las aplicaciones, cuando no hay internet o cuando la conexión es mala. Vamos a verlo con un par de ejemplos.

La primera es la típica aplicación del tiempo, imaginemos cualquier aplicación del tiempo que te ofrece una previsión para la semana, te permite ver los detalles, etc.

App del Tiempo

¿Cómo sería una aplicación del tiempo sin modo offline? Cada vez que entraras a la aplicación, ésta cargaría, iría a buscar el tiempo, seguramente a distintos servidores que le ofrecieran esta información meteorológica y lo que pasaría es que al abrirla, tardaría un poco en recibir esta información en el caso de que tuviéramos internet, dependiendo de nuestra conexión 2,3,4 segundos que mostraría el típico loader o barra de progreso, lo que sea, indicando que está yendo a buscar estos datos. Una vez la aplicación haya cargado estos datos, nos lo mostraría y veríamos la información

¿Qué pasa si entramos sin internet? La aplicación se quedaría en blanco o si cuidaran un poco más esto, nos mostraría un mensaje, un gráfico, diciéndonos que sin internet no podemos acceder a esta información.

¿Cómo se comportaría la misma aplicación del tiempo con modo off line? Lo que haría es siempre refrescar esta información en un segundo plano, cuando nosotros entráramos dentro de la aplicación, ya nos mostraría la última información que tuviera disponible. Y, en segundo lugar, si entramos sin internet, siempre nos va a mostrar alguna información, no se va a quedar en blanco, no nos va a decir que no tenemos conexión o que busquemos conexión.

App de mapas

Una aplicación de mapa sin modo offline, comporta que cada vez que nosotros quisiéramos navegar, teniendo internet, gastaríamos bastantes datos, porque los mapas ocupan bastante memoria, tienen gráficos, tienen muchos datos, muchas coordenadas.

En el caso de que no tengamos internet, básicamente no vamos a poder navegar porque el mapa no se va a cargar; entonces ¿qué pasa con una aplicación de mapas que tiene modo off line?
Para empezar, podemos ahorrar un montón de datos, porque si sabemos que vamos a navegar por una misma zona siempre, en vez de estar descargando estos mapas todo el rato, lo que podemos hacer es descargar ese mapa local, de modo que queda guardado en nuestra memoria y cuando estemos navegando no necesitamos conectarnos a internet, no necesitamos gastar más datos de los necesarios.

Por otro lado, la gran ventaja obviamente es que, aunque no tengamos internet, ya sea porque se nos han acabado los megas o ya sea porque estamos navegando en un país en el cual no residimos y no podemos tener internet en ese momento, podemos seguir navegando sin esa conexión a internet, porque tenemos el mapa descargado en local.

Esto también da lugar a otra cosa, que es lo que muchas aplicaciones hacen, ofrecerlo como una característica premium. Muchas aplicaciones de navegación ofrecen la aplicación gratuitamente, puedes utilizarla, pero a veces esto es lo que se suele utilizar como gancho para atraer a los usuarios a ese premium, a esa opción de pago de la aplicación.

App de mensajería

Otro ejemplo, ya para terminar de explicar el modo off line, son las aplicaciones de mensajería, como sería por ejemplo Whatsapp o cualquier otra aplicación de mensajería, si no tuviera un modo off line, básicamente no podríamos enviar mensajes cuando no tenemos conexión a internet.

Imagínate la siguiente situación: tú estás aparcando el coche en un parking en el que no hay conexión a internet o estás bajando por el ascensor, abres Whatsapp, abres los últimos mensajes que te han llegado y claro quieres contestar en ese momento, pero si no tiene modo off line, si no tienes conexión a internet, no puedes enviar el mensaje, con lo cual tienes que esperarte a salir, tener conexión y enviar el mensaje.

¿Cuál sería una muchísima mejor experiencia? Añadirle ese modo off line que te permita enviar el mensaje, aunque no tengas conexión y que automáticamente la aplicación sea la que se preocupe de que cuando tú tengas conexión, pueda enviar ese mensaje; esta sería la diferencia entre una aplicación con mensajería en modo offline y sin modo offline.

Una cosa que hay que tener en cuenta, es que obviamente no todo puede ser off line en una aplicación, por ejemplo: no podemos pretender que habiendo una aplicación como booking de reserva de hoteles, buscando en cualquier lugar del mundo, en cualquier país nos de resultados sin una conexión a internet, para empezar técnicamente no es posible si esos datos se van actualizando todo el rato.

No podemos pretender obtener los últimos datos actualizados, los últimos hoteles, los últimos precios; incluso reservar el propio hotel si no tenemos esa conexión a internet y no conocemos los datos que hay en servidor.

Por otro lado, aunque esos datos no estuvieran actualizados y suponiendo que siempre fueran a hacer los mismos, también dejaría de ser viable porque para hacer eso posible, tendríamos que volcar toda esa información de los hoteles; los cientos y cientos (mejor dicho) miles, incluso millones de hoteles que hay en el mundo.

Tendrían que estar de forma local guardado en la aplicación tanto fotos, como precios, como nombres, toda la información; el resultado sería una aplicación ocupando megas, megas y quizás gigas de datos.

Importancia del modo off line

En primer lugar, hay que tener en cuenta existen momentos en los cuales perdemos la conexión a internet, como en cualquier país extranjero donde no sea aplicable nuestra tarifa de datos, cuando estamos en un tren, en un metro, cuando estamos bajando en un parking, etc, siempre hay lugares donde no tenemos esa conexión a internet y hay que ofrecer la experiencia alternativa del modo off line.

El segundo punto a tener en cuenta es que las tarifas de datos al día de hoy, por lo menos la gran mayoría son limitadas, es decir, que vamos a pagar en función de lo que vayamos a navegar, de los datos que vayamos a gastar con lo cual el ahorro de megas, a veces es muy importante y dependiendo de según qué país es aún lo es más.

Por último, hay que tener en cuenta que no en todos los países las conexiones son iguales, hay países en los que estas tarifas de datos son tan limitadas que los usuarios no las tienen todo el día activas o encendidas, si no que las activan únicamente en ciertos momentos, ciertos puntos del día en que saben que quieren hacer algo o quieren consultar algo.

Además de esto tenemos que las conexiones son lentas ya que no son igual de rápidas en todos los países, y también hay lugares donde muchos usuarios no tienen planes de datos contratados con lo cual sólo pueden acceder a través de wifi; eso quiere decir que gran parte del día no van a estar conectados a internet.

Todos estos datos son muy importantes, sobre todo si nuestra app va a ir dirigida a nivel mundial, porque hay que tener en cuenta todos estos países, todas estas diferentes situaciones que hay a nivel mundial.

Vista toda esta introducción hacia el modo off line, qué es y la importancia, vamos a hablar de cómo hacerlo. Hay muchas maneras de implementar este modo off line, pero básicamente tenemos dos técnicas.

Técnicas de implementación modo off line

Caching

El catching se trata de memorizar las últimas llamadas al servidor, recuperar la última información obtenida de internet y mostrársela al usuario.

Esto es básicamente cómo funcionarían las aplicaciones del tiempo, cogen la información y la muestran; si no tienes conexión a internet te muestran la última información que conocen, a nivel técnico es la más simple y la más sencilla de hacer, y no cuesta mucho.

En primer lugar, lo que tendríamos que hacer es pedir la información al servidor en segundo plano, el segundo paso sería que este proceso que va a buscar la información a internet, guarde la información en una base de datos a nivel local, es decir que siempre va a estar disponible para la aplicación; el tercer paso sería avisar a la interfaz de usuario de que esta información está ya disponible de que hay nuevos datos y simplemente se mostraría.

La interfaz de usuario no va a mostrar la información directamente de lo que le viene de internet, si no que va a pasar por un paso más, que es esa base de datos local.

Primero vamos a internet, guardamos la base de datos local y la aplicación muestra esa información de la base de datos; así que cuando no hay internet, simplemente lo que la aplicación hace es ir a internet, ve que no puede cogerlo, se va a la base de datos y lo muestra, esa es la manera de que cuando no haya una conexión a internet, podamos ofrecer algo.

Las ventajas son que es algo fácil de hacer y que ofreces esa alternativa off line al usuario, si no tiene internet o si algo está cargando, porque muestras la información previa, ya muestras algo.

Las desventajas son que simplemente no sirve para obtener información, no sirve para hacer acciones sobre ello, es decir, cuando por ejemplo usamos una aplicación de mensajería, no podemos enviar un mensaje.

Sincronización

Este segundo método es bastante más complicado de hacer técnicamente, pero de cara al usuario es sin duda el mejor. Se trata de ir guardando todas las acciones que hace el usuario y luego cuando tengamos internet, sincronizar ambas bases de datos, la local que tendremos duplicada y la remota que está en el servidor.

Para imaginar esto, lo mejor es poner como ejemplo, google docs o toda la swift de office, no Office (porque Office es de Microsoft) toda la swift de documentos, de hojas de cálculo de Google, tenemos google docs, google sheets y google drawing, en fin, vamos a hacerlo con google docs, que es el típico Word.

Google docs lo que te permite hacer es editar documentos de texto, pero te lo permite hacer tanto de forma on line como de forma off line. Esto quiere decir, que, si tú tienes un documento en tu móvil y pierdes conexión a internet, puedes seguir editándolo, subrayando cosas, añadiendo cosas, borrando cosas. Lo que va a pasar es que cuando tengas internet, al final todos esos cambios se van a enviar al documento real que está en el servidor y se van a ver reflejados en todos los dispositivos.

Este método es más complicado y depende mucho del proyecto y depende al nivel que lo quieras hacer, es uno de los grandes temas que siempre están en discusión de cómo es mejor hacerlo, técnicas para hacerlo, es bastante complejo.

A grandes rasgos, lo que se basa es en tener dos bases de datos, tú tienes la base de datos real que está en el servidor y haces como una pequeñita copia local, que está en la aplicación, en el dispositivo del usuario. A partir de ahí todas las acciones que hace el usuario, se guardan en esa base de datos local.

Imaginemos con Google docs, cualquier acción se guarda de forma local, pero simplemente se marca como que aún no se ha sincronizado con el servidor real. En cuanto se recupera esa conexión se sincronizan todos esos cambios.

La ventaja de esto es clarísima, que es una mejor experiencia de usuario, porque puede hacer casi cualquier cosa en función del nivel al que lo queramos llevar sin conexión a internet.

No tienes que esperar por esa respuesta del servidor, no tienes que estar pendiente de tu conexión a internet. Simplemente haces las cosas, te despreocupas y la aplicación es la encargada de sincronizar todos esos cambios para que se vea reflejado en todos los dispositivos.

El inconveniente es que básicamente es muy complicado de hacer técnicamente, depende mucho del proyecto, depende mucho al nivel que lo quieras llevar, de qué funcionalidades quieras ofrecer de modo off line, cuáles no, pero si se puede hacer, ofrece una muy buena experiencia de usuario.

The post 62. ¿Por qué debemos desarrollar apps con modo offline? appeared first on Diego Laballós.

  continue reading

100 episodios

Artwork
iconCompartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on February 04, 2022 02:10 (2y ago). Last successful fetch was on August 03, 2021 05:49 (2+ y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 202457015 series 1911761
Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Antes de nada, hablaremos a continuación sobre dos noticias acerca de las versiones de los sistemas operativos, la importancia que tiene cada vez que sale una nueva versión del sistema operativo sobre las aplicaciones que desarrollamos. Las dos son relacionadas con el mundo Android.

La primera es que Google Play a partir de finales de 2018, exigirá que las nuevas actualizaciones, las nuevas aplicaciones que se suban a Google Play estén hechas para una versión de Android de como máximo un año de antigüedad.

Esto es bastante importante, ya que nos obliga a adaptarnos a las últimas herramientas, a los últimos cambios que se vayan haciendo en Android.

Y la otra noticia relacionada es que ha salido a través de la web de Android Policy, que quizás Android puede restringir aquellas aplicaciones que fueron desarrolladas para Android 4.1 o hacia abajo.

Se especula, porque no se sabe seguro, ya que Android de momento ha sacado una versión para desarrolladores, con lo cual hay gente que ha indagado en el código y ha mirado lo que hay, y de momento solo sale una advertencia cuando la abres que te dice: quizás esta versión no funciona bien porque está hecha para un versión de Android antigua, pero no está restringiendo nada, te la deja seguir utilizando; simplemente tú puedes cerrar esta alerta y la utilizas tan tranquilamente como utilizarías otra.

Pero lo que sí se especula es que mirando el código se puede deducir que, en algún momento, quizás en la versión final de Android P directamente se elimine, se restrinja el acceso a estas aplicaciones ¿qué quiere decir esto?

Si tenemos una aplicación que fue hecha 3-4 años atrás y no has actualizado nunca, que fue desarrollada para Android 4.1 o hacia abajo, quiere decir que los usuarios con Android P no van a poder utilizar esas aplicaciones, porque Android no les va a dejar instalarlo, con lo cual cobra más sentido el ver cómo afecta al desarrollo todas estas versiones del sistema; el sistema nos obliga a seguir actualizándonos junto a él.

Por qué debemos desarrollar apps con modo off line

Sistema modo off line

El modo off line se trata de dar una experiencia alternativa en las aplicaciones, cuando no hay internet o cuando la conexión es mala. Vamos a verlo con un par de ejemplos.

La primera es la típica aplicación del tiempo, imaginemos cualquier aplicación del tiempo que te ofrece una previsión para la semana, te permite ver los detalles, etc.

App del Tiempo

¿Cómo sería una aplicación del tiempo sin modo offline? Cada vez que entraras a la aplicación, ésta cargaría, iría a buscar el tiempo, seguramente a distintos servidores que le ofrecieran esta información meteorológica y lo que pasaría es que al abrirla, tardaría un poco en recibir esta información en el caso de que tuviéramos internet, dependiendo de nuestra conexión 2,3,4 segundos que mostraría el típico loader o barra de progreso, lo que sea, indicando que está yendo a buscar estos datos. Una vez la aplicación haya cargado estos datos, nos lo mostraría y veríamos la información

¿Qué pasa si entramos sin internet? La aplicación se quedaría en blanco o si cuidaran un poco más esto, nos mostraría un mensaje, un gráfico, diciéndonos que sin internet no podemos acceder a esta información.

¿Cómo se comportaría la misma aplicación del tiempo con modo off line? Lo que haría es siempre refrescar esta información en un segundo plano, cuando nosotros entráramos dentro de la aplicación, ya nos mostraría la última información que tuviera disponible. Y, en segundo lugar, si entramos sin internet, siempre nos va a mostrar alguna información, no se va a quedar en blanco, no nos va a decir que no tenemos conexión o que busquemos conexión.

App de mapas

Una aplicación de mapa sin modo offline, comporta que cada vez que nosotros quisiéramos navegar, teniendo internet, gastaríamos bastantes datos, porque los mapas ocupan bastante memoria, tienen gráficos, tienen muchos datos, muchas coordenadas.

En el caso de que no tengamos internet, básicamente no vamos a poder navegar porque el mapa no se va a cargar; entonces ¿qué pasa con una aplicación de mapas que tiene modo off line?
Para empezar, podemos ahorrar un montón de datos, porque si sabemos que vamos a navegar por una misma zona siempre, en vez de estar descargando estos mapas todo el rato, lo que podemos hacer es descargar ese mapa local, de modo que queda guardado en nuestra memoria y cuando estemos navegando no necesitamos conectarnos a internet, no necesitamos gastar más datos de los necesarios.

Por otro lado, la gran ventaja obviamente es que, aunque no tengamos internet, ya sea porque se nos han acabado los megas o ya sea porque estamos navegando en un país en el cual no residimos y no podemos tener internet en ese momento, podemos seguir navegando sin esa conexión a internet, porque tenemos el mapa descargado en local.

Esto también da lugar a otra cosa, que es lo que muchas aplicaciones hacen, ofrecerlo como una característica premium. Muchas aplicaciones de navegación ofrecen la aplicación gratuitamente, puedes utilizarla, pero a veces esto es lo que se suele utilizar como gancho para atraer a los usuarios a ese premium, a esa opción de pago de la aplicación.

App de mensajería

Otro ejemplo, ya para terminar de explicar el modo off line, son las aplicaciones de mensajería, como sería por ejemplo Whatsapp o cualquier otra aplicación de mensajería, si no tuviera un modo off line, básicamente no podríamos enviar mensajes cuando no tenemos conexión a internet.

Imagínate la siguiente situación: tú estás aparcando el coche en un parking en el que no hay conexión a internet o estás bajando por el ascensor, abres Whatsapp, abres los últimos mensajes que te han llegado y claro quieres contestar en ese momento, pero si no tiene modo off line, si no tienes conexión a internet, no puedes enviar el mensaje, con lo cual tienes que esperarte a salir, tener conexión y enviar el mensaje.

¿Cuál sería una muchísima mejor experiencia? Añadirle ese modo off line que te permita enviar el mensaje, aunque no tengas conexión y que automáticamente la aplicación sea la que se preocupe de que cuando tú tengas conexión, pueda enviar ese mensaje; esta sería la diferencia entre una aplicación con mensajería en modo offline y sin modo offline.

Una cosa que hay que tener en cuenta, es que obviamente no todo puede ser off line en una aplicación, por ejemplo: no podemos pretender que habiendo una aplicación como booking de reserva de hoteles, buscando en cualquier lugar del mundo, en cualquier país nos de resultados sin una conexión a internet, para empezar técnicamente no es posible si esos datos se van actualizando todo el rato.

No podemos pretender obtener los últimos datos actualizados, los últimos hoteles, los últimos precios; incluso reservar el propio hotel si no tenemos esa conexión a internet y no conocemos los datos que hay en servidor.

Por otro lado, aunque esos datos no estuvieran actualizados y suponiendo que siempre fueran a hacer los mismos, también dejaría de ser viable porque para hacer eso posible, tendríamos que volcar toda esa información de los hoteles; los cientos y cientos (mejor dicho) miles, incluso millones de hoteles que hay en el mundo.

Tendrían que estar de forma local guardado en la aplicación tanto fotos, como precios, como nombres, toda la información; el resultado sería una aplicación ocupando megas, megas y quizás gigas de datos.

Importancia del modo off line

En primer lugar, hay que tener en cuenta existen momentos en los cuales perdemos la conexión a internet, como en cualquier país extranjero donde no sea aplicable nuestra tarifa de datos, cuando estamos en un tren, en un metro, cuando estamos bajando en un parking, etc, siempre hay lugares donde no tenemos esa conexión a internet y hay que ofrecer la experiencia alternativa del modo off line.

El segundo punto a tener en cuenta es que las tarifas de datos al día de hoy, por lo menos la gran mayoría son limitadas, es decir, que vamos a pagar en función de lo que vayamos a navegar, de los datos que vayamos a gastar con lo cual el ahorro de megas, a veces es muy importante y dependiendo de según qué país es aún lo es más.

Por último, hay que tener en cuenta que no en todos los países las conexiones son iguales, hay países en los que estas tarifas de datos son tan limitadas que los usuarios no las tienen todo el día activas o encendidas, si no que las activan únicamente en ciertos momentos, ciertos puntos del día en que saben que quieren hacer algo o quieren consultar algo.

Además de esto tenemos que las conexiones son lentas ya que no son igual de rápidas en todos los países, y también hay lugares donde muchos usuarios no tienen planes de datos contratados con lo cual sólo pueden acceder a través de wifi; eso quiere decir que gran parte del día no van a estar conectados a internet.

Todos estos datos son muy importantes, sobre todo si nuestra app va a ir dirigida a nivel mundial, porque hay que tener en cuenta todos estos países, todas estas diferentes situaciones que hay a nivel mundial.

Vista toda esta introducción hacia el modo off line, qué es y la importancia, vamos a hablar de cómo hacerlo. Hay muchas maneras de implementar este modo off line, pero básicamente tenemos dos técnicas.

Técnicas de implementación modo off line

Caching

El catching se trata de memorizar las últimas llamadas al servidor, recuperar la última información obtenida de internet y mostrársela al usuario.

Esto es básicamente cómo funcionarían las aplicaciones del tiempo, cogen la información y la muestran; si no tienes conexión a internet te muestran la última información que conocen, a nivel técnico es la más simple y la más sencilla de hacer, y no cuesta mucho.

En primer lugar, lo que tendríamos que hacer es pedir la información al servidor en segundo plano, el segundo paso sería que este proceso que va a buscar la información a internet, guarde la información en una base de datos a nivel local, es decir que siempre va a estar disponible para la aplicación; el tercer paso sería avisar a la interfaz de usuario de que esta información está ya disponible de que hay nuevos datos y simplemente se mostraría.

La interfaz de usuario no va a mostrar la información directamente de lo que le viene de internet, si no que va a pasar por un paso más, que es esa base de datos local.

Primero vamos a internet, guardamos la base de datos local y la aplicación muestra esa información de la base de datos; así que cuando no hay internet, simplemente lo que la aplicación hace es ir a internet, ve que no puede cogerlo, se va a la base de datos y lo muestra, esa es la manera de que cuando no haya una conexión a internet, podamos ofrecer algo.

Las ventajas son que es algo fácil de hacer y que ofreces esa alternativa off line al usuario, si no tiene internet o si algo está cargando, porque muestras la información previa, ya muestras algo.

Las desventajas son que simplemente no sirve para obtener información, no sirve para hacer acciones sobre ello, es decir, cuando por ejemplo usamos una aplicación de mensajería, no podemos enviar un mensaje.

Sincronización

Este segundo método es bastante más complicado de hacer técnicamente, pero de cara al usuario es sin duda el mejor. Se trata de ir guardando todas las acciones que hace el usuario y luego cuando tengamos internet, sincronizar ambas bases de datos, la local que tendremos duplicada y la remota que está en el servidor.

Para imaginar esto, lo mejor es poner como ejemplo, google docs o toda la swift de office, no Office (porque Office es de Microsoft) toda la swift de documentos, de hojas de cálculo de Google, tenemos google docs, google sheets y google drawing, en fin, vamos a hacerlo con google docs, que es el típico Word.

Google docs lo que te permite hacer es editar documentos de texto, pero te lo permite hacer tanto de forma on line como de forma off line. Esto quiere decir, que, si tú tienes un documento en tu móvil y pierdes conexión a internet, puedes seguir editándolo, subrayando cosas, añadiendo cosas, borrando cosas. Lo que va a pasar es que cuando tengas internet, al final todos esos cambios se van a enviar al documento real que está en el servidor y se van a ver reflejados en todos los dispositivos.

Este método es más complicado y depende mucho del proyecto y depende al nivel que lo quieras hacer, es uno de los grandes temas que siempre están en discusión de cómo es mejor hacerlo, técnicas para hacerlo, es bastante complejo.

A grandes rasgos, lo que se basa es en tener dos bases de datos, tú tienes la base de datos real que está en el servidor y haces como una pequeñita copia local, que está en la aplicación, en el dispositivo del usuario. A partir de ahí todas las acciones que hace el usuario, se guardan en esa base de datos local.

Imaginemos con Google docs, cualquier acción se guarda de forma local, pero simplemente se marca como que aún no se ha sincronizado con el servidor real. En cuanto se recupera esa conexión se sincronizan todos esos cambios.

La ventaja de esto es clarísima, que es una mejor experiencia de usuario, porque puede hacer casi cualquier cosa en función del nivel al que lo queramos llevar sin conexión a internet.

No tienes que esperar por esa respuesta del servidor, no tienes que estar pendiente de tu conexión a internet. Simplemente haces las cosas, te despreocupas y la aplicación es la encargada de sincronizar todos esos cambios para que se vea reflejado en todos los dispositivos.

El inconveniente es que básicamente es muy complicado de hacer técnicamente, depende mucho del proyecto, depende mucho al nivel que lo quieras llevar, de qué funcionalidades quieras ofrecer de modo off line, cuáles no, pero si se puede hacer, ofrece una muy buena experiencia de usuario.

The post 62. ¿Por qué debemos desarrollar apps con modo offline? appeared first on Diego Laballós.

  continue reading

100 episodios

Todos los episodios

×
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

Guia de referencia rapida