You are on page 1of 54

PROGRAMACIÓN

APLICACIONES MÓVILES
CICLO VII
DOCENTE: MG. SULEIKA E. UGAZ BRACO
CORREO: sugaz@ucv.edu.pe
Introducción a las
Aplicaciones Móviles
¿App,
Qué son?
Las aplicaciones nacen ante una necesidad concreta de los usuarios,
con la finalidad de facilitar o permitir la ejecución de ciertas tareas
en las que un analista o un programador ha detectado una cierta
problemática. Pero las aplicaciones también pueden responder a
necesidades lúdicas, además de laborales. Se suele decir que para
cada problema hay una solución, y en informática, para cada
problema hay una aplicación.
¿Smartphone,
Qué son?
Considerado como un tipo de teléfono móvil, el cual es construido sobre
una plataforma informática móvil, con mayor capacidad de almacenar
datos y realizar actividades, semejante a la de una minicomputadora, y
con una mayor conectividad que un teléfono móvil convencional.
Se suele emplear el término inteligente para fines comerciales, y hace
referencia a la capacidad de usarse como un computador de bolsillo, y
llega incluso a reemplazar a una computadora personal en algunos
casos.
¿Sistemas
Operativos Móviles?
Un sistema operativo móvil se podría decir que es un conjunto de
programas de bajo nivel que permite la abstracción de las propiedades
del hardware específico del teléfono móvil y provee servicios a las
aplicaciones móviles, que se ejecutan sobre él.

Al igual que los PCs que utilizan Windows o Linux, los dispositivos
móviles tienen sus sistemas operativos como Android, iOS, Windows
Phone, etc.
Estructura de los sistemas operativos móviles
Kernel
Es la capa de software que permite el acceso a los diferentes elementos de hardware que conforman
nuestro móvil.

También es el encargado de brindar diferentes servicios a las capas superiores como los controladores
de hardware, gestión de procesos, sistemas de archivos, además del acceso y administración de la
memoria del sistema.

Los sistema operativos para móviles pueden basarse en núcleos Linux, tal como lo hace Android, o
hasta inclusive IOS, el SO del iPhone que utiliza un kernel heredado de Unix.

También en una gran cuota del mercado se encuentra presente Windows Mobile y RIM que utilizan
kernels propios.

En el caso de Android y el de RIM, ambos sistemas operativos presentan la particularidad de contar


con un motor java en el desarrollo de sus núcleos.
Middleware
Es el conjunto de módulos que permiten que las aplicaciones diseñadas y escritas para tales
plataformas puedan ser ejecutadas.

Su funcionamiento es totalmente trasparente para el usuario, no debiendo realizar ninguna acción


ni configurar alguna para su correcto desenvolvimiento.

El Middleware brinda la posibilidad de ejecutar servicios muy importantes para que otras
aplicaciones, en capas superiores de la jerarquía, puedan ejecutarse.

Estos servicios, como mencionamos son vitales para el normal funcionamiento de la estructura
del sistema operativo de nuestro móvil.

Entre los servicios que presta esta capa podemos citar a los servicios claves como el motor de
mensajera y comunicaciones, códecs multimedia, intérpretes de páginas Web y servicios WAP,
además de soporte para una gran variedad de servicios concernientes al apartado multimedia que
es capaz de ejecutar el móvil.
Entorno de ejecución de aplicaciones
Esta capa provee de todos los elementos necesarios para la creación y
desarrollo de software a los programadores, es decir contiene elementos que
serán de gran ayuda a los mismos, en el momento de escribir aplicaciones
compatibles con ese sistema operativo.
Entre los servicios que los programadores pueden encontrar, se destacan un
gestor de aplicaciones y una serie de interfaces programables (APIs) o
"Application Programming Interface" abiertas.
Interfaz de usuario
La interfaz de usuario es el elemento del teléfono que usualmente utilizamos para interactuar con el
aparato. Sin esta capa no sería posible utilizar nuestro dispositivo, ya que la misma presenta todos los
elementos necesarios para facilitar cualquier tipo de tarea que deseemos realizar en nuestra terminal.

Además incluye todos los elementos gráficos que harán posible el uso cómodo y sencillo del móvil:
botones, menús, pantallas y listas, entre otros.

