El desarrollo de aplicaciones móviles es el acto o proceso mediante el cual se desarrolla una aplicación móvil para uno o más dispositivos móviles , que pueden incluir asistentes digitales personales (PDA), asistentes digitales empresariales (EDA) o teléfonos móviles . [ 1 ] Estas aplicaciones de software están diseñadas específicamente para ejecutarse en dispositivos móviles, después de considerar muchas limitaciones de hardware. Las limitaciones comunes incluyen la arquitectura y velocidad de la unidad central de procesamiento (CPU), la memoria de acceso aleatorio (RAM) disponible , las capacidades limitadas de almacenamiento de datos y la considerable variación en las pantallas (tecnología, tamaño, dimensiones, resolución) y los métodos de entrada (botones, teclados, pantallas táctiles con o sin lápices ópticos). [ 2 ] Estas aplicaciones (o 'apps') pueden estar preinstaladas en los teléfonos durante la fabricación o entregarse como aplicaciones web, utilizando procesamiento del lado del servidor o del lado del cliente (por ejemplo, JavaScript ) para proporcionar una experiencia "similar a la de una aplicación" dentro de un navegador web . [ 3 ]
El sector del desarrollo de aplicaciones móviles ha experimentado un crecimiento significativo en Europa. Un informe de 2017 del Progressive Policy Institute estimó que en enero de 2017 existían 1,89 millones de empleos en la economía de las aplicaciones en toda la Unión Europea (UE), lo que representa un aumento del 15 % con respecto al año anterior. Estos empleos incluyen puestos como desarrolladores de aplicaciones móviles y otros cargos que dan soporte a la economía de las aplicaciones. [ 4 ]
Descripción general
Para facilitar el desarrollo de aplicaciones para dispositivos móviles y garantizar su coherencia, se han adoptado diversos enfoques.
La mayoría de las empresas que comercializan un producto (por ejemplo, Apple, iPod/iPhone/iPad) proporcionan un kit de desarrollo de software (SDK) oficial. También pueden ofrecer servicios de pruebas de software y/o control de calidad (QA). A cambio del SDK u otras herramientas, es posible que el desarrollador potencial deba firmar un acuerdo de confidencialidad (NDA), que restringe la divulgación de información privilegiada.
Como parte del proceso de desarrollo, el diseño de la interfaz de usuario (UI) móvil es un paso esencial en la creación de aplicaciones móviles. Los diseñadores de UI móvil consideran las limitaciones, los contextos, el espacio de la pantalla, los métodos de entrada y la movilidad como pautas para el diseño. Las limitaciones en el diseño de UI móvil incluyen la capacidad de atención limitada del usuario y factores de forma como el tamaño de la pantalla del dispositivo móvil en relación con la(s) mano(s) del usuario. El contexto de la UI móvil incluye señales de la actividad del usuario, como la ubicación o el tiempo de uso del dispositivo, que se pueden observar a partir de las interacciones del usuario dentro de la aplicación móvil. Estas pistas de contexto se pueden usar para proporcionar sugerencias automáticas al programar una cita o actividad, o para filtrar una lista de diversos servicios para el usuario.
El usuario suele ser el centro de la interacción con su dispositivo, y la interfaz incluye componentes tanto de hardware como de software. La entrada de datos del usuario le permite manipular el sistema, y la salida del dispositivo permite que el sistema indique los efectos de dicha manipulación.
En general, el objetivo del diseño de interfaces de usuario móviles es principalmente crear una interfaz comprensible y fácil de usar. La funcionalidad se sustenta en plataformas de aplicaciones empresariales móviles o entornos de desarrollo integrados (IDE).
Los desarrolladores de aplicaciones móviles también deben tener en cuenta una amplia gama de dispositivos con diferentes tamaños de pantalla, especificaciones de hardware y configuraciones, debido a la intensa competencia en el hardware móvil y a los cambios dentro de cada una de las plataformas.
Actualmente, las aplicaciones móviles suelen distribuirse a través de una plataforma o mercado oficial en línea (por ejemplo, Apple: App Store – Google: Google Play) y existe un proceso formalizado mediante el cual los desarrolladores envían sus aplicaciones para su aprobación e inclusión en dichos mercados. Sin embargo, históricamente, no siempre fue así.
Las interfaces de usuario móviles, o front-ends, dependen de los back-ends móviles para brindar acceso a los sistemas empresariales. El back-end móvil facilita el enrutamiento de datos, la seguridad, la autenticación, la autorización, el funcionamiento sin conexión y la orquestación de servicios. Esta funcionalidad se sustenta en una combinación de componentes de middleware , que incluyen servidores de aplicaciones móviles, back-end móvil como servicio (MBaaS) e infraestructura de arquitectura orientada a servicios (SOA).
Plataforma
Los paquetes de desarrollo de software necesarios para desarrollar, implementar y administrar aplicaciones móviles están compuestos por numerosos componentes y herramientas que permiten al desarrollador escribir, probar e implementar aplicaciones para una o más plataformas de destino.
Herramientas de desarrollo front-end
Las herramientas de desarrollo front-end se centran en la interfaz de usuario y la experiencia de usuario (UI-UX) y proporcionan las siguientes capacidades:
- Herramientas de diseño de interfaz de usuario
- SDK para acceder a las funciones del dispositivo
- Adaptaciones/soporte multiplataforma
A continuación se enumeran algunas herramientas destacadas.
Primera parte
Las herramientas de primera parte incluyen los SDK oficiales publicados por, o en nombre de, la empresa responsable del diseño de una plataforma de hardware determinada (por ejemplo, Apple, Google, etc.), y cualquier software de terceros que cuente con soporte oficial para el desarrollo de aplicaciones móviles para ese hardware.
Segunda parte
Tercero
servidores back-end
Las herramientas de back-end retoman el trabajo donde lo dejan las herramientas de front-end y proporcionan un conjunto de servicios reutilizables que se gestionan y controlan de forma centralizada y ofrecen las siguientes capacidades:
- Integración con sistemas back-end
- Autenticación y autorización de usuarios
- Servicios de datos
- Lógica empresarial reutilizable
Las herramientas disponibles incluyen:
Capas adicionales de seguridad
Dado que la práctica de "traiga su propio dispositivo " (BYOD) se está convirtiendo en la norma en cada vez más empresas, los departamentos de TI a menudo necesitan soluciones tácticas provisionales que se superpongan a las aplicaciones, teléfonos y componentes de plataforma existentes. Las características incluyen:
- Envoltura de la aplicación para mayor seguridad
- Cifrado de datos
- Acciones del cliente
- Informes y estadísticas
Software del sistema
Se necesitan muchos componentes a nivel de sistema para tener una plataforma funcional para el desarrollo de aplicaciones móviles.
Los criterios para seleccionar una plataforma de desarrollo suelen incluir las plataformas móviles objetivo, la infraestructura existente y las habilidades de desarrollo. Al desarrollar para más de una plataforma, también es importante considerar el impacto de la herramienta en la experiencia del usuario . El rendimiento es otro criterio importante, ya que la investigación sobre aplicaciones móviles indica una fuerte correlación entre el rendimiento de la aplicación y la satisfacción del usuario. Junto con el rendimiento y otros criterios, la disponibilidad de la tecnología y los requisitos del proyecto pueden determinar el desarrollo entre entornos nativos y multiplataforma. Para facilitar la elección entre entornos nativos y multiplataforma, se han publicado algunas directrices y puntos de referencia. Por lo general, los entornos multiplataforma son reutilizables en múltiples plataformas, aprovechando un contenedor nativo mientras utilizan HTML, CSS y JavaScript para la interfaz de usuario. En cambio, los entornos nativos están dirigidos a una plataforma específica para cada uno de esos entornos. Por ejemplo, el desarrollo de Android se realiza en el IDE Eclipse utilizando los complementos de Android Developer Tools (ADT), el desarrollo de Apple iOS se realiza utilizando el IDE Xcode con Objective-C y/o Swift, y Windows y BlackBerry tienen cada uno sus propios entornos de desarrollo.
Pruebas de aplicaciones móviles
Las aplicaciones móviles se prueban primero en el entorno de desarrollo mediante emuladores y, posteriormente, se someten a pruebas de campo . Los emuladores ofrecen una forma económica de probar aplicaciones en teléfonos móviles a los que los desarrolladores quizás no tengan acceso físico. A continuación, se muestran ejemplos de herramientas utilizadas para probar aplicaciones en los sistemas operativos móviles más populares .
- Emulador de Android de Google : un emulador de Android modificado para ejecutarse en un PC con Windows como una aplicación independiente, sin necesidad de descargar e instalar el SDK de Android completo y complejo . Permite instalar y probar aplicaciones compatibles con Android.
- El emulador oficial del SDK de Android es un emulador de dispositivos móviles que imita todas las características de hardware y software de un dispositivo móvil típico (sin las llamadas).
- TestiPhone : un simulador basado en navegador web para probar rápidamente aplicaciones web de iPhone . Esta herramienta ha sido probada y funciona con Internet Explorer 7 , Firefox 2 y Safari 3 .
- iPhoney ofrece un entorno de navegación web con precisión de píxel y funciona con Safari . Se puede usar para desarrollar sitios web para iPhone . No es un simulador de iPhone, sino que está diseñado para desarrolladores web que desean crear sitios web de 320 x 480 (o 480 x 320) para iPhone. iPhoney solo funciona en OS X 10.4.7 o posterior.
- Simulador de BlackBerry : existen diversos simuladores oficiales de BlackBerry disponibles para emular la funcionalidad de los productos BlackBerry reales y probar cómo funcionarán el software del dispositivo, la pantalla, el teclado y la rueda de control con la aplicación.
- Automatización de la interfaz de usuario de Windows : para probar aplicaciones que utilizan la tecnología de automatización de la interfaz de usuario de Microsoft, se requiere la API de automatización de Windows 3.0. Esta viene preinstalada en Windows 7, Windows Server 2008 R2 y versiones posteriores de Windows. En otros sistemas operativos, puede instalarla mediante Windows Update o descargarla desde el sitio web de Microsoft .
- MobiOne Developer : un entorno de desarrollo integrado (IDE) para web móvil en Windows que ayuda a los desarrolladores a codificar, probar, depurar, empaquetar e implementar aplicaciones web móviles en dispositivos como iPhone , BlackBerry , Android y Palm Pre . MobiOne Developer fue declarado oficialmente fuera de soporte a finales de 2014. [ 8 ]
Las herramientas incluyen
- Eggplant Functional : herramienta de prueba automatizada basada en GUI para aplicaciones móviles en todos los sistemas operativos y dispositivos.
- Ranorex : herramientas de automatización de pruebas para aplicaciones móviles, web y de escritorio.
- Testdroid : Dispositivos móviles reales y herramientas de automatización de pruebas para probar aplicaciones móviles y web.
Principios de diseño
Según un informe de la industria de aplicaciones de 2020, el 46 % de los usuarios de aplicaciones móviles afirmaron haber dejado de usar o desinstalado una aplicación debido a su bajo rendimiento. [ 9 ] Los expertos en diseño abogan por los siguientes principios de diseño para crear aplicaciones móviles exitosas y efectivas:
Pantallas despejadas : Mantiene las interacciones rápidas y sencillas, permitiendo a los usuarios concentrarse en una tarea específica en lugar de verse abrumados por múltiples funciones y tareas. Los expertos en diseño defienden firmemente una tarea por pantalla y recomiendan dividir los formularios largos en páginas y revelar progresivamente nuevas tareas o campos para minimizar el desorden. [ 10 ]
Reducir la carga cognitiva : Facilita al máximo el uso de la aplicación y preserva la fluidez natural de la navegación. Los expertos en diseño sugieren incorporar autocompletado , corrector ortográfico , texto predictivo y menús desplegables para reducir la carga cognitiva. También recomiendan que se conserve el estado de la aplicación cuando los usuarios la abandonan temporalmente y vuelven a entrar, para que puedan continuar su uso desde donde lo dejaron. [ 10 ] [ 11 ]
Navegación sencilla : alrededor del 11 % de las personas han desinstalado aplicaciones debido a su interfaz complicada . [ 9 ] Los expertos en diseño afirman que es fundamental presentar la barra de navegación de forma visible en la aplicación para ayudar a los usuarios a acceder instantáneamente a las pantallas más utilizadas y de alta prioridad. Sugieren el uso de iconos reconocibles específicos del sistema operativo del dispositivo para ayudar a los usuarios a realizar fácilmente acciones como abrir un menú, cambiar la configuración, volver a una pantalla y buscar dentro de una página. Según ellos, un usuario no debería confundirse al navegar por la aplicación, por lo que un flujo de navegación ordenado, claro y lógico impulsa la interacción y el descubrimiento en la aplicación. [ 10 ] [ 11 ]
Notificaciones : Se informa que alrededor del 19 % de los usuarios desinstalan una aplicación debido a las notificaciones push frecuentes. [ 9 ] Según los expertos en diseño, las notificaciones deben enviarse con una planificación cuidadosa. Los expertos afirman que las notificaciones deben enviarse en el momento más conveniente para los usuarios en su zona horaria y que los mensajes deben personalizarse para brindarles un gran valor. [ 10 ]
Velocidad de aparición : Aproximadamente el 19 % de las personas desinstalan aplicaciones debido a problemas de bloqueo. [ 9 ] Los expertos en diseño afirman que es importante asegurarse de que la aplicación sea rápida y responda bien para que los usuarios no tengan que esperar por el contenido. Afirman que los desarrolladores deben entregar el contenido más rápido o dar la percepción de progreso. Algunos enfoques sugeridos por los expertos son el uso de pantallas esqueleto que muestran el diseño de la aplicación con el contenido atenuado, barras de progreso o indicadores de carga, tareas que se ejecutan en segundo plano y entregan el contenido rápidamente cuando el usuario lo solicita, o proporcionar a los usuarios algunas tareas o contenido mientras esperan a que se cargue una página. [ 10 ]
Usabilidad : Aproximadamente el 85 % de los usuarios de dispositivos móviles usan su teléfono con una mano, [ 9 ] por lo que los expertos en diseño afirman que es importante que el menú de nivel superior, los controles de uso frecuente y los elementos de acción comunes estén al alcance del pulgar del usuario. También enfatizan la importancia de la legibilidad y recomiendan que el tamaño del texto sea de al menos 11 puntos para que los usuarios puedan leerlo a la distancia de lectura típica sin hacer zoom. [ 10 ] Se recomienda que los encabezados y títulos en las pantallas de la aplicación sean San Francisco 17pt y Roboto 16sp para los sistemas operativos iOS y Android respectivamente. [ 11 ] Los expertos también afirman que debe haber una relación de contraste mínima de 4.5:1 entre el texto y el color de fondo. [ 10 ] Los expertos en diseño animan encarecidamente a los desarrolladores a hacer que las aplicaciones sean accesibles para todos los usuarios, incluidas las personas con discapacidades , por lo que sugieren características como la navegación por voz , la compatibilidad con lectores de pantalla y la adaptabilidad de la interfaz de usuario en las aplicaciones móviles. [ 11 ]
Patentes
Se encuentran pendientes numerosas solicitudes de patente para nuevas aplicaciones de teléfonos móviles. La mayoría de ellas se sitúan en los campos tecnológicos de métodos comerciales, gestión de bases de datos, transferencia de datos e interfaz de operador. [ 12 ]
Véase también
- Lista de plataformas de distribución de aplicaciones móviles
- Modelo de usuario perezoso
- Gestión de aplicaciones móviles
- Backend móvil como servicio
- Inteligencia empresarial móvil
- computación móvil
- Pruebas de dispositivos móviles
- Plataforma de aplicaciones empresariales móviles
- Juegos para móviles
- Interacción móvil
- Marketing móvil
- Desarrollo web móvil
- flujo de trabajo móvil
- Desarrollo de aplicaciones multicanal
- MoSoSo , software social para móviles
- Portal en el dispositivo
- WURFL y MURO
- JQuery Mobile
- HTML5
Referencias
- ↑ "Introducción al desarrollo de aplicaciones móviles" . IBM.com . Consultado el 24 de junio de 2023 .
- ↑ "Aspectos esenciales a considerar al diseñar aplicaciones móviles" . GlobalLogic . Reino Unido. 3 de octubre de 2016. Consultado el 24 de junio de 2023 .
- ↑ "¿Qué es una aplicación móvil (aplicación móvil)? – Definición de TechTarget" . WhatIs.com . Consultado el 24 de junio de 2023 .
- ↑ Atkinson, Robert D. (octubre de 2017). "La economía de las aplicaciones en Europa: países y ciudades líderes, 2017" (PDF) . Progressive Policy Institute . Recuperado el 3 de octubre de 2024 .
- ↑ "Cómo lanzar tu aplicación en dispositivos" . Apple Developer . Consultado el 30 de abril de 2016 .
- ↑ Linev, Roman (14 de noviembre de 2016). "Microsoft cambia el nombre de Xamarin Studio a Visual Studio para Mac" . Winaero . Consultado el 5 de marzo de 2023 .
- ↑ Foley, Mary Jo (10 de mayo de 2017). "Microsoft pone Visual Studio para Mac a disposición del público general" . ZDNet . Consultado el 2 de abril de 2023.
Microsoft está poniendo a disposición del público general su Visual Studio para Mac, una versión renombrada de Xamarin Studio para Mac.
- ↑ "MobiOne Developer 1.0 M4: Crea aplicaciones web móviles listas para la App Store, experimenta el comportamiento real del dispositivo en Windows" . PRWeb . Archivado del original el 8 de octubre de 2009. Consultado el 31 de mayo de 2021 .
- 1 2 3 4 5 "Estadísticas, uso y descargas de aplicaciones (informe de 2020)" . SaaS Scout (anteriormente SoftwareFindr) . 6 de enero de 2020. Recuperado el 20 de febrero de 2024 .
- 1 2 3 4 5 6 7 "15 mejores prácticas de diseño de aplicaciones móviles" . ThoughtSpot . Consultado el 20 de febrero de 2024 .
- 1 2 3 4 Cordini, Marcelo (6 de enero de 2021). "El mejor diseño de aplicaciones móviles: ejemplos" . Qubika . Recuperado el 20 de febrero de 2024 .
- ↑ Nowotarski et al., "Aumento de las tasas de concesión de patentes mediante la selección de clases de patentes", IPwatchdog, 6 de abril de 2011
- Desarrollo de software móvil
- Aplicaciones móviles