Trace Id is missing
Saltar al contenido principal
persona que usa un teléfono móvil

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

Explora 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 (abarca todos los procesos implicados en la creación y lanzamiento de una aplicación móvil) o específica (se refiere a la codificación y la implementación de la aplicación). En este artículo se tratarán ambas definiciones de desarrollo de aplicaciones móviles y nos centraremos 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 software en sí.

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. Cuando hablamos de aplicaciones, nos referimos no sólo al software nativo de esos dispositivos, sino también a los sistemas operativos, plataformas y lenguajes comunes que admiten. Como se verá más adelante, hay muchas formas diferentes de enfocar el desarrollo de aplicaciones móviles y muchas decisiones que tomar.

Persona sentada en el sofá y con un mando de juegos con auriculares
Una mujer escribe en una pizarra blanca con rotulador

El proceso de desarrollo de aplicaciones móviles

El proceso de creación y lanzamiento de aplicaciones móviles suele entenderse en una serie de pasos o fases. Estas fases del proceso de desarrollo de aplicaciones móviles implican a muchas personas y disciplinas diferentes dentro de una organización, incluidos los negocios, el marketing, el diseño y la ingeniería. Las fases del proceso de desarrollo de aplicaciones móviles son:

  • Estrategia
  • Planificación
  • Diseño
  • Implementación
  • Pruebas
  • Lanzamiento

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

Las organizaciones dedican entre tres y nueve meses, o más si es necesario, al desarrollo de aplicaciones móviles. El alcance 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 con la comprensión de por qué una aplicación móvil podría ser una buena solución a un problema o un enfoque para una oportunidad, y luego decidir qué crear 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 adaptarían 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.

Planificación

En la fase de planificación, las organizaciones acuerdan cuatro detalles clave del proceso de desarrollo de la aplicación móvil: los equipos, las herramientas, las tecnologías y los plazos. En este momento, ya tiene una idea del tipo de aplicación móvil que necesita crear, quién la creará y qué plataforma o plataformas usará. Durante esta fase, las organizaciones establecerán un plan de desarrollo del producto, decidirán qué funciones se crearán, en qué orden y cuándo, fijarán hitos y diseñarán un plan de proyecto que les permita cumplir la fecha de lanzamiento prevista. Conocer los recursos y la experiencia disponibles, así como saber cómo implementar la tecnología elegida para el proceso, es vital para determinar esa fecha y lograr el lanzamiento.

Diseño

El aspecto, las características y las funciones de la aplicación móvil empiezan a tomar forma durante la fase de diseño. En esta fase del proceso de desarrollo de aplicaciones móviles, los equipos diseñará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 ofrecer una prueba de concepto o recabar la opinión de los clientes en una fase temprana. Los desarrolladores e ingenieros pueden ayudar a crear prototipos o asesorar sobre las decisiones de UX y UI en esta fase, manteniendo a los equipos al tanto de los requisitos y especificaciones técnicas de las plataformas que la organización ha decidido usar. De este modo, cuando las organizaciones pasen a las pantallas completas, habrán diseñado una aplicación que realmente se puede crear.

Implementación

En este contexto, la palabra desarrollo a veces se refiere al ciclo de vida completo del desarrollo de software que implica la creación y publicación de una aplicación móvil. Sin embargo, más comúnmente, desarrollo significa esta fase de desarrollo de software de aplicaciones móviles. Más adelante definiremos esta fase con más detalle. 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 de desarrollo de la aplicación y codifican la aplicación.

Pruebas

Las pruebas son una fase fundamental del proceso de desarrollo de aplicaciones móviles. Sin 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 del control de 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. Con frecuencia, las organizaciones someten la aplicación a pruebas de estrés para asegurarse de que la arquitectura de la aplicación puede adaptarse a una demanda repentina.

Lanzamiento

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

Una persona usando el móvil con el ordenador sobre la mesa

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 confundida con la pila técnica, que incluye el front-end, el back-end y las API, la arquitectura técnica son las reglas y patrones que rigen el desarrollo de la aplicación móvil.

Arquitectura técnica

La arquitectura técnica suele concebirse 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 aplicación que conforman la experiencia del usuario.

Capa de negocio

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

Capa de datos

La capa de datos sirve a los requisitos de la propia aplicación, proporcionando 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, o tech stack, también consta de las tres piezas mencionadas. Sin embargo, estas piezas representan opciones específicas utilizadas para construir y apoyar la aplicación en lugar de directrices para su creación.

Front-end

Al igual que la capa de presentación, las herramientas y 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 les son nativos.

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 sujetos a los dispositivos a la hora de elegir tecnologías de back-end móvil y a menudo pueden encontrar soluciones de back-end prefabricadas.

API

La aplicación se comunica entre el back-end y el front-end a través de la API, que también permite a la aplicación integrarse e interactuar 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 tienen que decidir qué tipo de aplicación móvil están creando.

Una persona consulta estadísticas en su tableta

Tipos de aplicaciones móviles

Cuando se trata de desarrollar aplicaciones para dispositivos móviles, las organizaciones pueden elegir entre varios tipos de aplicaciones móviles. 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 creará la aplicación.

Aplicaciones nativas

Las aplicaciones 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, usan los lenguajes y marcos que proporciona la plataforma y se despliegan a través de la tienda o marketplace específicos del sistema operativo. Las aplicaciones nativas suelen tener acceso completo a todas las funciones y hardware de los dispositivos en los que se ejecutan.

Chat multiplataforma

