Omitir navegación

¿Qué es el desarrollo de aplicaciones móviles?

Explore los procesos y el software usados para desarrollar aplicaciones móviles

Creación de software para dispositivos móviles

La definición de desarrollo de aplicaciones móviles puede ser amplia, ya que abarca todos los procesos de creación y lanzamiento de una aplicación móvil, o específica, ya que se refiere a la codificación y la implementación de la aplicación. Este artículo cubrirá ambas definiciones de desarrollo de aplicaciones móviles y se centrará especialmente en la definición de desarrollo de aplicaciones móviles para las personas que toman decisiones o son responsables de cómo se crea el propio software.

Para definir el desarrollo de aplicaciones móviles, debemos empezar por definir móvil, que en este caso se refiere a dispositivos electrónicos portátiles como teléfonos inteligentes, tabletas, ordenadores portátiles, relojes inteligentes, lectores electrónicos y consolas de juegos portátiles. Con el término aplicación, nos referimos no solo al software nativo de esos dispositivos, sino también a los sistemas operativos, las plataformas y los lenguajes comunes que admiten esos dispositivos. Como aprenderás, hay muchas maneras diferentes de abordar el desarrollo de aplicaciones móviles y muchas decisiones que tomar.

El proceso de desarrollo de aplicaciones móviles

El proceso de creación y lanzamiento de aplicaciones móviles suele dividirse en una serie de pasos o fases. Estas fases del proceso de desarrollo de aplicaciones móviles involucran a muchas personas y disciplinas diferentes dentro de una organización, incluyendo las áreas de negocio, marketing, diseño e ingeniería. Las fases del proceso de desarrollo de aplicaciones móviles son:

  • Estrategia
  • Planificación
  • Diseño
  • Desarrollo
  • Prueba
  • Lanzamiento

¿Cuánto tiempo se tarda en crear una aplicación móvil?

Las organizaciones invierten entre tres y nueve meses, o más si es necesario, en el desarrollo de aplicaciones móviles. El ámbito y las características de una aplicación influyen en los plazos del proceso de desarrollo de aplicaciones móviles.

Estrategia

El proceso de desarrollo de aplicaciones móviles comienza por entender por qué una aplicación móvil puede ser una buena solución a un problema o un enfoque a una oportunidad, y luego se decide qué construir y cómo. En la fase de estrategia, las organizaciones establecerán los objetivos de la aplicación y las medidas de éxito, analizarán el mercado y la competencia, investigarán las necesidades de sus clientes y determinarán a qué usuarios y casos de uso servirá la aplicación. En la fase de estrategia, las organizaciones también pueden empezar a explorar qué plataformas de desarrollo de aplicaciones móviles se adaptan mejor a sus objetivos y requisitos. Es en esta fase cuando las organizaciones también empiezan a considerar el marketing en torno al lanzamiento de la aplicación.

Planeamiento

En la fase de planificación, las organizaciones acuerdan cuatro detalles clave del proceso de desarrollo de aplicaciones móviles: los equipos, las herramientas, las tecnologías y los plazos. En este punto, ya tienen una idea del tipo de aplicación móvil que necesitan crear, quiénes la crearán y qué plataforma o plataformas utilizarán. Durante esta fase, las organizaciones establecerán un plan de desarrollo del producto, es decir, decidirán qué características se crearán, en qué orden y cuándo, establecerán hitos y diseñarán un plan de proyecto que les permita cumplir con la fecha de lanzamiento prevista. Conocer los recursos y la experiencia disponibles, junto con la comprensión de cómo implementar la tecnología elegida para el proceso, es vital para determinar esa fecha y lograr el lanzamiento.

Diseño

La apariencia, las características y la función de la aplicación móvil comienzan a tomar forma durante la fase de diseño. En esta fase del proceso de desarrollo de la aplicación móvil, los equipos trazarán la experiencia del usuario y crearán las interfaces de usuario y los estados de la aplicación en varias fidelidades. Pueden empezar con maquetas de baja fidelidad para proporcionar una prueba de concepto o recoger los comentarios de los clientes en una fase temprana. Los desarrolladores e ingenieros pueden ayudar a crear prototipos o consultar sobre las decisiones de experiencia de usuario y de interfaz de usuario en esta fase, manteniendo a los equipos al día de los requisitos y las especificaciones técnicas de las plataformas que la organización ha decidido utilizar. De esta manera, cuando las organizaciones pasan a las pantallas de fidelidad completa, han diseñado una aplicación que realmente se puede compilar.

