Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ciclo - 4b - DesarrolloNativo - Sesion4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

Ciclo 4b:

Desarrollo de
aplicaciones móviles
Android y Swift
Contenido

• Historia Android
• Arquitectura y componentes Android
• Entorno de Desarrollo Android
• Lenguaje Swift
• Entorno de Desarrollo Swift
Historia
Definición

Android es un sistema operativo de


código abierto para dispositivos
móviles, se programa
principalmente en Java o Kotlin, y
su núcleo está basado en Linux.

Fuente: www.redeszone.net
Código abierto

Tanto el sistema operativo, como la


plataforma de desarrollo están
liberados bajo la licencia de Apache.
Esta licencia requiere la conservación
del aviso de derecho de autor y el
descargo de responsabilidad, pero no
es una licencia copyleft, ya que no
requiere la redistribución del código
fuente cuando se distribuyen Fuente: www.xatakandroid.com
versiones modificadas.
Co-fundadores

El principal responsable del desarrollo de Android es la Open


Handset Alliance, un consorcio de varias compañías que
tratan de definir y establecer una serie de estándares
abiertos para dispositivos móviles. Por lo tanto, Android no es
"de Google" como se suele decir, aunque Google es una de las
empresas con mayor participación en el proyecto.
Versatilidad

Hoy en día los dispositivos móviles


cuentan con hardware que recoge
información de nuestro entorno:
cámara, GPS, brújula y
acelerómetros. Además cuentan con
constante conexión a Internet, a
través de la cual diariamente circulan
nuestros datos más personales. Fuente: www.xatakandroid.com
Brechas de seguridad

Los teléfonos con Android se conectan con


nuestro ID de Google. Hay una
transmisión periódica de datos entre
Google y el terminal: correo electrónico,
calendario, el tiempo, actualizaciones del
Android Market, etc. En este sentido, el
usuario depende de Google.

Fuente: www.freepik.com
Arquitectura y
componentes
Arquitectura

Fuente: https://medium.com/@deepamgoel/understanding-android-architecture-1f0fb4b52f90
Componentes de una aplicación

Cada aplicación Android, se compone de:

● Código de ejecución escrito en Java o Kotlin.

● Manifiesto: define cómo está estructurada la


aplicación(nombre, componentes, versión, etc).

● Recursos de la aplicación: distintos recursos de la


aplicación; como imágenes interfaces de usuario,
sonidos, preferencias, etc. [1]
AndroidManifest

Las aplicaciones Android están


compuestas por un conjunto
heterogéneo de componentes
enlazados mediante un archivo
llamado AndroidManifest.xml que
los describe e indica cómo
interactúan. Este archivo también
contiene metainformación acerca
de la aplicación.
Componentes de una aplicación

● Actividades
● Servicios
● Proveedores de contenidos
● Receptores
● Widgets
● Notificaciones
Fuente: data-flair.training
Activities

Un Activity, es una pantalla que


podemos mostrar al usuario (como
JFrame en JavaSwing o un formulario
de HTML)

Fuente: blog.agencialanave.com/ /
Services

Son componentes que se ejecutan


en el background de la aplicación,
ya sea actualizando fuentes de
información, atendiendo a
diversos eventos, o activando la
visualización de notificaciones en
una actividad.

Fuente: www.casadomo.com/2011/05/11/android-home-framework /
Content Providers

Son componentes de Android que


proveen acceso a datos
estructurados de manera que
puedan definir mecanismos para
obtenerlos de forma segura y
poder compartir los mismos con
otras aplicaciones.

Fuente: www.w3big.com/es/android/android-content-providers.html
Broadcast Receivers

Son componentes que reciben


información a partir de
mensajes del sistema o de
otras aplicaciones

Fuente: data-flair.training
Widgets

Un widget es un pequeño dispositivo o control de su aplicación de


Android que se coloca en la pantalla de inicio. Los widgets pueden ser
muy útiles ya que te permiten poner tus aplicaciones favoritas en tu
pantalla de inicio para poder acceder a ellas rápidamente. Probablemente
haya visto algunos widgets comunes, como widget de música, widget de
clima, widget de reloj, etc.

Los widgets pueden ser de muchos tipos, como widgets de información,


widgets de colección, widgets de control y widgets híbridos. Android nos
proporciona un marco completo para desarrollar nuestros propios
widgets.
Notifications

