Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prog. Móvil
Segundo Cuatrimestre
UCSE - 2022
Aplicaciones móviles, un mercado en auge
A día de hoy, ¿quién no tiene un smartphone? el mercado de las aplicaciones
móviles está en auge y no para de crecer año tras año.
Las grandes empresas e instituciones cada vez apuestan más por este mercado
de apps, debido a su infinidad de posibilidades, ofreciendo a los usuarios sus
propias.
Algunas son informativas, otras sirven para descargar cupones de descuento y
otras, en cambio, funcionan como juegos de entretenimiento y ocio.
Por ello, cada día más empresas encuentran oportunidades en el mercado de las
apps, para intentar aprovechar todas las oportunidades que brinda este reciente
mercado en constante desarrollo.
Sistemas Operativos Móviles
Representa la lógica que tiene el dispositivo móvil tal como se presenta en una
computadora, es decir, permite gestionar de manera adecuada los recursos de
hardware del dispositivo móvil. Por otro lado, también provee capacidades de
servicios a los programas de aplicación para que estos pueda ejecutarse.
Sistemas Operativos Móviles
Características:
● Gestionar y administrar un entorno de trabajo adecuado para el usuario.
● Administrar de forma adecuada los componentes de hardware.
● Administrar la distribución y asignación de recursos frente a solicitudes realizadas por las
aplicaciones.
● Administrar la correcta ejecución de una aplicación en cualquier dispositivo.
● Administrar la sincronización de los dispositivos móviles con otros dispositivos.
Sistemas Operativos Móviles
Principales sistemas operativos existentes:
● iOS: es un sistema operativo cerrado que solamente funciona en dispositivos iPhone, iPad y iPod de la
empresa Apple. Es cerrado también porque no permite la modificación de las características originales
que presenta el sistema.
● Android: es un sistema operativo de código abierto, el que abarca la mayor porción del mercado
mundial de dispositivos móviles frente a sus competidores. Está disponible para cualquier dispositivo
móvil de cualquier marca o fabricante.
● Windows Phone (SO de Microsoft que surgió para ser utilizado en algunos dispositivos móviles), Tizen
(SO de Samsung utilizado en relojes inteligentes), WebOS (SO de LG utilizado en los Smart TV del
mismo fabricante), entre otros.
Sistemas Operativos Móviles
Componentes:
• Aplicaciones
• Estructura de Aplicaciones
• Bibliotecas
• Núcleo de Kernel
Tipos de Aplicaciones
Existe una aplicación para cada SO móvil y existen varios tipos de aplicaciones de acuerdo a su desarrollo:
● Aplicaciones Nativas: apps desarrolladas en su mismo software, creadas exclusivamente para una plataforma de SO en
particular. Ejemplo: una app creada en Java o en Kotlin es exclusiva para Android.
● Aplicaciones Web: apps que se ejecutan en el navegador del dispositivo, son desarrolladas utilizando tecnologías web
como HTML, CSS3 y Javascript; por ello son independientes del sistema operativo en el que se ejecutan haciéndolas más
portables. Ejemplo: apps del tipo progressive web app.
● Aplicaciones Híbridas: apps que combinan las tecnologías nativas con las webapps, utilizan las tecnologías web, se
ejecutan en un contenedor nativo y emplean un marco de trabajo o framework específico para el desarrollo como
PhoneGap, Apache Cordova, Ionic, etc. Son independientes del sistema operativo en el que se ejecutan. Ejemplo: app
desarrollada en PhoneGap.
Aplicaciones Nativas
Ventajas
● Control absoluto de los recursos de hardware y software.
● Tienen mejor desempeño y muy alto rendimiento en los dispositivos que se ejecutan.
● Se pueden publicar en la tienda de aplicaciones del sistema operativo.
● No necesariamente requieren de conexión a Internet para ejecutarse.
● Son más estables y pesan menos.
Desventajas
● Alto costo de desarrollo en cuanto a tiempo y esfuerzo.
● Solamente se ejecutan en un SO determinado, no son portables.
Aplicaciones Web o Webapps
Ventajas
● Pueden ejecutarse en cualquier dispositivo móvil que cuente con navegador web.
● El costo de desarrollo es variable comparador con las aplicaciones nativas.
● No requiere de la instalación de una app para el manejo de webapps.
Desventajas
● Casi siempre requiere de una conexión a Internet para su todo su funcionamiento.
● No son distribuibles mediante las tiendas de aplicaciones.
● No pueden utilizar muchos de los recursos del dispositivo móvil ni del SO.
Aplicaciones Híbridas
Ventajas
● Se desarrollan de manera independiente del SO.
● Son distribuibles a través de las diferentes tiendas de aplicaciones ya que son multiplataforma.
● Tienen acceso a los recursos de hardware y software del dispositivo móvil.
Desventajas
● El usuario cree o percibe estar usando una aplicación web y no una nativa.
● No se cuenta con documentación suficiente de los frameworks ni de una comunidad de desarrolladores
muy grande como para realizar un desarrollo complejo.
● El rendimiento es inferior al de una app nativa, tiene limitaciones.
Características de Android
https://andro4all.com/guias/android/versiones-android-historia
¿Qué es Android?
Núcleo Linux
● Esta capa proporciona servicios como la seguridad, el manejo de memoria, el multiproceso, la pila de
● Esta capa actúa como capa de abstracción entre el hardware y el resto de los componentes de la
arquitectura.
Runtime de Android
● Utiliza una máquina virtual llamada ART que fue construida como alternativa a Dalvik (Java) para
● Utiliza ficheros ejecutables con extensión .dex optimizados para ahorrar memoria.
● Cada aplicación ejecuta su propio proceso Linux con su propia instancia de la máquina virtual.
Arquitectura Android
Librerías nativas
● Estas librerías permiten reproducción de video, manejo de gráficos 2D/3D, navegador web,
Entorno de aplicación
● Proporciona una plataforma de desarrollo libre para aplicaciones con grandes posibilidades
como uso de sensores, localización, servicios, notificaciones, etc.
● Permite reutilizar componentes.
● Las apps pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a
restricción de seguridad).
● Permite el manejo de vistas, acceso a recursos, manejo del ciclo de vida de las
aplicaciones, manejo de alertas, acceso a datos de otras apps, etc.
Arquitectura Android
Aplicaciones
○ SDK Manager: para la instalación y gestión de paquetes para programación según la versión del
○ AVD: para la gestión de las máquinas virtuales que emulan dispositivos Android. Esto permite,
mediante un emulador, probar una aplicación como si se ejecutara en un dispositivo físico (real).
Proceso de desarrollo de una app
El proceso de diseño y desarrollo de una app implica una serie de pasos que se siguen
teniendo conocimientos en programación Java/Kotlin y orientación a objetos.
● Análisis
● Formalización del proyecto
● Maquetado
● Codificación
● Publicación
Proceso de desarrollo de una app
Análisis
● Esta etapa implica el entendimiento del problema, estudio del dominio del problema, el
● Se definen los requerimientos de software tanto funcionales (qué debe hacer) como no
Maquetado
● Sirve para dar una idea clara al desarrollador sobre cómo implementará dicha aplicación.
Codificación
● Es llevar a cabo la programación o desarrollo propiamente dicho de la aplicación.
● Es la construcción de la misma utilizando un lenguaje de programación y un IDE.
● El desarrollo debe basarse en los requerimientos definidos en la formalización del
proyecto para que la aplicación cumpla con la funcionalidad especificada en los pasos
anteriores del proceso.
Proceso de desarrollo de una app
Publicación
● Implica subir o publicar la aplicación terminada en la tienda de aplicaciones del SO.
● La tienda de aplicaciones se conoce como Android Play Store.
● Todo desarrollador, para poder subir una aplicación, debe pagar por única vez una
membresía de 25 dólares; luego de eso podrá subir todas las aplicaciones que quiera.
● Toda publicación implica definir un nombre para la app, una clasificación de edad,
categoría, aceptación de términos, condiciones y otras regulaciones, capturas de pantalla,
y completar una ficha con información detallada tanto de la app como del programador.