Download Arquitectura de Aplicaciones

Document related concepts
no text concepts found
Transcript
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Introducción.
Herramientas del
curso de Experto.
© 2012-2013 Depto. Ciencia de la Computación e IA Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Puntos a tratar
• Introducción
• Historia de los dispositivos móviles
• Aplicaciones vs web
• Herramientas
•
•
•
•
•
•
Apuntes JTech
Eclipse
Android SDK
Xcode
Git
Moodle
Sesión de presentación
© 2012-2013 Depto. Ciencia de la Computación e IA
2
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Historia de los smartphones
• Primeros smartphones en los 90
• Nokia communicator en 1996
• Primer smartphone con
sistema operativo abierto en 2000:
• Ericsson R380 con Symbian OS
• Smartphone actuales:
•
•
•
•
•
•
Pantalla táctil
Opcionalmente teclado físico
Sistema operativo con Market para aplicaciones
Sensores (GPS, equilibrio)
Cámaras y videoconferencia
Capacidad de almacenamiento y conectividad
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
3
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Procesador
• Samsung Exynos 5 Dual
• Arquitectura ARM (en el 98% de los smartphones)
• Tipo RISC: reduced instruction set computer
• Instrucciones ARMv7
• Plataforma “system on chip” que incluye:
•
•
•
•
•
•
•
Sesión
de presentación
Hasta dos CPU's de 2.5 Ghz, VFPf4 floating point unit
GPU (quad core)
HSPA+
GPS
Bluetooth
Wi-Fi
TV móvil
© 2012-2013 Depto. Ciencia
de la Computación e IA
4
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Procesador
• Apple A6
• ARM Cortex-A15
• Instrucciones ARMv7
• Todos los componentes del
“system on chip” (SoC)
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
5
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Dispositivos
b
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
6
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Conectividad
 Los dispositivos deben conectarse para descargar las
aplicaciones
 Over The Air (OTA)
• Conexión a Internet usando la red móvil (GSM, GPRS, UMTS)
 Cable serie o USB
• Conexión física
 Infrarrojos
• Los dispositivos deben tener contacto visual
 Bluetooth
• Ondas de radio (10 metros de alcance)
• Alta velocidad (723kbit/s)
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
7
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Redes de telefonía celular
 1G: Red analógica
 Sólo voz
 Red TACS en España
 Distintos países usan distintas redes
• No permite itinerancia
 2G: Red digital
 Voz y datos
 GSM (Global System for Mobile communications) en toda Europa
• Permite itinerancia
 Red no IP
• Protocolos WAP (WSP)
• Un gateway conecta la red móvil (WSP) a la red Internet (TCP/IP)
 Conmutación de circuitos (Circuit Switched Data, CSD)
• 9’6kbps
• Se ocupa un canal de comunicación de forma permanente
• Se cobra por tiempo de conexión
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
8
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Redes de telefonía celular (2)
 2,5G: GPRS (General Packet Radio Service)
 Transmisión de paquetes
• No ocupa un canal de forma permanente
• Hasta 144kbps teóricamente (40kbps en la práctica)
• Cobra por volumen de información transmitida
 Se implementa sobre la misma red GSM
 3G: Banda ancha
 Red UMTS (Universal Mobile Telephony System)
• Itinerancia global
 Entre 384kbps y 2Mbps
 Servicios multimedia
• Videoconferencia, TV, música, etc
 Transmisión de paquetes
 Requiere nueva infraestructura
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
9
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Redes de telefonía celular (3)
 3.5G: HSDPA (High-Speed Downlink Packet Access)
– mejora del scheduling de UTMS R99 y añade un nuevo
canal downlink
– Acceso a Internet con mayor ancho de banda y menor
latencia: hasta 14Mbps
– Variante HSPA+ hasta 84Mbps bajada y 22Mbps subida.
– Terminales con HSDPA son compatibles con UTMS
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
10
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Redes de telefonía celular (4)
 4G LTE (Long term evolution)
– Nuevo estándar de la norma 3GPP UMTS
– Hasta 326,5Mbps de bajada y 86,5Mbps subida
– Ancho de banda adaptativo entre 1.4 y 20 MHz
– Celdas de 5Km óptimo, hasta 100Km
– Alto rendimiento en movimiento hasta 15 Km/h. Conexión posible
hasta 500Km/h
 4G Basada completamente en protocolo IP
• Abandonaría el acceso radio de UMTS, controlándolo por
software
• Implantada en Japón desde diciembre de 2011
• 5G: No está definido. Ideas: ubiquituous computing, conectado a la
vez a diferentes fuentes de datos, smart-radio, servicio desde
vehículos aéreos
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
11
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Paradigmas de programación en móviles
 Documentos Web





Descarga documentos y los muestra en un navegador
Formato adecuado para móviles (WML, XHTML, ...)
Requiere conectar a red para descargar cada documento
Velocidad de descarga lenta
Documentos pobres (deben servir para todos los móviles)
 Aplicaciones locales




La aplicación se descarga en el móvil
Se ejecuta de forma local
Interfaz de usuario más flexible
Puede funcionar sin conexión (minimiza el tráfico)
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
12
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Documentos Web
 WML (Wireless Markup Language)