Implementación

En este contexto, la palabra desarrollo se refiere a veces al ciclo de vida completo del desarrollo de software que implica la creación y el lanzamiento de una aplicación móvil. Sin embargo, lo más habitual es que desarrollo se refiera a esta fase de desarrollo de software de la aplicación móvil. Definiremos esta fase con más detalle más adelante en este artículo. Por ahora, esta fase se describe mejor como el paso en el que los equipos establecen la arquitectura técnica y la pila tecnológica, incluyendo el front-end, el back-end y las API, fijan los hitos de desarrollo, determinan el ciclo de vida del desarrollo de la aplicación y codifican la aplicación.

Pruebas

Las pruebas son una fase crucial del proceso de desarrollo de aplicaciones móviles. Sin las pruebas, las organizaciones no pueden estar seguras de que su aplicación será segura, funcionará de la manera que los usuarios necesitan y esperan que lo haga, y funcionará donde la implementen. Durante esta fase, los equipos se encargan de garantizar la calidad, creando casos de prueba para evaluar la usabilidad, el rendimiento, la estabilidad y la seguridad de la aplicación en todos los dispositivos en los que está previsto que se ejecute. Las organizaciones suelen realizar pruebas de estrés de la aplicación para asegurarse de que la arquitectura de la aplicación puede escalar para hacer frente a una gran demanda repentina.

Versión

La fase final del proceso de desarrollo de aplicaciones móviles es el lanzamiento. Una vez implementada la aplicación, la organización ofrece soporte a los clientes que la utilizan y un seguimiento y mantenimiento continuos para garantizar que la aplicación esté disponible y funcione como debe. Las campañas de marketing y las acciones para fomentar la adopción de la aplicación suelen coincidir con esta fase. Si la organización decide realizar mejoras o modificaciones en la aplicación que van más allá del alcance de los cambios que su ciclo de vida de desarrollo está equipado para afrontar, puede decidir comenzar de nuevo el proceso de desarrollo de la aplicación móvil.

Desarrollo de software en el proceso de desarrollo de aplicaciones móviles

Esta primera tarea de la fase de desarrollo consiste en establecer la arquitectura técnica de la aplicación móvil. A menudo se confunde con la pila tecnológica, que incluye el front-end, el back-end y las API, pero la arquitectura técnica son las reglas y los patrones que rigen el desarrollo de la aplicación móvil.

Arquitectura técnica

A menudo, la arquitectura técnica se concibe en tres capas:

Capa de presentación

Es la capa de la aplicación que el cliente ve y con la que interactúa. La capa de presentación incluye la interfaz de usuario y todos los elementos de la app que conforman la experiencia del usuario.

Nivel de negocio

La lógica que gobierna los flujos de trabajo, el intercambio de datos y las operaciones reside en la capa de negocio. En esta capa se gestionan aspectos fundamentales de la aplicación móvil, como la seguridad, el almacenamiento en caché, el registro y la gestión de excepciones.

Nivel de datos

La capa de datos cumple los requisitos de la propia aplicación, al proporcionar utilidades de datos, componentes de acceso a datos y ayudantes o agentes de servicio. También es la capa que valida y mantiene los datos y soporta las transacciones de datos.

Pila de tecnología

Del mismo modo, la pila tecnológica también consta de tres piezas como se ha mencionado. Sin embargo, estas piezas representan opciones específicas utilizadas para compilar y apoyar la aplicación en lugar de directrices para su creación.

Front-end

En estrecha relación con la capa de presentación, las herramientas y los lenguajes utilizados para codificar el front-end de la aplicación móvil dependen en gran medida de los dispositivos en los que se implementará la aplicación. Hay muchas opciones, y la mayoría de los dispositivos móviles tienen lenguajes específicos que son nativos para ellos.

Back-end

El back-end es la parte de la aplicación que incluye la base de datos y otros objetos similares que residen en un servidor y soportan las funciones de la aplicación móvil. Los equipos están menos comprometidos con los dispositivos a la hora de elegir las tecnologías de back-end móvil y a menudo pueden encontrar soluciones de back-end precompiladas.

API