Por otra parte, también coexisten en el teléfono una serie de aplicaciones que son nativas del móvil, y
que se encargan de tareas tales como menús, marcador de números de teléfono y demás.

Una de las particularidades más importantes incorporadas a la interfaz gráfica de usuario en los últimos
años ha sido, sin lugar a dudas, la posibilidad de utilizar todas las funciones del teléfono mediante el uso
de los dedos de la mano, desplazando a los botones a un segundo plano en cuanto al manejo de
opciones y funciones en el móvil.
https://www.netmarketshare.com/operating-system-market-
share.aspx?qprid=10&qpcustomd=1
Según el servicio de estadísticas NetMarketShare, la cuota de mercado de
sistemas operativos móviles a principios de 2017 es el siguiente:

Android 69,43 % (en países como España las diferencias son


más significativas, donde Android tiene el mayor porcentaje
de la cuota de mercado)
iOS 29,09 %
Windows Phone OS 0.25%
http://www.androidestudio.com/2016/08/android-gana-la-guerra-de-sistemas-operativos-moviles.html
Sistemas
Operativos Móviles más usados.
iOS (Última versión estable iOS 11.2.6)
iOS (anteriormente denominado iPhone OS) es propiedad de Apple Inc. Tiene la
segunda mayor base de smartphones instalada en todo el mundo después de Android.
Actualmente es el segundo sistema operativo móvil más utilizado del mundo, detrás de
Android, con una cuota de mercado de entre 10-15% al año 2017.
La última versión del sistema operativo es el iOS 11, aparecida en el mes de septiembre
del 2017, disponible en dispositivos con procesadores 64-bits (desde el IPhone 5S ).
Por otro lado, como también suele ser habitual en los productos de la empresa, no se
licencia a terceros por lo que tan solo los iPhone disponen de este sistema operativo.
Windows Phone (8.1 Update 2)
Windows 10 Mobile (anteriormente llamado Windows Phone) es de Microsoft, diseñado para
teléfonos inteligentes y tabletas.
Es de código cerrado y propietario y utiliza como núcleo Windows NT (*).
A principios de 2015, Microsoft anunció que la marca Windows Phone sería reemplazada
por Windows 10 Mobile con el objetivo de lograr una mayor integración y unificación con su
homólogo para PCs Windows 10, y proporcionar una plataforma para smartphones y tablets con
tamaños de pantalla de 8 pulgadas.
Android Inc. (Última versión 9.0)
Es la empresa que creó el sistema operativo móvil. Se fundó en 2003 y fue
adquirida por Google Inc. en el año 2005 y en 2007 fue lanzado al mercado.
Originalmente era un sistema pensado para las cámaras digitales profesionales pero
fue modificado por Google para ser utilizado en dispositivos móviles como los
teléfonos inteligentes y tablets.
Cuenta con el mayor número de instalaciones de smartphones en todo el
mundo y está basado en el núcleo Linux . Las aplicaciones para Android se
escriben y desarrollan en Java aunque con unas APIs propias.
En 2007 Google fundó la Open Handset Alliance formada por un grupo de 78 compañías de
hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para
dispositivos móviles. Juntos desarrollaron Android, la primera plataforma móvil completa, abierta
y libre.
Algunos de sus miembros son Google, HTC, Dell, Intel, Motorola, Qualcomm, Texas Instruments,
Samsung, LG, T-Mobile, Nvidia y Wind River Systems.