Forma parte de los protocolos WAP (Capa de aplicación, WAE)
Lenguaje de marcado dirigido a móviles
Requiere aprender un nuevo lenguaje diferente a HTML
Documentos muy pobres
 iMode
 Documentos escritos en cHTML (HTML compacto)
• Subconjunto de HTML
• Propietario de NTT DoCoMo
 Sobre la red japonesa PDC-P (extensión de la red japonesa PDC,
similar a GSM, para transmisión de paquetes)
• En Europa se lanza sobre GPRS
 XHTML MP
 Versión reducida de XHTML dirigido a móviles
 A diferencia de cHTML, se desarrolla como estándar
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
13
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Aplicaciones locales
 Sistema operativo
 Symbian OS, Palm OS, Windows Pocket PC, Windows Mobile,
Android, iOS, etc
 Poco portable
 Requiere aprender nuevas APIs
 Runtime Environments
 BREW
• Soportado por pocos dispositivos
• Requiere aprender una nueva API
 Java ME (J2ME)
• Soportado por gran cantidad de dispositivos
• Existe una gran comunidad de desarrolladores Java
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
14
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
¿Sistema operativo o entorno de
ejecución?
• Los SO aprovechan mejor el dispositivo y ofrecen mejor
acceso al hardware y periféricos
• Los smartphones usan SO
• Los SO más extendidos entre los smartphones son iOS y
Android
• El usuario es libre de usar cualquiera de ellos
• El desarrollador se ve obligado a desarrollar para ambas
plataformas (y otras) para llegar a todos
• Plataforma de ejecución
• no dependemos del sistema operativo
• hay más de 2 mil millones de dispositivos con JavaME
• no está soportada ni en iPhone ni en Android (aunque existe)
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
15
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Sistemas operativos
•
•
•
•
•
•
•
•
•
•
•
•
Android (open source)
BlackBerry OS de RIM (propietario)
iOS de Apple (propietario)
Symbian OS (open source)
Windows Phone (propietario)
webOS de HP (algunas partes abiertas)
QNX de RIM (propietario)
SHR (basado en linux)
bada de Samsung (propietario)
Brew de Qualcomm
Windows Mobile (propietario)
Palm OS (propietario)
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
16
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Sistemas operativos en el mercado
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
17
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Sistemas operativos en el mercado
• Estadísticas de uso según Gartner
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
18
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Sistemas operativos en el mercado
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
19
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Herramientas del curso
•
•
•
•
Ordenadores Mac
Plataformas de desarrollo instaladas localmente
Servicios para el curso instalados en Jtech
Repositorios en Bitbucket
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
20
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Herramientas del curso
• Login de las máquinas Mac: alumno
•
•
•
•
Sin permisos de administración
Todo lo necesario está instalado
El disco duro se borra con cada arranque
Puede hacer falta reconfigurar las herramientas cada vez
• Login de JTech
• Independiente de vuestro login de moodle y de la UA
• Acceso a los materiales del curso
• http://www.jtech.ua.es/
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
21
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Apuntes JTech
• Por cada módulo del curso:
•
•
•
•
•
•
Libro en pdf y en papel (apuntes + ejercicios)
Apuntes en html
Transparencias en pdf
Ejercicios en html
Plantillas para los ejercicios
Soluciones de los ejercicios (tras la entrega).
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
22
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Apuntes JTech
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
23
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Moodle
• http://moodle.jtech.ua.es/
Foro del curso
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
24
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Moodle
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
25
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Moodle
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
26
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Entregas
• A través del repositorio
• Etiquetar el repositorio con el nombre del módulo
correspondiente, antes de pasar la fecha límite
• Dar permisos al profesor correspondiente
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
27
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Foro del curso
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
28
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Eclipse
• Lo utilizaremos como IDE para desarrollar en
• Android (con plugin)
• Html y otros, como editor de texto
• Subiremos los proyectos al repositorio con el plugin Egit
o por línea de comandos
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
29
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Repositorios en Bitbucket
• Los ordenadores del aula pierden la información guardada
al iniciarse.
• Usaremos un sistema de control de versiones y lo
subiremos a Bitbucket
• Las plantillas de los ejercicios estarán
accesibles desde el repositorio
• Los ejercicios se entregarán subiéndolos
al repositorio
• Las soluciones se publicarán en el
repositorio
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
30
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Repositorios clásicos
• Sistema de control de versiones mantenido en el servidor
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
31
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Git
• Sistema de control de versiones distribuido
• Control de cambios tanto en cliente como en servidor
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
32
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Android SDK
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
33
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Eclipse y plugin para Android
• El plugin de eclipse debe configurarse con las rutas de los
respectivos kits de desarrollo
• Emulador: hay que crear los emuladores con las
características deseadas
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
34
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
XCode
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
35
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
XCode
Sesión
de presentación
© 2012-2013 Depto. Ciencia
de la Computación e IA
36
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
¿Preguntas...?
Sesión de presentación
© 2012-2013 Depto. Ciencia de la Computación e IA
37