La aplicación se comunica entre el back-end y el front-end a través de la API, que también permite que la aplicación se integre e interactúe con otras aplicaciones y servicios.

Sin embargo, antes de que los equipos puedan elegir su pila tecnológica o incluso establecer su arquitectura técnica, primero deben decidir qué tipo de aplicación móvil están creando.

Tipos de aplicaciones móviles

Cuando se trata de crear aplicaciones para dispositivos móviles, las organizaciones tienen varios tipos diferentes de aplicaciones móviles para elegir. En este caso, el tipo de aplicación móvil no se refiere a lo que la aplicación permitirá hacer a sus usuarios, sino a cómo se compilará la aplicación.

Aplicación nativa

Las aplicaciones que son específicas para un determinado dispositivo o plataforma, como Android o iOS, se denominan aplicaciones nativas. Estas aplicaciones se ejecutan directamente en el sistema operativo del dispositivo, utilizan los lenguajes y marcos de trabajo que proporciona la plataforma y se despliegan a través del marketplace o tienda específica del sistema operativo. Las aplicaciones nativas suelen tener pleno acceso a todas las funciones y al hardware de los dispositivos en los que se ejecutan.

Aplicaciones multiplataforma

Los equipos pueden codificar en la aplicación en los lenguajes y marcos de su elección y luego compilar el código para cada sistema operativo en el que la aplicación está destinada a ejecutarse utilizando plataformas como Xamarin. Las aplicaciones multiplataforma, como se denominan, permiten a los equipos ejecutarse en muchos dispositivos diferentes y reutilizar una gran parte del código, aunque el puente del código requiere más trabajo que el desarrollo para una sola plataforma..

Aplicaciones web progresivas

Al igual que las aplicaciones web, las aplicaciones web progresivas se ejecutan en los navegadores móviles y suelen estar creadas con JavaScript, CSS y HTML5. Lo que hace que las aplicaciones web sean progresivas es su capacidad para proporcionar notificaciones push, mejores gestos táctiles e interacción con el hardware utilizando las capacidades avanzadas del navegador. No hay SDK que ayuden a construir aplicaciones web progresivas, pero pueden implementarse sin pasar por un marketplace.

Aplicaciones híbridas

Las aplicaciones híbridas, una mezcla entre las aplicaciones nativas y las aplicaciones web progresivas, son esencialmente contenedores codificados de forma nativa que ejecutan aplicaciones web. Esta combinación permite que la aplicación tenga más acceso a las características y al hardware de los dispositivos y que se ejecute en más tipos de dispositivos, todo ello manteniendo un único código base. A pesar de todas sus ventajas, las aplicaciones híbridas no suelen alcanzar el rendimiento de otros tipos de aplicaciones móviles.

Qué tipo de aplicación móvil se va a compilar

El tipo de aplicación móvil que una organización decide crear tiene grandes implicaciones sobre las herramientas, las plataformas, los marcos de trabajo, los lenguajes disponibles para sus equipos, la distribución de la aplicación, el número de bases de código que hay que mantener, los dispositivos en los que se ejecutará la aplicación e incluso lo que puede hacer la aplicación.

Cuando decida qué tipo de aplicación móvil va a construir, es útil considerar quiénes serán sus usuarios y qué necesitan de la aplicación. Por ejemplo, si utilizan principalmente un tipo de dispositivo o sistema operativo, una aplicación nativa podría ser lo mejor. Las aplicaciones que no dependen de sensores de hardware o GPS pueden ser adecuadas como aplicaciones web progresivas o aplicaciones híbridas, pero quizás no si sus usuarios no tienen una buena conectividad. Si sus usuarios son miembros de su empresa u organización, es posible que desee considerar una estrategia móvil diferente. Y, por supuesto, todo se reduce a la experiencia que tenga disponible dentro de su organización o a través de un partner.

Este gráfico describe más diferencias y similitudes entre los diferentes tipos de aplicaciones móviles para ayudarle a considerar qué tipo debe crear.

Comparación de tipos de aplicaciones móviles