Las notificaciones permiten


comunicarse con el usuario
sin necesidad de cambiar la
atención de la aplicación
activa actualmente.

Fuente: www.freepik.com
Entorno de desarrollo
Android Studio

Este entorno de desarrollo


basado en IntelliJ ha sido
desarrollado por Google y es el
que actualmente da soporte.
Instalación de Android Studio

La descarga del programa se realiza


en el siguiente link
https://developer.android.com/sdk/i
nstalling/studio.html

Una vez instalado, lo ejecutaremos


ya que necesitaremos las librerías de
las distintas versiones de Android e
incluso configurar un emulador para
probar nuestras aplicaciones.
Reconocimiento del entorno

Una vez ejecutado, tendremos


la siguiente ventana:

Finalmente podemos empezar


a interactuar con el entorno y
las plantillas disponibles
Swift
Lenguaje Swift

Swift es un lenguaje de programación


presentado en el año 2014 por Apple
con la intención de ser un lenguaje
seguro, rápido y conciso, que sea
usado para el desarrollo de
aplicaciones para los sistemas
operativos que corren en los
dispositivos de la marca de la
Fuente: www.softzone.es
manzana, es decir, iOS y MacOX.
Código abierto

Además, a diferencia de otros


lenguajes de programación, Swift es
de código abierto y está disponible
bajo la licencia libre de Apache 2.0, y
en su web podrás encontrar archivos
binarios para OS X y Linux para
compilar el código. Fuente: www.softzone.es
Arquitectura iOS

La arquitectura iOS está basada en capas,


donde las capas más altas contienen los
servicios y tecnologías más importantes
para el desarrollo de aplicaciones, y las
capas más bajas controlan los servicios
básicos.
Cocoa Touch

Esta capa contiene los


Frameworks necesarios para la
creación de aplicaciones iOS,
define la infraestructura de las
aplicaciones y brinda soporte para
tecnologías clave como la
multitarea, entrada de datos táctil,
notificaciones y otros servicios de
alto nivel del sistema. Fuente: www.softzone.es
Media Layer

La capa de medios permite la


ejecución de tareas multimedia, como
la visualización de gráficos,
reproducción de audio y video.

Fuente: uxmovement.com/mobile/
Core Services

Esta capa permite el acceso a


los servicios fundamentales
del sistema, tales como la
agenda, el acceso a la base de
datos, preferencias, conexión
a servidores, procesamiento
de URLs, etc.

Fuente: www.slideshare.net/TeriGrossheim/tools-frameworks-swift-for-ios-37099961/
Core

Se encarga de realizar la gestión de


memoria, el sistema de ficheros,
conexión a la red y procesos que
interactúan con el hardware. Las
interfaces de esta capa están en su
mayoría basadas en el lenguaje C [3].

Fuente: www.slideshare.net/TeriGrossheim/tools-frameworks-swift-for-ios-37099961/
Entornos de
desarrollo
iOS SDK

El SDK de iOS contiene todas las herramientas


necesarias para diseñar y crear el software para iOS.
Está disponible gratuitamente para los
desarrolladores. Sin embargo, para acceder a la
descarga del SDK es necesario registrarse como
desarrollador Apple a través de un equipo con sistema
operativo OS.
IDE XCode

Es el entorno de desarrollo
integrado (IDE) que gestiona los
proyectos de las aplicaciones,
permitiendo editar, compilar, correr
y depurar el código. XCode es la
aplicación principal que se utiliza
para el desarrollo.
IDE web replit.com/

Replit es una plataforma web, que


permitirá al usuario programar en
una cantidad amplia de lenguajes
desde el navegador.

Este será uno de los entornos


propuestos para las actividades de
curso.
Manos a la obra

Una vez creada la cuenta en


el sitio web, usted podrá
navegar por la interfaz del
aplicativo. Recuerde que en
este sitio se puede programar
para Swift, Java y Kotlin.
Referencias
[1] D. V. Gil, “Introducción a Android,” 2017.

[2] G. S. S. L, “Aprendiendo Swift El nuevo lenguaje para iOS y OS X,” 2015.

[3] H. C. Á. CRUZ and J. C. C. DÍAZ, “Guía para la realización de aplicaciones


móviles en los sistemas operativos android e ios,”, 2016.

Webgrafía

• http://www.jtech.ua.es/

También podría gustarte