¿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 desarrollar 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 decidas qué tipo de aplicación móvil vas 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 los usuarios no tienen una buena conectividad. Si los usuarios son miembros de tu empresa u organización, es posible que desees considerar una estrategia móvil diferente. Y, por supuesto, todo se reduce a la experiencia que tengas disponible dentro de tu 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 ayudarte a considerar qué tipo debe desarrollar.
Comparación de tipos de aplicaciones móviles
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 | Sí | Sí | 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 | Sí | Sí |
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 | Sí | Sí | No | Sí |
Software y plataformas de desarrollo de aplicaciones móviles
Una 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 de desarrollo de aplicaciones que usará para desarrollar, 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.
Obtener documentación y recursos para desarrolladores móvilesPruebe 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.
Introducción a las aplicaciones de Android en la nubePreguntas 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.
-
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.
-
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.
-
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.
-
Las organizaciones pasan entre tres y nueve meses (o más si es necesario) desarrollando aplicaciones móviles.
-
Aunque pueden tardarse meses en desarrollar completamente una aplicación móvil, aquí tienes cinco sugerencias de Microsoft para empezar ahora mismo con el desarrollo de 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 que los roles aislados (como el desarrollo, las operaciones de TI, la ingeniería de calidad y la seguridad) coordinen y colaboren para producir aplicaciones móviles mejores y más confiables. DevOps ayuda a los equipos de desarrollo a responder más a las necesidades de los clientes, aumentar la confianza en las aplicaciones que desarrollen y lograr los objetivos empresariales del equipo más rápido.
-
Los desarrolladores suelen centrarse en las capacidades técnicas y los procesos de un proveedor de nube, como: facilidad de implementación, administración y actualización, si usa interfaces estándar y API, si tiene un sistema formal para la administración de eventos integrado con su sistema de supervisión y administración, si tiene procesos de administración de cambios bien documentados y si se admiten las capacidades híbridas.