{"id":10102,"date":"2019-02-13T14:24:28","date_gmt":"2019-02-13T12:24:28","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=10102"},"modified":"2024-01-17T09:25:08","modified_gmt":"2024-01-17T08:25:08","slug":"desarrollar-funcionalidades-offline-app-movil-mejora","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/desarrollar-funcionalidades-offline-app-movil-mejora\/","title":{"rendered":"\u00bfC\u00f3mo desarrollar funcionalidades offline en una app m\u00f3vil puede suponer una mejora?"},"content":{"rendered":"<p>Hay que reconocer que vivimos en un mundo cada vez m\u00e1s conectado, y que el salto a la digitalizaci\u00f3n de los procesos productivos ha demostrado generar ventajas competitivas capaces de mejorar la productividad y rentabilidad de las empresas y, por ello, muchas empresas se ven actualmente inmersas en procesos de implantaci\u00f3n de sistemas que permitan trabajar en movilidad, sin necesidad de estar en una f\u00edsicamente en un puesto de trabajo.<\/p>\n<p>Aparentemente con las aplicaciones m\u00f3viles \u201ctodo son ventajas\u201d, pero hay que tener en cuenta los gastos que puede generar llevar conexi\u00f3n a internet en los dispositivos de la empresa. Se imagina un comercial de su empresa que, al visitar a un cliente le pregunte: \u201c\u00bfTienes Wifi?\u201d. Parece absurdo, pero en ocasiones nos quedamos sin cobertura, no quedan datos dentro del plan contratado o no hay contratado ning\u00fan plan de datos\u2026 Por eso, en Hiberus Tecnolog\u00eda apostamos por la <strong>implementaci\u00f3n de funcionalidades offline en aplicaciones m\u00f3viles<\/strong> aporten un valor a\u00f1adido como soluci\u00f3n tecnol\u00f3gica y constituyan un factor diferenciador respecto a su competencia ahorrando costes y mejorando los procesos productivos.<\/p>\n<p>Lo m\u00e1s importante a la hora de determinar una estrategia y unos objetivos para el desarrollo e implantaci\u00f3n de funcionalidades offline es definir correctamente el alcance de las necesidades del cliente con el fin de poder garantizar una correcta reducci\u00f3n y optimizaci\u00f3n de los costes en los procesos de producci\u00f3n.<\/p>\n<p>Los puntos claves para poder definir correctamente una implantaci\u00f3n offline en una app online pasa por hacernos las siguientes preguntas:<\/p>\n<h2>\u00bfEs necesario tener todos los datos actualizados a tiempo real?<\/h2>\n<p>Dependiendo de las necesidades funcionales del producto, <strong>no siempre es necesaria la obtenci\u00f3n de los datos a tiempo real<\/strong>, para ello como parte de las funcionalidades que optimizan el rendimiento de las aplicaciones m\u00f3viles ser\u00eda por la implementaci\u00f3n de caches din\u00e1micas que reduzcan las llamadas recurrentes al servidor almacenando estos datos de manera temporal en una peque\u00f1a bbdd en el dispositivo. La ventaja principal que esta funcionalidad ofrece es que, <em><strong>al generar menos tr\u00e1fico en el servidor, con la misma infraestructura podemos dar servicio a m\u00e1s usuarios consumiendo el mismo servicio y ahorrar costes de infraestructura<\/strong><\/em>.<\/p>\n<p>Dentro de este tipo de funcionalidad, es conveniente incluir tambi\u00e9n la construcci\u00f3n de protocolos de transferencia que permitan actualizan parcialmente los datos ya almacenados en la bbdd interna del dispositivo m\u00f3vil, lo que unido a la posibilidad de hacer un sincronizado de datos mediante wifi supondr\u00eda un ahorro que puede reducir hasta un 30% el consumo de datos m\u00f3viles.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10136\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/02\/offline-app.x77676.jpg\" alt=\"offline app movil\" width=\"601\" height=\"383\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/02\/offline-app.x77676.jpg 601w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/02\/offline-app.x77676-300x191.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/02\/offline-app.x77676-360x229.jpg 360w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Un ejemplo de esta funcionalidad en una una aplicaci\u00f3n m\u00f3vil por podr\u00eda ser,<strong> actualizar un listado de productos<\/strong>, para ello el protocolo solo pedir\u00eda el identificador de cada producto y el stock, mientras que otros campos como descripci\u00f3n, precio \u2026 que no var\u00edan tanto en el tiempo no se actualizar\u00edan en esa en la petici\u00f3n. Pero en el caso de que alg\u00fan producto sufriera alguna variaci\u00f3n o, se incluyera un nuevo producto, la aplicaci\u00f3n recibir\u00eda esos datos consolidados desde el servidor de manera autom\u00e1tica ya que la correcta implantaci\u00f3n de esta funcionalidad tiene previstos par\u00e1metros de control para que no sea necesario ninguna acci\u00f3n por parte del usuario.<\/p>\n<p>Otra de las ventajas que puede aportar este tipos de desarrollos, es la <strong>mejora de la experiencia de usuario en tiempos de carga, y fluidez<\/strong>, permitiendo a las aplicaciones mostrar contenido mientras se actualizan los datos en segundo plano.<\/p>\n<h2>\u00bfEsta app tiene que trabajar en zonas de baja o nula cobertura?<\/h2>\n<p>En este caso hay que ser conscientes que el <strong>desarrollo e implantaci\u00f3n de una funcionalidad offline completa puede suponer en horas el mismo tiempo de desarrollo que la aplicaci\u00f3n completa<\/strong> si no fuera necesaria esta funcionalidad y habr\u00eda que valorar bien el coste frente al beneficio que aporta.\u00a0 En Hiberus Tecnolog\u00eda ya hemos desarrollado con \u00e9xito este tipo de aplicaciones y con unos resultados que superan con creces las expectativas del cliente.<\/p>\n<p>Para poder acometer con \u00e9xito este tipo de desarrollos es de vital importancia realizar una auditor\u00eda exhaustiva de las necesidades funcionales del cliente para poder garantizar que:<\/p>\n<ul>\n<li>Las tecnolog\u00edas elegidas o ya implantadas por el cliente sean<strong> compatibles con las necesidades t\u00e9cnicas<\/strong> de este desarrollo.<\/li>\n<li>La <strong>definici\u00f3n de los modelos de datos y las relaciones entre ellos<\/strong> sea compatible con bbdd relacionales.<\/li>\n<li>Los<strong> flujos de trabajo<\/strong> sean compatibles o adaptables a trabajar desde una aplicaci\u00f3n m\u00f3vil.<\/li>\n<li>Delimitar el<strong> alcance de la funcionalidad\u00a0<\/strong>(no siempre todas las funcionalidades son necesarias sin conexi\u00f3n).<\/li>\n<\/ul>\n<p>Una vez delimitados los requisitos, la primera fase ser\u00eda dise\u00f1ar un <strong>sistema de sincronizaci\u00f3n y almacenado de datos<\/strong>, as\u00ed como un sistema que permita almacenar todos los flujos de trabajo realizados sin conexi\u00f3n, para que, en el momento que recuperemos la conexi\u00f3n, sincronice todos esos datos con el servidor, estableciendo un protocolo en el servidor que controle y consolide la integridad de lo datos.<\/p>\n<p>El alcance de este tipo de desarrollos puede ir desde la creaci\u00f3n\/actualizaci\u00f3n de formularios de pedidos, agendas comerciales de visitas, a la subida de im\u00e1genes, v\u00eddeos, ficheros a un servidor remoto.<\/p>\n<p>Otro factor a tener en cuenta ya que se acomete un gasto importante, es <strong>no escatimar en los dispositivos en los que debe trabajar la app<\/strong> ya que desmerecer\u00eda el resultado del producto final. Por lo general con un coste medio por dispositivo en el caso de Android de unos 300\/350\u20ac nos permite encontrar smartphones suficientemente potentes para mover este tipo de aplicaciones. Por poner unos requisitos m\u00ednimos a nivel de hardware, procesadores de 4 n\u00facleos(preferible 8), con 4Gb de ram y un almacenamiento interno no inferior a 16Gb (preferible 32 o m\u00e1s). Para el caso de dispositivos iOS, por vida \u00fatil, durabilidad y tiempo en el que Apple da soporte y actualizaciones, m\u00ednimo un iPhone 7.<\/p>\n<h2>\u00bfQue pasa si no encajo en las categor\u00edas anteriores?<\/h2>\n<p>En Hiberus Tecnolog\u00eda creamos soluciones y en este caso, se estudiar\u00eda la opci\u00f3n de una <strong>funcionalidad mixta<\/strong> entre las anteriormente expuestas, ajust\u00e1ndose \u00a0a las necesidades del cliente. Para ello, contamos con un <a href=\"https:\/\/www.hiberus.com\/mobile\">gran equipo de consultores y analistas t\u00e9cnicos<\/a> que pueden asesorar en todo tipo de posibilidades que se puedan ajustar al m\u00e1ximo a las necesidades del cliente o usuario final.<\/p>\n<p>Un ejemplo de una funcionalidad mixta, podr\u00eda integrar las cach\u00e9s y una peque\u00f1a bbdd que reduzca el consumo de datos y los tiempos de carga , junto con el sistema de almacenado de peticiones que implantar\u00edamos en el caso de una funcionalidad offline completa, lo que aportar\u00eda mayor solidez en caso de perder la conexi\u00f3n mientras se est\u00e1 trabajando.<\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de desarrollo de aplicaciones m\u00f3viles?<\/p>\n                        <p>Contacta con nuestro equipo de Mobile<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/10102#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Hay que reconocer que vivimos en un mundo cada vez m\u00e1s conectado, y que el salto a la digitalizaci\u00f3n de los procesos&#8230;<\/p>\n","protected":false},"author":6,"featured_media":10104,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[234,3],"tags":[14,30],"class_list":{"0":"post-10102","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-aplicaciones-moviles","8":"category-negocio-electronico","9":"tag-aplicaciones-multiplataforma","10":"tag-desarrollo-de-aplicaciones-moviles"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/10102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=10102"}],"version-history":[{"count":3,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/10102\/revisions"}],"predecessor-version":[{"id":39640,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/10102\/revisions\/39640"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/10104"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=10102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=10102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=10102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}