Aunque el sistema operativo Android es software libre y de código abierto, en los dispositivos
vendidos, gran parte del software incluido es software propietario y de código cerrado.
Versiones de
Android
El proceso de diseño y desarrollo de una app
El proceso de diseño y desarrollo de una aplicación, abarca
desde la concepción de la idea hasta el análisis posterior a su
publicación en las tiendas. Durante las diferentes etapas,
diseñadores y desarrolladores trabajan —la mayor parte del
tiempo— de manera simultánea y coordinada.
CONCEPTUALIZACIÓN
El resultado de esta etapa es una idea de aplicación, que tiene en cuenta
las necesidades y problemas de los usuarios. La idea responde a una
investigación preliminar y a la posterior comprobación de la viabilidad
del concepto.
•Ideación
•Investigación
•Formalización de la idea
DEFINICIÓN
En este paso del proceso se describe con detalle a los usuarios para quienes
se diseñará la aplicación, usando metodologías como «Personas» y «Viaje del
usuario». También aquí se sientan las bases de la funcionalidad, lo cual
determinará el alcance del proyecto y la complejidad de diseño y
programación de la app.
•Definición de usuarios
•Definición funcional
DISEÑO
En la etapa de diseño se llevan a un plano tangible los conceptos y definiciones
anteriores, primero en forma de wireframes, que permiten crear los primeros
prototipos para ser probados con usuarios, y posteriormente, en un diseño visual
acabado que será provisto al desarrollador, en forma de archivos separados y
pantallas modelo, para la programación del código.
•Wireframes
•Prototipos
•Test con usuarios
•Diseño visual
PUBLICACIÓN
La aplicación es finalmente puesta a disposición de los usuarios en las
tiendas. Luego de este paso trascendental se realiza un seguimiento a
través de analíticas, estadísticas y comentarios de usuarios, para evaluar el
comportamiento y desempeño de la app, corregir errores, realizar mejoras
y actualizarla en futuras versiones.
•Lanzamiento
•Seguimiento
•Actualización
APLICACIONES NATIVAS
Son aquellas que han sido desarrolladas con el software que ofrece cada sistema
operativo a los programadores, llamado genéricamente Software Development Kit o
SDK. Así, Android, iOS y Windows Phone tienen uno diferente y las aplicaciones
nativas se diseñan y programan específicamente para cada plataforma, en el
lenguaje utilizado por el SDK.
Este tipo de apps se descarga e instala desde las tiendas de aplicaciones —con
ciertas excepciones en el caso de Android, que veremos en el capítulo «Lanzando
la app»— sacando buen partido de las diferentes herramientas de promoción y
marketing de cada una de ellas.
APLICACIONES WEB
La base de programación de las aplicaciones web —también llamadas webapps— es el
HTML, conjuntamente con JavaScript y CSS, herramientas ya conocidas para los
programadores web.
En este caso no se emplea un SDK, lo cual permite programar de forma
independiente al sistema operativo en el cual se usará la aplicación. Por eso, estas
aplicaciones pueden ser fácilmente utilizadas en diferentes plataformas sin mayores
inconvenientes y sin necesidad de desarrollar un código diferente para cada caso
particular.
APLICACIONES HÍBRIDAS
Este tipo de aplicaciones es una especie de combinación entre las dos anteriores. La
forma de desarrollarlas es parecida a la de una aplicación web —usando HTML, CSS y
JavaScript—, y una vez que la aplicación está terminada, se compila o empaqueta de
forma tal, que el resultado final es como si se tratara de una aplicación nativa.
Esto permite con un mismo código obtener diferentes aplicaciones, por ejemplo, para
Android y iOS, y distribuirlas en cada una de sus tiendas.
A diferencia de las aplicaciones web, estas permiten acceder, usando librerías, a las
capacidades del teléfono, tal como lo haría una app nativa.
IDE
SDK (Software Development Kit)
Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en
inglés Integrated Development Environment Consiste de un editor de código
fuente, herramientas de construcción automáticas y un depurador. La mayoría
de los IDE tienen auto-completado inteligente de código (IntelliSense).
Algunos IDE contienen un compilador, un intérprete, o ambos.

Uno de los propósitos de los IDE es reducir la configuración necesaria para


reconstruir múltiples utilidades de desarrollo, en vez de proveer el mismo set
de servicios como una unidad cohesiva.
Android SDK
Un kit de desarrollo de software o SDK (siglas en inglés de
software development kit) es generalmente un conjunto de
herramientas de desarrollo de software que le permite al
programador o desarrollador de software crear aplicaciones
para un sistema concreto, por ejemplo ciertos paquetes de
software, frameworks, plataformas de hardware,
computadoras, videoconsolas, sistemas operativos, etc.
Tendencias del Diseño de Aplicaciones.
https://ionicframework.com/
https://nodejs.org/es/
https://cordova.apache.org/
https://code.visualstudio.com/
Instalando Cordova y Ionic
$ npm install -g cordova
npm install –g cordova ionic
Generamos una carpeta contenedora : MiprimeraAplicacion
Ionic start myApp tabs (iniciamos aplicación)
Ionic serve (para visualizar la aplicación)

You might also like