Document Details

ITKnow

Uploaded by ITKnow

Universidad Siglo 21

Tags

mobile applications software development programming

Full Transcript

Aplicaciones nativas, web o híbridas Una de las consideraciones más importantes a tener en cuenta al momento de diseñar y desarrollar una aplicación para dispositivos móviles, es determinar qué tipo de aplicación construir, es decir, se debe elegir entre una aplicación móvil o una aplicación web móv...

Aplicaciones nativas, web o híbridas Una de las consideraciones más importantes a tener en cuenta al momento de diseñar y desarrollar una aplicación para dispositivos móviles, es determinar qué tipo de aplicación construir, es decir, se debe elegir entre una aplicación móvil o una aplicación web móvil. No hay solo un aspecto a tener en cuenta cuando se toma la decisión entre una y otra alternativa. En esta lectura, definiremos las alternativas de implementación y qué debe tenerse en cuenta para tomar la mejor decisión al respecto. Para desarrollar los conceptos, continuaremos analizando el caso SEGUX, compañía de seguros. ¿Aplicaciones nativas, web o híbridas? Referencias Lección 1 de 2 ¿Aplicaciones nativas, web o híbridas? Par poder definir qué tipo de aplicación es más conveniente para un desarrollo en particular, es necesario tener en claro tres aspectos fundamentales: ¿Cuál es el objetivo? ¿Cuáles son las necesidades que se deseen cubrir? ¿Cuál es el público destinatario? La respuesta a estos interrogantes puede orientar a los responsables de sistemas en la decisión de qué opción es la más adecuada. Aplicaciones nativas Las aplicaciones nativas son aplicaciones que están desarrolladas específicamente para un determinado equipo o plataforma. Aplicaciones de este tipo se desarrollan en lenguajes de programación específicos de cada equipo y permiten su funcionamiento sin necesidad de programas externos (Cadenas, 2019). Fuente: Cadenas, 2019, https://www.gsoft.es/articulos/que-necesito-web-apps-app-nativa-oapp-hibrida/ Figura 1: Aplicaciones nativas Se adaptan completamente a las funcionalidades y características del dispositivo. Este tipo de aplicaciones se adapta completamente a las funcionalidades y características del dispositivo, lo que permite obtener una excelente experiencia de uso. El desarrollo de este tipo de aplicaciones es más costoso, ya que para que se ejecute en múltiples plataformas, hay que realizar una versión por cada sistema operativo, inclusive, en algunos casos por versión de un sistema operativo. Es decir, las app nativas están asociadas a los dispositivos móviles y por tanto hay app nativas para cada sistema operativo como iOS o Android. WhatsApp es un ejemplo de aplicación nativa (“¿App nativa, web o híbrida?”, 2017). Figura 2: Flujo de desarrollo de Aplicaciones Nativas Fuente: Elaboración propia. V E N TA J A S D E S V E N TA J A S Se requerirá conocer el lenguaje de programación que mejor se adapte a la plataforma. Al ser programada en el lenguaje nativo del dispositivo, es posible sacar el máximo rendimiento, ya que todos los recursos se encontrarán disponibles. Generalmente, como se encuentran instaladas en el propio smartphone, no es necesaria la conexión a internet para la utilización de la aplicación. Las instalaciones, una vez finalizadas, dispondrán de un acceso directo para poder lanzar la aplicación de una forma fácil y rápida. Son excelentes opciones para los juegos debido a la calidad de gráficos, entre otros aspectos. El acceso al hardware se encuentra a disposición del programador y esto permite interactuar de una manera muy eficiente con el dispositivo. V E N TA J A S D E S V E N TA J A S El usuario debe actualizar manualmente la aplicación. Al ser desarrolladas específicamente para cada plataforma, el tiempo de desarrollo y el costo tienden a incrementarse. Además, se necesita personal especializado en cada plataforma. Una aplicación nativa desarrollada para iPhone deberá necesariamente ejecutarse en su plataforma iOS propietaria; lo mismo ocurre en los dispositivos con Android. Aplicaciones web Las aplicaciones web móvil son aplicaciones desarrolladas con tecnologías web que se pueden utilizar accediendo a un servidor web a través de Internet. Para acceder a la aplicación, se utiliza un navegador web. Estas aplicaciones presentan como ventajas la sencillez de desarrollo y su menor costo, ya que se realiza un único desarrollo de web app, al cual se puede acceder por parte de los usuarios mediante el uso del navegador, ya sea desde un dispositivo móvil o de escritorio. Esto es posible gracias al diseño responsivo que permite el desarrollo de una aplicación web que se adapta a cualquier tipo de dispositivo. Figura 3: Aplicaciones web Para acceder a la aplicación se utiliza un navegador web. Fuente: Elaboración propia. El inconveniente que presentan las webs app es la experiencia de uso, fundamentalmente, porque no pueden, al menos en forma simple y directa, acceder a las características específicas del dispositivo, por ejemplo, cámara, contactos, entre otros elementos. Otro problema es la seguridad, que depende de la seguridad del propio navegador utilizado, lo cual puede hacer que el nivel de seguridad no sea el adecuado. Figura 4: Flujo de desarrollo de aplicaciones web Fuente: Elaboración propia V E N TA J A S D E S V E N TA J A S Una ventaja importante es que la inversión inicial es menor, basado en la idea de que no es necesario repetir código por cada sistema operativo. Se pueden conseguir profesionales especializados más fácilmente que para aplicaciones nativas. Las aplicaciones HTML5 tienen una calidad comparada con las de una aplicación nativa. Es más simple la realización de cambios, ya que no hace falta conectarse a las tiendas online propietarias. HTML5 introduce como una de sus grandes ventajas, la de permitir que las aplicaciones funcionen offline y la posibilidad de utilizar almacenamiento local. V E N TA J A S D E S V E N TA J A S Rendimiento no aprovechado al cien por ciento, debido a que no se programa en el sistema específico del dispositivo. Incomodidad de ir a una URL en lugar de descargar una aplicación desde la tienda online. Problemas con algunos navegadores. App híbrida Las aplicaciones híbridas combinan características de las aplicaciones nativas y web. Permiten el aprovechamiento de la versatilidad del desarrollo de una aplicación web con HTML5, CSS y JavaScript con el uso de algunas de las funciones hardware disponibles para las aplicaciones nativas (Cadenas, 2019). Fuente: Cadenas, 2019, https://www.gsoft.es/articulos/que-necesito-web-apps-app-nativa-oapp-hibrida/ Figura 5: Aplicaciones híbridas Combinan características de las aplicaciones nativas y web. Este tipo de aplicaciones, en vez de visualizarse en un navegador web, como en el caso de las webs app, se visualiza dentro de WebView, que consiste en un navegador integrado en una aplicación nativa. En este caso, la app desarrollada puede hacer uso de los recursos de hardware específicos del dispositivo mediante plugins (Cadenas, 2019). Las app híbridas no solo tienen la posibilidad de acceder a los recursos de hardware directamente, sino que son independientes del sistema operativo. Evidentemente, se reducen los costos, ya que la inversión es menor comparada a las app nativas porque no se requiere el mantenimiento de varias versiones diferentes, una por cada sistema operativo (Cadenas, 2019). El principal inconveniente con respecto a las app híbridas radica en que la experiencia de usuario no es tan buena como en las app nativas y el rendimiento y la velocidad de carga es mucho más lenta que una app nativa (Cadenas, 2019). Figura 6: Flujo de desarrollo de aplicaciones híbridas Fuente: Elaboración propia. V E N TA J A S D E S V E N TA J A S Son más fáciles de programar; la disponibilidad de programadores es similar a la de las aplicaciones web. La base de código se asemeja más a la de una aplicación web que a una nativa, pudiendo usarse para diferentes plataformas móviles. Son una buena opción a la hora de poder emplearlas en diferentes plataformas. V E N TA J A S D E S V E N TA J A S Aplicaciones móviles nativas siempre van a ofrecer una mejor experiencia al usuario. Muchas veces los browsers no soportan de manera uniforme las características de lo programado en HTML. En la siguiente tabla se pueden visualizar las características que presenta cada tipo de aplicación. Tabla 1: Tabla comparativa entre los distintos tipos de aplicaciones móviles Fuente: Cadenas, 2019, https://www.gsoft.es/articulos/que-necesito-web-apps-app-nativa-oapp-hibrida/  Referencia caso de estudio Para el caso de estudio, la organización plantea el desarrollo de una aplicación para dispositivos móviles que permita agilizar su funcionamiento y mantener un contacto más fluido con sus clientes. Se debe decidir qué tipo de aplicación es conveniente construir. Para ello debemos definir: Objetivo: agilizar los canales de comunicación entre la compañía y los clientes. Necesidad: mantener un flujo de información y permitir realizar actividades simples de autogestión a los clientes. Público: son destinatarios todos los clientes de la organización. En base al detalle anterior, se puede optar por un tipo de aplicación web móvil, basada en diseño responsivo, de modo tal que pueda ser usada mediante navegador web, independizándose de la plataforma para poder tener llegada a todos los clientes, más allá del tipo de dispositivo y SO que tenga. Además, los costos de desarrollo son más bajos que en los otros casos y el mantenimiento más fácil. Tipos de soluciones (“Desarrollos móviles”, s. f.) Antes de desarrollar una aplicación para dispositivos móviles, se debe considerar qué tipo de solución puede ser la más conveniente a aplicar. Se debe tener en cuenta si se requiere conexión o sincronización con un servidor central, diversidad de equipos de los potenciales usuarios del sistema y de la capacidad y nivel de interacción con el sistema. Entre las soluciones posibles que se pueden adoptar se encuentran las soluciones stand-alone, soluciones online o las soluciones conocidas como smart clients. Soluciones stand-alone (“Desarrollos móviles”, s. f.) Este tipo de solución abarca a las aplicaciones que se desarrollan para ser instaladas y ejecutadas en un dispositivo móvil y que funcionan sin estar conectadas a internet o a un servidor central. Para desarrollar una solución stand-alone se debe generar un paquete ejecutable con el formato adecuado al sistema operativo sobre el cual se instala, en función de la versión de este. Los sistemas operativos son diferentes entre sí y el hardware sobre el que se deben ejecutar las aplicaciones también son distintos; por este motivo una aplicación que se desarrolla para un dispositivo específico con un SO Android es completamente distinta de una aplicación para un dispositivo con iOS. Ventajas (“Desarrollos móviles”, s. f.) Las aplicaciones stand-alone son rápidas en su ejecución. Se aprovechan las características de bajo nivel de cada equipo. – Utiliza todas las herramientas, controles y accesos que ofrece el dispositivo móvil. Puede manejar la memoria del dispositivo. Admite soporte de sincronización con un equipo de escritorio. Permite trabajar sin necesidad de conexión. Desventajas (“Desarrollos móviles”, s. f.) – Se debe realizar un desarrollo para cada sistema operativo. Se deben instalar en forma manual. No soporta grandes cantidades de información. No puede trabajar con centros de datos remotos. Soluciones online (“Desarrollos móviles”, s. f.) Las aplicaciones móviles online brindan una solución a través de Internet, mediante la utilización de páginas web. Toda la ejecución de la aplicación se realiza en el servidor. Este tipo de soluciones permiten lograr una mayor compatibilidad comparadas con las stand‑alone, mediante el uso del lenguaje HTML, lo que hace que no sea necesario realizar una versión para cada sistema operativo. Ventajas (“Desarrollos móviles”, s. f.) – Permite una mayor compatibilidad con diferentes modelos y sistemas operativos. No exige distribución ni instalación de la aplicación en los dispositivos. La aplicación puede ser utilizada en sistemas operativos propietarios que no permiten la instalación de aplicaciones stand-alone. Permite cálculos y algoritmos más complejos ya que toda la ejecución se realiza en el servidor. Puede trabajar con alto volumen de información. Desventajas (“Desarrollos móviles”, s. f.) – No permite acceder a capacidades de bajo nivel del equipo. Necesita conexión permanente. Solo se pueden usar los controles de ingreso propuestos por el lenguaje HTML. La ejecución es más lenta ya que debe cargar la información desde el servidor. Soluciones smart client (“Desarrollos móviles”, s. f.) Las aplicaciones smart client combinan lo mejor de las soluciones standalone y online. Se caracterizan por ser aplicaciones ejecutables que se distribuyen e instalan en los dispositivos con capacidad para trabajar e interactuar con un servidor mediante conexión. Las aplicaciones de este tipo pueden seguir trabajando o ejecutándose, aunque se pierda la conexión con el servidor generando buffers de conexión. Ventajas (“Desarrollos móviles”, s. f.) – Combina las formas de trabajar conectado, desconectado. Permite trabajar con grandes cantidades de datos. Permite hacer uso de funciones de bajo nivel de los dispositivos. Permite que el usuario siga trabajando, aunque el equipo se desconecte. Desventajas (“Desarrollos móviles”, s. f.) – Son más difíciles de desarrollar, ya que se debe tener en cuenta de qué forma debe trabajar la aplicación, cuando está conectada o desconectada. Se debe crear el cliente en base a cada tipo y versión de sistema operativo. Se debe distribuir e instalar el cliente en los dispositivos. C O NT I NU A R Lección 2 de 2 Referencias ¿App nativa, web o híbrida? (2017). Raona [blog]. Recuperado de https://www.raona.com/aplicacion-nativa-web-hibrida/ Cadenas, R. (2019). ¿Qué necesito? ¿Web apps, app nativa o app híbrida? En GSOFT. Recuperado de https://www.gsoft.es/articulos/que-necesito-webapps-app-nativa-o-app-hibrida/ Desarrollos móviles. (s. f.). En Net. https://firt.mobi/downloads/desarrollosmoviles.pdf Recuperado de

Use Quizgecko on...
Browser
Browser