Los equipos pueden codificar una aplicación en los lenguajes y marcos de su elección y, a continuación, compilar el código para cada sistema operativo en el que se vaya a ejecutar la aplicación mediante 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 unir el código requiere más trabajo que desarrollar para una sola plataforma.

Aplicaciones web progresivas

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

Aplicaciones híbridas

Una mezcla entre aplicaciones nativas y aplicaciones web progresivas, las aplicaciones híbridas son esencialmente contenedores codificados nativamente 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 una única base de código. 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 crear

El tipo de aplicación móvil que una organización decide crear tiene importantes implicaciones sobre las herramientas, plataformas, marcos, 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.

A la hora de decidir qué tipo de aplicación móvil se va a crear, conviene tener en cuenta quiénes serán los usuarios y qué necesitan de la aplicación. Por ejemplo, si usan principalmente un tipo de dispositivo o sistema operativo, una aplicación nativa puede 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 los usuarios no tienen una buena conectividad. Si los usuarios son miembros de su empresa u organización, es posible que desee considerar una estrategia móvil diferente. Y, por supuesto, todo depende de la experiencia que tenga disponible dentro de su organización o a través de un asociado.

En este gráfico se describen las diferencias y similitudes entre los distintos tipos de aplicaciones móviles para ayudarle a decidir qué tipo de aplicación debe desarrollar.

Dos personas hablando en un pasillo

Comparación de tipos de aplicaciones móviles

Aplicaciones nativas Chat multiplataforma Aplicaciones web progresivas Aplicaciones híbridas
Número de códigos base Uno por plataforma Uno, pero compilado para cada plataforma Uno en total Uno para la aplicación, otro para el contenedor
Lenguajes y plataformas Solo nativo A elección del equipo Solo web Web y nativo
Acceso a SDK y API No Limitado
Rendimiento El más alto Alto Mínimo Bajo
Acceso al hardware del dispositivo Completo Mayoría Muy poco Algunos
Capacidad de respuesta al usuario Bien Bien Peor Insuficiente
Interactividad Alto Alto Mínimo Bajo
Uso de recursos del dispositivo Alto Alto Bajo Mediana
Requiere conectividad No No
Coste de creación y mantenimiento El más alto Alto Mínimo Minúsculas
Dónde se almacena la aplicación Dispositivo Dispositivo Servidor Dispositivo y servidor
Se implementa a través de Marketplace Marketplace Explorador Marketplace
Requiere aprobación externa No

Plataformas y software de desarrollo de aplicaciones móviles

Cuando haya decidido qué tipo de aplicación móvil va a crear, o tal vez cuando esté considerando qué tipo, querrá evaluar las plataformas de desarrollo de aplicaciones móviles. Estas son las plataformas de desarrollo de aplicaciones que usará para desarrollar, crear, probar, depurar, gestionar y, en algunos casos, incluso implementar aplicaciones móviles a lo largo de su ciclo de vida. La mayoría del software de desarrollo de aplicaciones incluye herramientas front-end para crear la interfaz, herramientas 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 moverse entre distintas piezas de software de desarrollo móvil 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 lenguajes que pueden utilizar y los dispositivos a los que quieren dar servicio. Algunas alternativas de desarrollo de aplicaciones móviles son:

  • Las herramientas multiplataforma como Xamarin permiten a los desarrolladores crear aplicaciones para Android e iOS utilizando .NET y C#.
  • Visual Studio Tools para Xamarin, que usa una única base de código compartida 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

Explore los documentos de Azure para desarrolladores móviles

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

Pruebe ahora a crear una aplicación móvil

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

Preguntas frecuentes sobre el desarrollo de aplicaciones móviles

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

    Obtener más información

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

    Obtener más información

  • A la hora de decidir qué tipo de aplicación móvil se va a crear, conviene tener en cuenta quiénes serán los usuarios y qué necesitan de la aplicación.

    Obtener 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 lenguajes que pueden utilizar y los dispositivos a los que quieren dar servicio.

    Obtener más información

  • Las organizaciones dedican entre tres y nueve meses, o más si es necesario, al desarrollo de aplicaciones móviles.

    Obtener más información

  • Aunque el desarrollo completo de una aplicación móvil puede llevar meses, aquí tienes cinco consejos de Microsoft para empezar ahora mismo con el desarrollo de aplicaciones móviles.

    Cinco consejos para crear aplicaciones móviles

  • DevOps combina la palabra "desarrollo" y la palabra "operaciones" y se define como la unión de personas, procesos y tecnología para proporcionar continuamente valor a los clientes. La cultura, las herramientas y las prácticas de DevOps pueden ayudar a funciones aisladas, tales como desarrollo, operaciones de TI, ingeniería de calidad y seguridad, a coordinarse y colaborar para producir aplicaciones móviles mejores y más fiables. DevOps ayuda a los equipos de desarrollo a responder mejor a las necesidades de los clientes, a aumentar la confianza en las aplicaciones que desarrollan y a alcanzar más rápidamente los objetivos empresariales del equipo.

    Obtenga más información sobre DevOps

  • Los desarrolladores se centran normalmente en las capacidades y procesos técnicos de un proveedor de nube, como: la facilidad de implantación, gestión y actualización, si usa interfaces y API estándar, si tiene un sistema formal de administración de eventos integrado con su sistema de supervisión/gestión, si tiene procesos de administración de cambios bien documentados y si admite capacidades híbridas.

    Más información sobre la elección de un proveedor de nube