No disponible Aplicación nativa Aplicaciones multiplataforma Aplicaciones web progresivas Aplicaciones híbridas
Número de códigos base Uno por plataforma Uno, pero compilado para cada plataforma Un total Uno para la aplicación, otro para el contenedor
Lenguajes y marcos Solo nativo Elección del equipo Solo web Web y nativo
Acceso a SDK y API No Limitado
Rendimiento Superior Alto Mínimo Bajo
Acceso al hardware del dispositivo Completar Mayoría Muy poco Algunos
Capacidad de respuesta a la entrada de usuario Bien Bien Peor Insuficiente
Interactividad Alto Alto Mínimo Bajo
Uso de recursos del dispositivo Alto Alto Bajo Mediana
Requiere conectividad No No
Costo de compilación y mantenimiento Superior Alto Mínimo Minúsculas
Dónde se almacena la aplicación Dispositivo Dispositivo Servidor Dispositivo y servidor
Implementado a través de Marketplace Marketplace Explorador Marketplace
Requiere aprobación externa No

Software y plataformas de desarrollo de aplicaciones móviles

UUna vez que haya decidido qué tipo de aplicación móvil va a crear, o quizás cuando esté considerando qué tipo, querrá evaluar las plataformas de desarrollo de aplicaciones móviles. Estas son las plataformas que usará para crear, probar, depurar, gestionar y, en algunos casos, incluso implementar las aplicaciones móviles a lo largo de su ciclo de vida. La mayoría de los programas de desarrollo de aplicaciones incluyen herramientas de front-end para crear la interfaz, herramientas de back-end para gestionar los datos, herramientas API, herramientas de prueba y herramientas de colaboración y análisis de código.

La mayoría de las plataformas de aplicaciones móviles pretenden ofrecer todo lo que un desarrollador necesita para crear una aplicación móvil. Esto permite a los desarrolladores evitar problemas al pasar de una pieza de software de desarrollo móvil a otra, y lidiar con los problemas que surgen entre ellas, como la integridad del código, las incompatibilidades y la pérdida de datos. Las plataformas de desarrollo de aplicaciones móviles también reducen el coste, el tiempo, los recursos y la experiencia necesarios para que una organización cree una aplicación móvil. Aunque algunas organizaciones deciden crear sus propias plataformas, muchas más optan por una de las muchas alternativas de desarrollo de aplicaciones disponibles.

Las mejores alternativas de desarrollo de aplicaciones móviles para una organización varían en función de los tipos de aplicaciones móviles que pretenden crear, los idiomas en los que pueden codificar y los dispositivos a los que quieren dar servicio. Algunas alternativas de desarrollo de aplicaciones móviles son:

  • Herramientas multiplataforma como Xamarin que permiten a los desarrolladores compilar aplicaciones de iOS y Android con .NET y C#.
  • Visual Studio Tools para Xamarin usa un único código base compartido para aplicaciones móviles de Android, iOS y Windows.
  • Herramientas con poco código o sin código como Power Apps. La programación con poco código es una manera sencilla de crear aplicaciones de nivel profesional sin conocimientos técnicos. Más información.

Recursos de desarrollo de aplicaciones móviles

Explorar los documentos de Azure para desarrolladores de móviles

Busque la información que necesita para desarrollar aplicaciones móviles en Azure. Obtenga información sobre las notificaciones push, la autenticación, los análisis y los SDK.

Vea la documentación

Pruebe a crear una aplicación móvil ahora

Configure una canalización de integración y entrega continua para aplicaciones Android. Conéctese a cualquier repositorio de Git y tenga a su equipo en funcionamiento en cuestión de minutos.

Comenzar

Preguntas más frecuentes sobre el desarrollo de aplicaciones móviles

  • La definición de desarrollo de aplicaciones móviles puede ser amplia, ya que abarca todos los procesos de creación y lanzamiento de una aplicación móvil, o específica, ya que se refiere a la codificación y la implementación de la aplicación.

    Más información

  • Las fases del proceso de desarrollo de aplicaciones móviles son la estrategia, la planificación, el diseño, el desarrollo, las pruebas y el lanzamiento.

    Más información

  • A medida que decida qué tipo de aplicación móvil se va a compilar, es útil tener en cuenta quiénes serán los usuarios y qué necesitan de la aplicación.

    Más información

  • Las mejores alternativas de desarrollo de aplicaciones móviles para una organización varían en función de los tipos de aplicaciones móviles que pretenden crear, los idiomas en los que pueden codificar y los dispositivos a los que quieren dar servicio.

    Más información

  • Las organizaciones pasan entre tres y nueve meses (o más si es necesario) desarrollando aplicaciones móviles.

    Más información

¿Podemos ayudarle?